================================================================== BUG: KASAN: slab-use-after-free in rht_key_hashfn include/linux/rhashtable.h:159 [inline] BUG: KASAN: slab-use-after-free in __rhashtable_lookup include/linux/rhashtable.h:604 [inline] BUG: KASAN: slab-use-after-free in rhashtable_lookup include/linux/rhashtable.h:646 [inline] BUG: KASAN: slab-use-after-free in rhashtable_lookup_fast+0x668/0x814 include/linux/rhashtable.h:672 Read of size 4 at addr ffff0000ce168008 by task kworker/u8:10/2101 CPU: 1 PID: 2101 Comm: kworker/u8:10 Not tainted 6.9.0-rc7-syzkaller-gfda5695d692c #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Workqueue: bat_events batadv_nc_worker Call trace: dump_backtrace+0x1b8/0x1e4 arch/arm64/kernel/stacktrace.c:317 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:324 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xe4/0x150 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0x198/0x538 mm/kasan/report.c:488 kasan_report+0xd8/0x138 mm/kasan/report.c:601 __asan_report_load4_noabort+0x20/0x2c mm/kasan/report_generic.c:380 rht_key_hashfn include/linux/rhashtable.h:159 [inline] __rhashtable_lookup include/linux/rhashtable.h:604 [inline] rhashtable_lookup include/linux/rhashtable.h:646 [inline] rhashtable_lookup_fast+0x668/0x814 include/linux/rhashtable.h:672 ila_lookup_wildcards net/ipv6/ila/ila_xlat.c:132 [inline] ila_xlat_addr net/ipv6/ila/ila_xlat.c:652 [inline] ila_nf_input+0x210/0x404 net/ipv6/ila/ila_xlat.c:190 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xc8/0x230 net/netfilter/core.c:626 nf_hook include/linux/netfilter.h:269 [inline] NF_HOOK+0x22c/0x3d4 include/linux/netfilter.h:312 ipv6_rcv+0x9c/0xbc net/ipv6/ip6_input.c:310 __netif_receive_skb_one_core net/core/dev.c:5544 [inline] __netif_receive_skb+0x18c/0x3c8 net/core/dev.c:5658 process_backlog+0x3dc/0x754 net/core/dev.c:5987 __napi_poll+0xb4/0x3fc net/core/dev.c:6638 napi_poll net/core/dev.c:6707 [inline] net_rx_action+0x608/0xe2c net/core/dev.c:6822 handle_softirqs+0x2ec/0xc34 kernel/softirq.c:554 __do_softirq+0x14/0x20 kernel/softirq.c:588 ____do_softirq+0x14/0x20 arch/arm64/kernel/irq.c:81 call_on_irq_stack+0x24/0x4c arch/arm64/kernel/entry.S:889 do_softirq_own_stack+0x20/0x2c arch/arm64/kernel/irq.c:86 invoke_softirq kernel/softirq.c:435 [inline] __irq_exit_rcu+0x1d8/0x434 kernel/softirq.c:637 irq_exit_rcu+0x14/0x84 kernel/softirq.c:649 __el1_irq arch/arm64/kernel/entry-common.c:537 [inline] el1_interrupt+0x38/0x68 arch/arm64/kernel/entry-common.c:551 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:556 el1h_64_irq+0x64/0x68 arch/arm64/kernel/entry.S:594 __daif_local_irq_restore arch/arm64/include/asm/irqflags.h:175 [inline] arch_local_irq_restore arch/arm64/include/asm/irqflags.h:195 [inline] lock_release+0x500/0x9cc kernel/locking/lockdep.c:5777 rcu_lock_release+0x2c/0x38 include/linux/rcupdate.h:339 rcu_read_unlock include/linux/rcupdate.h:814 [inline] batadv_nc_purge_orig_hash net/batman-adv/network-coding.c:412 [inline] batadv_nc_worker+0x260/0x580 net/batman-adv/network-coding.c:719 process_one_work+0x7b8/0x15d4 kernel/workqueue.c:3267 process_scheduled_works kernel/workqueue.c:3348 [inline] worker_thread+0x938/0xef4 kernel/workqueue.c:3429 kthread+0x288/0x310 kernel/kthread.c:388 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860 Allocated by task 8071: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:68 kasan_save_alloc_info+0x40/0x50 mm/kasan/generic.c:565 unpoison_slab_object mm/kasan/common.c:312 [inline] __kasan_slab_alloc+0x74/0x8c mm/kasan/common.c:338 kasan_slab_alloc include/linux/kasan.h:201 [inline] slab_post_alloc_hook mm/slub.c:3798 [inline] slab_alloc_node mm/slub.c:3845 [inline] kmem_cache_alloc+0x1dc/0x3c0 mm/slub.c:3852 getname_flags+0xd0/0x48c fs/namei.c:139 getname+0x28/0x38 fs/namei.c:218 do_sys_openat2+0xd0/0x1b8 fs/open.c:1400 do_sys_open fs/open.c:1421 [inline] __do_sys_openat fs/open.c:1437 [inline] __se_sys_openat fs/open.c:1432 [inline] __arm64_sys_openat+0x1f0/0x240 fs/open.c:1432 __invoke_syscall arch/arm64/kernel/syscall.c:34 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:48 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:133 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:152 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:712 el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:730 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598 Freed by task 8071: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:68 kasan_save_free_info+0x54/0x6c mm/kasan/generic.c:579 poison_slab_object+0x124/0x18c mm/kasan/common.c:240 __kasan_slab_free+0x3c/0x70 mm/kasan/common.c:256 kasan_slab_free include/linux/kasan.h:184 [inline] slab_free_hook mm/slub.c:2106 [inline] slab_free mm/slub.c:4280 [inline] kmem_cache_free+0x168/0x3f0 mm/slub.c:4344 putname+0x11c/0x180 fs/namei.c:273 do_sys_openat2+0x164/0x1b8 fs/open.c:1414 do_sys_open fs/open.c:1421 [inline] __do_sys_openat fs/open.c:1437 [inline] __se_sys_openat fs/open.c:1432 [inline] __arm64_sys_openat+0x1f0/0x240 fs/open.c:1432 __invoke_syscall arch/arm64/kernel/syscall.c:34 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:48 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:133 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:152 el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:712 el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:730 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598 The buggy address belongs to the object at ffff0000ce168000 which belongs to the cache names_cache of size 4096 The buggy address is located 8 bytes inside of freed 4096-byte region [ffff0000ce168000, ffff0000ce169000) The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x10e168 head: order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0x5ffc00000000840(slab|head|node=0|zone=2|lastcpupid=0x7ff) page_type: 0xffffffff() raw: 05ffc00000000840 ffff0000c18848c0 dead000000000122 0000000000000000 raw: 0000000000000000 0000000080070007 00000001ffffffff 0000000000000000 head: 05ffc00000000840 ffff0000c18848c0 dead000000000122 0000000000000000 head: 0000000000000000 0000000080070007 00000001ffffffff 0000000000000000 head: 05ffc00000000003 fffffdffc3385a01 fffffdffc3385a48 00000000ffffffff head: 0000000800000000 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000ce167f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff0000ce167f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff0000ce168000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff0000ce168080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff0000ce168100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== Unable to handle kernel paging request at virtual address dfff800000000000 KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] Mem abort info: ESR = 0x0000000096000005 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x05: level 1 translation fault Data abort info: ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [dfff800000000000] address between user and kernel address ranges Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP Modules linked in: CPU: 1 PID: 2101 Comm: kworker/u8:10 Tainted: G B 6.9.0-rc7-syzkaller-gfda5695d692c #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Workqueue: bat_events batadv_nc_worker pstate: 00400005 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __rht_bucket_nested+0xbc/0x5b4 lib/rhashtable.c:1188 lr : nested_table_top lib/rhashtable.c:72 [inline] lr : __rht_bucket_nested+0xb0/0x5b4 lib/rhashtable.c:1187 sp : ffff800080017640 x29: ffff800080017650 x28: 1fffe00019149284 x27: ffff0000ce168004 x26: dfff800000000000 x25: 00000000ffff0000 x24: 0000000000000000 x23: ffff0000ce168000 x22: 000000004a00102b x21: 00000000ce169100 x20: 00000000ffff0000 x19: 0000000000000000 x18: ffff800080016e98 x17: 0000000000000000 x16: ffff8000805519dc x15: 0000000000000001 x14: 0000000000000000 x13: 0000000000000003 x12: ffff0000cc325ac0 x11: 000000004882b5ce x10: 0000000000ff0100 x9 : ffff800093742cc0 x8 : 0000000000000000 x7 : 205b5d3331393638 x6 : ffff80008037c92c x5 : 0000000000000000 x4 : 0000000000000001 x3 : ffff800082f2fbe8 x2 : 0000000000000000 x1 : 0000000000000008 x0 : 0000000000000000 Call trace: __rht_bucket_nested+0xbc/0x5b4 lib/rhashtable.c:1188 rht_bucket_nested+0x48/0x6c lib/rhashtable.c:1214 rht_bucket include/linux/rhashtable.h:289 [inline] __rhashtable_lookup include/linux/rhashtable.h:605 [inline] rhashtable_lookup include/linux/rhashtable.h:646 [inline] rhashtable_lookup_fast+0x5fc/0x814 include/linux/rhashtable.h:672 ila_lookup_wildcards net/ipv6/ila/ila_xlat.c:132 [inline] ila_xlat_addr net/ipv6/ila/ila_xlat.c:652 [inline] ila_nf_input+0x210/0x404 net/ipv6/ila/ila_xlat.c:190 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xc8/0x230 net/netfilter/core.c:626 nf_hook include/linux/netfilter.h:269 [inline] NF_HOOK+0x22c/0x3d4 include/linux/netfilter.h:312 ipv6_rcv+0x9c/0xbc net/ipv6/ip6_input.c:310 __netif_receive_skb_one_core net/core/dev.c:5544 [inline] __netif_receive_skb+0x18c/0x3c8 net/core/dev.c:5658 process_backlog+0x3dc/0x754 net/core/dev.c:5987 __napi_poll+0xb4/0x3fc net/core/dev.c:6638 napi_poll net/core/dev.c:6707 [inline] net_rx_action+0x608/0xe2c net/core/dev.c:6822 handle_softirqs+0x2ec/0xc34 kernel/softirq.c:554 __do_softirq+0x14/0x20 kernel/softirq.c:588 ____do_softirq+0x14/0x20 arch/arm64/kernel/irq.c:81 call_on_irq_stack+0x24/0x4c arch/arm64/kernel/entry.S:889 do_softirq_own_stack+0x20/0x2c arch/arm64/kernel/irq.c:86 invoke_softirq kernel/softirq.c:435 [inline] __irq_exit_rcu+0x1d8/0x434 kernel/softirq.c:637 irq_exit_rcu+0x14/0x84 kernel/softirq.c:649 __el1_irq arch/arm64/kernel/entry-common.c:537 [inline] el1_interrupt+0x38/0x68 arch/arm64/kernel/entry-common.c:551 el1h_64_irq_handler+0x18/0x24 arch/arm64/kernel/entry-common.c:556 el1h_64_irq+0x64/0x68 arch/arm64/kernel/entry.S:594 __daif_local_irq_restore arch/arm64/include/asm/irqflags.h:175 [inline] arch_local_irq_restore arch/arm64/include/asm/irqflags.h:195 [inline] lock_release+0x500/0x9cc kernel/locking/lockdep.c:5777 rcu_lock_release+0x2c/0x38 include/linux/rcupdate.h:339 rcu_read_unlock include/linux/rcupdate.h:814 [inline] batadv_nc_purge_orig_hash net/batman-adv/network-coding.c:412 [inline] batadv_nc_worker+0x260/0x580 net/batman-adv/network-coding.c:719 process_one_work+0x7b8/0x15d4 kernel/workqueue.c:3267 process_scheduled_works kernel/workqueue.c:3348 [inline] worker_thread+0x938/0xef4 kernel/workqueue.c:3429 kthread+0x288/0x310 kernel/kthread.c:388 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860 Code: 976c7fd3 f9400308 8b130d18 d343ff08 (387a6908) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: 976c7fd3 bl 0xfffffffffdb1ff4c 4: f9400308 ldr x8, [x24] 8: 8b130d18 add x24, x8, x19, lsl #3 c: d343ff08 lsr x8, x24, #3 * 10: 387a6908 ldrb w8, [x8, x26] <-- trapping instruction