]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
overflow.h: Add allocation size calculation helpers
authorKees Cook <keescook@chromium.org>
Mon, 7 May 2018 23:47:02 +0000 (16:47 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Apr 2021 10:05:47 +0000 (12:05 +0200)
commit5a6d3197d0cc0cd8751726ca3332e97af3bf334e
treeddd8009cbeaf0053bedb44e91b854f47a6161bb3
parentf517d00b37d1d0840c7cb91500210f3eade982e6
overflow.h: Add allocation size calculation helpers

commit 610b15c50e86eb1e4b77274fabcaea29ac72d6a8 upstream.

In preparation for replacing unchecked overflows for memory allocations,
this creates helpers for the 3 most common calculations:

array_size(a, b): 2-dimensional array
array3_size(a, b, c): 3-dimensional array
struct_size(ptr, member, n): struct followed by n-many trailing members

Each of these return SIZE_MAX on overflow instead of wrapping around.

(Additionally renames a variable named "array_size" to avoid future
collision.)

Co-developed-by: Matthew Wilcox <mawilcox@microsoft.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/dm-table.c
include/linux/overflow.h