]> git.baikalelectronics.ru Git - kernel.git/commit
mm: don't allow oversized kvmalloc() calls
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 14 Jul 2021 16:45:49 +0000 (09:45 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 2 Sep 2021 16:47:01 +0000 (09:47 -0700)
commitb21ae08a2ad1e31317c4af6e118edb86da38fa76
treee6aefba9862580081aee2c8538676a4637d54d20
parentef81a82ae1cd3d1bb8e37075cec1fc63ad630f3e
mm: don't allow oversized kvmalloc() calls

'kvmalloc()' is a convenience function for people who want to do a
kmalloc() but fall back on vmalloc() if there aren't enough physically
contiguous pages, or if the allocation is larger than what kmalloc()
supports.

However, let's make sure it doesn't get _too_ easy to do crazy things
with it.  In particular, don't allow big allocations that could be due
to integer overflow or underflow.  So make sure the allocation size fits
in an 'int', to protect against trivial integer conversion issues.

Acked-by: Willy Tarreau <w@1wt.eu>
Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/util.c