On Tue, Oct 17, 2023 at 07:09PM -0700, syzbot wrote: > Hello, > > syzbot found the following issue on: > > HEAD commit: 213f891525c2 Merge tag 'probes-fixes-v6.6-rc6' of git://gi.. > git tree: upstream > console output: https://syzkaller.appspot.com/x/log.txt?x=14a731f9680000 > kernel config: https://syzkaller.appspot.com/x/.config?x=a4436b383d761e86 > dashboard link: https://syzkaller.appspot.com/bug?extid=59f37b0ab4c558a5357c > compiler: aarch64-linux-gnu-gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40 > userspace arch: arm64 > > Unfortunately, I don't have any reproducer for this issue yet. > > Downloadable assets: > disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/384ffdcca292/non_bootable_disk-213f8915.raw.xz > vmlinux: https://storage.googleapis.com/syzbot-assets/98b9a78b6226/vmlinux-213f8915.xz > kernel image: https://storage.googleapis.com/syzbot-assets/8ed2ef54968f/Image-213f8915.gz.xz > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: syzbot+59f37b0ab4c558a5357c@xxxxxxxxxxxxxxxxxxxxxxxxx > > ------------[ cut here ]------------ > WARNING: CPU: 1 PID: 3252 at mm/kfence/core.c:1147 __kfence_free+0x7c/0xb4 mm/kfence/core.c:1147 This has happened before: https://lore.kernel.org/all/FC29C538-1446-4A3F-A6FA-857295D7DEB3@xxxxxxxxx/T/#u And is this warning: | void __kfence_free(void *addr) | { | struct kfence_metadata *meta = addr_to_metadata((unsigned long)addr); | | #ifdef CONFIG_MEMCG | KFENCE_WARN_ON(meta->objcg); <-------- | #endif Which is this assembly in the vmlinux provided by syzbot: ffff8000802bed9c: 22 40 42 f9 ldr x2, [x1, #1152] ffff8000802beda0: 02 fe ff b4 cbz x2, 0xffff8000802bed60 <__kfence_free+0x38> ffff8000802beda4: 00 00 21 d4 brk #0x800 So we know the pointer is in x2, and from the below we know it's fcff000006a24ec0. Muchun, last time you said: > Maybe we could improve the warning message, > e.g. print the current value of "meta->objcg". Does this somehow help you better understand what's going on? Also this is a KASAN_HW_TAGS instance (using arm64 MTE), not sure that's relevant though. > Modules linked in: > CPU: 1 PID: 3252 Comm: syz-executor.1 Not tainted 6.6.0-rc6-syzkaller-00029-g213f891525c2 #0 > Hardware name: linux,dummy-virt (DT) > pstate: 81400009 (Nzcv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--) > pc : __kfence_free+0x7c/0xb4 mm/kfence/core.c:1147 > lr : kfence_free include/linux/kfence.h:187 [inline] > lr : __slab_free+0x48c/0x508 mm/slub.c:3614 > sp : ffff800082cebb50 > x29: ffff800082cebb50 x28: f7ff000002c0c400 x27: ffff8000818ca8a8 > x26: ffff8000821f0620 x25: 0000000000000001 x24: ffff00007ffa3000 > x23: 0000000000000001 x22: ffff00007ffa3000 x21: ffff00007ffa3000 > x20: ffff80008004191c x19: fffffc0001ffe8c0 x18: ffffffffffffffff > x17: ffff800080027b40 x16: ffff800080027a34 x15: ffff800080318514 > x14: ffff8000800469c8 x13: ffff800080011558 x12: ffff800081897ff4 > x11: ffff800081897b28 x10: ffff800080027bfc x9 : 0000000000400cc0 > x8 : ffff800082cebc30 x7 : 0000000000000000 x6 : 0000000000000000 > x5 : ffff80008004191c x4 : ffff00007f869000 x3 : ffff800082420338 > x2 : fcff000006a24ec0 x1 : ffff00007f8a50a0 x0 : ffff00007ffa3000 > Call trace: > __kfence_free+0x7c/0xb4 mm/kfence/core.c:1147 > kfence_free include/linux/kfence.h:187 [inline] > __slab_free+0x48c/0x508 mm/slub.c:3614 > do_slab_free mm/slub.c:3757 [inline] > slab_free mm/slub.c:3810 [inline] > __kmem_cache_free+0x220/0x230 mm/slub.c:3822 > kfree+0x5c/0x74 mm/slab_common.c:1072 > kvm_uevent_notify_change.part.0+0x10c/0x174 arch/arm64/kvm/../../../virt/kvm/kvm_main.c:5908 > kvm_uevent_notify_change arch/arm64/kvm/../../../virt/kvm/kvm_main.c:5878 [inline] > kvm_dev_ioctl_create_vm arch/arm64/kvm/../../../virt/kvm/kvm_main.c:5107 [inline] > kvm_dev_ioctl+0x3e8/0x91c arch/arm64/kvm/../../../virt/kvm/kvm_main.c:5131 > vfs_ioctl fs/ioctl.c:51 [inline] > __do_sys_ioctl fs/ioctl.c:871 [inline] > __se_sys_ioctl fs/ioctl.c:857 [inline] > __arm64_sys_ioctl+0xac/0xf0 fs/ioctl.c:857 > __invoke_syscall arch/arm64/kernel/syscall.c:37 [inline] > invoke_syscall+0x48/0x114 arch/arm64/kernel/syscall.c:51 > el0_svc_common.constprop.0+0x40/0xe0 arch/arm64/kernel/syscall.c:136 > do_el0_svc+0x1c/0x28 arch/arm64/kernel/syscall.c:155 > el0_svc+0x40/0x114 arch/arm64/kernel/entry-common.c:678 > el0t_64_sync_handler+0x100/0x12c arch/arm64/kernel/entry-common.c:696 > el0t_64_sync+0x19c/0x1a0 arch/arm64/kernel/entry.S:595 > ---[ end trace 0000000000000000 ]---