The patch titled Subject: kfence-limit-currently-covered-allocations-when-pool-nearly-full-fix-fix has been added to the -mm tree. Its filename is kfence-limit-currently-covered-allocations-when-pool-nearly-full-fix-fix.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/kfence-limit-currently-covered-allocations-when-pool-nearly-full-fix-fix.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/kfence-limit-currently-covered-allocations-when-pool-nearly-full-fix-fix.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: kfence-limit-currently-covered-allocations-when-pool-nearly-full-fix-fix fix i386 build In file included from ./include/linux/kernel.h:16, from ./include/linux/list.h:9, from ./include/linux/wait.h:7, from ./include/linux/wait_bit.h:8, from ./include/linux/fs.h:6, from ./include/linux/debugfs.h:15, from mm/kfence/core.c:12: mm/kfence/core.c: In function 'get_alloc_stack_hash': ./include/linux/minmax.h:20:28: error: comparison of distinct pointer types lacks a cast [-Werror] 20 | (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1))) | ^~ ./include/linux/minmax.h:26:4: note: in expansion of macro '__typecheck' 26 | (__typecheck(x, y) && __no_side_effects(x, y)) | ^~~~~~~~~~~ ./include/linux/minmax.h:36:24: note: in expansion of macro '__safe_cmp' 36 | __builtin_choose_expr(__safe_cmp(x, y), \ | ^~~~~~~~~~ ./include/linux/minmax.h:45:19: note: in expansion of macro '__careful_cmp' 45 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ mm/kfence/core.c:177:16: note: in expansion of macro 'min' 177 | num_entries = min(num_entries, UNIQUE_ALLOC_STACK_DEPTH); | ^~~ Cc: Aleksandr Nogikh <nogikh@xxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Jann Horn <jannh@xxxxxxxxxx> Cc: Marco Elver <elver@xxxxxxxxxx> Cc: Taras Madan <tarasmadan@xxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/kfence/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/mm/kfence/core.c~kfence-limit-currently-covered-allocations-when-pool-nearly-full-fix-fix +++ a/mm/kfence/core.c @@ -172,7 +172,7 @@ static inline bool should_skip_covered(v return atomic_long_read(&counters[KFENCE_COUNTER_ALLOCATED]) > thresh; } -static u32 get_alloc_stack_hash(unsigned long *stack_entries, size_t num_entries) +static u32 get_alloc_stack_hash(unsigned long *stack_entries, unsigned long num_entries) { num_entries = min(num_entries, UNIQUE_ALLOC_STACK_DEPTH); num_entries = filter_irq_stacks(stack_entries, num_entries); @@ -839,7 +839,7 @@ void kfence_shutdown_cache(struct kmem_c void *__kfence_alloc(struct kmem_cache *s, size_t size, gfp_t flags) { unsigned long stack_entries[KFENCE_STACK_DEPTH]; - size_t num_stack_entries; + unsigned long num_stack_entries; u32 alloc_stack_hash; /* _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are mm.patch mm-mempolicy-convert-from-atomic_t-to-refcount_t-on-mempolicy-refcnt-fix.patch kfence-limit-currently-covered-allocations-when-pool-nearly-full-fix-fix.patch ipc-check-checkpoint_restore_ns_capable-to-modify-c-r-proc-files-fix.patch kernel-forkc-export-kernel_thread-to-modules.patch