Re: [PATCH mm] kasan: stop leaking stack trace handles

From: kernel test robot
Date: Wed Dec 27 2023 - 13:20:54 EST


Hi,

kernel test robot noticed the following build warnings:

[auto build test WARNING on akpm-mm/mm-everything]
[cannot apply to linus/master v6.7-rc7 next-20231222]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/andrey-konovalov-linux-dev/kasan-stop-leaking-stack-trace-handles/20231227-065314
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20231226225121.235865-1-andrey.konovalov%40linux.dev
patch subject: [PATCH mm] kasan: stop leaking stack trace handles
config: x86_64-randconfig-123-20231227 (https://download.01.org/0day-ci/archive/20231228/202312280213.6j147JJb-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231228/202312280213.6j147JJb-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312280213.6j147JJb-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> mm/kasan/generic.c:506:6: warning: no previous prototype for 'release_alloc_meta' [-Wmissing-prototypes]
506 | void release_alloc_meta(struct kasan_alloc_meta *meta)
| ^~~~~~~~~~~~~~~~~~
>> mm/kasan/generic.c:517:6: warning: no previous prototype for 'release_free_meta' [-Wmissing-prototypes]
517 | void release_free_meta(const void *object, struct kasan_free_meta *meta)
| ^~~~~~~~~~~~~~~~~


vim +/release_alloc_meta +506 mm/kasan/generic.c

505
> 506 void release_alloc_meta(struct kasan_alloc_meta *meta)
507 {
508 /* Evict the stack traces from stack depot. */
509 stack_depot_put(meta->alloc_track.stack);
510 stack_depot_put(meta->aux_stack[0]);
511 stack_depot_put(meta->aux_stack[1]);
512
513 /* Zero out alloc meta to mark it as invalid. */
514 __memset(meta, 0, sizeof(*meta));
515 }
516
> 517 void release_free_meta(const void *object, struct kasan_free_meta *meta)
518 {
519 /* Check if free meta is valid. */
520 if (*(u8 *)kasan_mem_to_shadow(object) != KASAN_SLAB_FREE_META)
521 return;
522
523 /* Evict the stack trace from the stack depot. */
524 stack_depot_put(meta->free_track.stack);
525
526 /* Mark free meta as invalid. */
527 *(u8 *)kasan_mem_to_shadow(object) = KASAN_SLAB_FREE;
528 }
529

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki