xmalloc: guard against integer overflow
authorJan Beulich <jbeulich@suse.com>
Thu, 5 Mar 2020 10:34:30 +0000 (11:34 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 5 Mar 2020 10:34:30 +0000 (11:34 +0100)
commit2ffed5c92feb23babf06a5754e7800bfea99e26b
tree184d6c99854e6004007a5a436a149f6ad79138cd
parent8348cc77e6744a377ffd52c914f08e0dcc4074b6
xmalloc: guard against integer overflow

There are hypercall handling paths (EFI ones are what this was found
with) needing to allocate buffers of a caller specified size. This is
generally fine, as our page allocator enforces an upper bound on all
allocations. However, certain extremely large sizes could, when adding
in allocator overhead, result in an apparently tiny allocation size,
which would typically result in either a successful allocation, but a
severe buffer overrun when using that memory block, or in a crash right
in the allocator code.

Reported-by: Ilja Van Sprundel <ivansprundel@ioactive.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: George Dunlap <george.dunlap@citrix.com>
master commit: cf38b4926e2b55d1d7715cff5095a7444f5ed42d
master date: 2020-02-06 09:53:12 +0100
xen/common/xmalloc_tlsf.c