Pull overflow updates from Kees Cook:
 "This adds the new overflow checking helpers and adds them to the
  2-factor argument allocators. And this adds the saturating size
  helpers and does a treewide replacement for the struct_size() usage.
  Additionally this adds the overflow testing modules to make sure
  everything works.
  I'm still working on the treewide replacements for allocators with
  "simple" multiplied arguments:
     *alloc(a * b, ...) -> *alloc_array(a, b, ...)
  and
     *zalloc(a * b, ...) -> *calloc(a, b, ...)
  as well as the more complex cases, but that's separable from this
  portion of the series. I expect to have the rest sent before -rc1
  closes; there are a lot of messy cases to clean up.
  Summary:
   - Introduce arithmetic overflow test helper functions (Rasmus)
   - Use overflow helpers in 2-factor allocators (Kees, Rasmus)
   - Introduce overflow test module (Rasmus, Kees)
   - Introduce saturating size helper functions (Matthew, Kees)
   - Treewide use of struct_size() for allocators (Kees)"
* tag 'overflow-v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  treewide: Use struct_size() for devm_kmalloc() and friends
  treewide: Use struct_size() for vmalloc()-family
  treewide: Use struct_size() for kmalloc()-family
  device: Use overflow helpers for devm_kmalloc()
  mm: Use overflow helpers in kvmalloc()
  mm: Use overflow helpers in kmalloc_array*()
  test_overflow: Add memory allocation overflow tests
  overflow.h: Add allocation size calculation helpers
  test_overflow: Report test failures
  test_overflow: macrofy some more, do more tests for free
  lib: add runtime test of check_*_overflow functions
  compiler.h: enable builtin overflow checkers and add fallback code
17 files changed: