Messages in this thread | | | Date | Fri, 17 Apr 2020 15:59:00 +0000 (UTC) | From | Christopher Lameter <> | Subject | Re: [PATCH] kmalloc_index optimization(add kmalloc max size check) |
| |
On Fri, 17 Apr 2020, Bernard Zhao wrote:
> kmalloc size should never exceed KMALLOC_MAX_SIZE. > kmalloc_index realise if size is exceed KMALLOC_MAX_SIZE, e.g 64M, > kmalloc_index just return index 26, but never check with OS`s max > kmalloc config KMALLOC_MAX_SIZE. This index`s kmalloc caches maybe > not create in function create_kmalloc_caches. > We can throw an warninginfo in kmalloc at the beginning, instead of > being guaranteed by the buddy alloc behind.
kmalloc_index(0 already bugs if the allocation is more than 64M
...
if (size <= 64 * 1024 * 1024) return 26; BUG();
You could modify that to check for KMALLOC_MAX_SIZE with some more conditionals but then kmalloc_index) is written so that the compiler gets constant folding right.
If you have a patch like that then please verify that all c compilers in use perform correct constant folding and do not add unnecessary code.
| |