On Thu, 18 May 2023 23:44:10 +0800 kernel test robot <lkp@xxxxxxxxx> wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 798d276b39e984345d52b933a900a71fa0815928 > commit: e435b85a4aea7a82259105d5d8025655460052e1 [2908/3314] mm, page_owner: add page_owner_stacks file to print out only stacks and their counte > config: x86_64-randconfig-m001 > compiler: gcc-11 (Debian 11.3.0-12) 11.3.0 > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@xxxxxxxxx> > | Closes: https://lore.kernel.org/oe-kbuild-all/202305182345.LTMlWG84-lkp@xxxxxxxxx/ > > smatch warnings: > lib/stackdepot.c:544 stack_print() warn: unsigned 'stack->size' is never less than zero. > Linus would complain about that warning. > > 537 > 538 int stack_print(struct seq_file *m, void *v) > 539 { > 540 char *buf; > 541 int ret = 0; > 542 struct stack_record *stack = v; > 543 > > 544 if (!stack->size || stack->size < 0 || > 545 stack->size > PAGE_SIZE || stack->handle.valid != 1 || > 546 refcount_read(&stack->count) < 1) How about <=? --- a/lib/stackdepot.c~mm-page_owner-add-page_owner_stacks-file-to-print-out-only-stacks-and-their-counte-fix-fix +++ a/lib/stackdepot.c @@ -541,9 +541,8 @@ int stack_print(struct seq_file *m, void int ret = 0; struct stack_record *stack = v; - if (!stack->size || stack->size < 0 || - stack->size > PAGE_SIZE || stack->handle.valid != 1 || - refcount_read(&stack->count) < 1) + if (stack->size <= 0 || stack->size > PAGE_SIZE || + stack->handle.valid != 1 || refcount_read(&stack->count) < 1) return 0; buf = kzalloc(PAGE_SIZE, GFP_KERNEL); _