================================================================== BUG: KASAN: slab-use-after-free in __skb_unlink include/linux/skbuff.h:2386 [inline] BUG: KASAN: slab-use-after-free in __skb_dequeue include/linux/skbuff.h:2405 [inline] BUG: KASAN: slab-use-after-free in __skb_queue_purge_reason include/linux/skbuff.h:3259 [inline] BUG: KASAN: slab-use-after-free in __skb_queue_purge include/linux/skbuff.h:3265 [inline] BUG: KASAN: slab-use-after-free in kcm_release+0x170/0x4c8 net/kcm/kcmsock.c:1693 Read of size 8 at addr ffff0000dc666780 by task syz-executor.0/6598 CPU: 0 PID: 6598 Comm: syz-executor.0 Tainted: G W 6.10.0-rc3-syzkaller-00018-gac2193b4b460 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024 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_load8_noabort+0x20/0x2c mm/kasan/report_generic.c:381 __skb_unlink include/linux/skbuff.h:2386 [inline] __skb_dequeue include/linux/skbuff.h:2405 [inline] __skb_queue_purge_reason include/linux/skbuff.h:3259 [inline] __skb_queue_purge include/linux/skbuff.h:3265 [inline] kcm_release+0x170/0x4c8 net/kcm/kcmsock.c:1693 __sock_release net/socket.c:659 [inline] sock_close+0xa4/0x1e8 net/socket.c:1421 __fput+0x334/0x760 fs/file_table.c:422 __fput_sync+0x60/0x9c fs/file_table.c:507 __do_sys_close fs/open.c:1555 [inline] __se_sys_close fs/open.c:1540 [inline] __arm64_sys_close+0x150/0x1e0 fs/open.c:1540 __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 Allocated by task 6599: 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:3941 [inline] slab_alloc_node mm/slub.c:4001 [inline] kmem_cache_alloc_node_noprof+0x204/0x3a4 mm/slub.c:4044 __alloc_skb+0x1e0/0x420 net/core/skbuff.c:656 alloc_skb include/linux/skbuff.h:1308 [inline] kcm_sendmsg+0x1d40/0x2128 net/kcm/kcmsock.c:784 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] sock_sendmsg+0x220/0x2c0 net/socket.c:768 splice_to_socket+0x7cc/0xd58 fs/splice.c:889 do_splice_from fs/splice.c:941 [inline] direct_splice_actor+0xec/0x1d8 fs/splice.c:1164 splice_direct_to_actor+0x438/0xa0c fs/splice.c:1108 do_splice_direct_actor fs/splice.c:1207 [inline] do_splice_direct+0x1e4/0x304 fs/splice.c:1233 do_sendfile+0x468/0xbb8 fs/read_write.c:1295 __do_sys_sendfile64 fs/read_write.c:1362 [inline] __se_sys_sendfile64 fs/read_write.c:1348 [inline] __arm64_sys_sendfile64+0x160/0x3b4 fs/read_write.c:1348 __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 6598: 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+0x128/0x180 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:2196 [inline] slab_free mm/slub.c:4437 [inline] kmem_cache_free+0x170/0x4d0 mm/slub.c:4512 kfree_skbmem+0x15c/0x1ec __kfree_skb net/core/skbuff.c:1188 [inline] kfree_skb_reason+0x1c0/0x490 net/core/skbuff.c:1223 kfree_skb include/linux/skbuff.h:1257 [inline] kcm_release+0x104/0x4c8 net/kcm/kcmsock.c:1687 __sock_release net/socket.c:659 [inline] sock_close+0xa4/0x1e8 net/socket.c:1421 __fput+0x334/0x760 fs/file_table.c:422 __fput_sync+0x60/0x9c fs/file_table.c:507 __do_sys_close fs/open.c:1555 [inline] __se_sys_close fs/open.c:1540 [inline] __arm64_sys_close+0x150/0x1e0 fs/open.c:1540 __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 ffff0000dc666780 which belongs to the cache skbuff_head_cache of size 240 The buggy address is located 0 bytes inside of freed 240-byte region [ffff0000dc666780, ffff0000dc666870) The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x11c666 flags: 0x5ffc00000000000(node=0|zone=2|lastcpupid=0x7ff) page_type: 0xffffefff(slab) raw: 05ffc00000000000 ffff0000c1bcc780 dead000000000122 0000000000000000 raw: 0000000000000000 00000000000c000c 00000001ffffefff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000dc666680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff0000dc666700: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fc fc >ffff0000dc666780: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff0000dc666800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc ffff0000dc666880: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb ================================================================== Unable to handle kernel paging request at virtual address 0066c07580000338 Mem abort info: ESR = 0x0000000096000004 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault Data abort info: ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [0066c07580000338] address between user and kernel address ranges Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP Modules linked in: CPU: 0 PID: 6598 Comm: syz-executor.0 Tainted: G B W 6.10.0-rc3-syzkaller-00018-gac2193b4b460 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024 pstate: 40400005 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __skb_unlink include/linux/skbuff.h:2390 [inline] pc : __skb_dequeue include/linux/skbuff.h:2405 [inline] pc : __skb_queue_purge_reason include/linux/skbuff.h:3259 [inline] pc : __skb_queue_purge include/linux/skbuff.h:3265 [inline] pc : kcm_release+0x1bc/0x4c8 net/kcm/kcmsock.c:1693 lr : __skb_unlink include/linux/skbuff.h:2389 [inline] lr : __skb_dequeue include/linux/skbuff.h:2405 [inline] lr : __skb_queue_purge_reason include/linux/skbuff.h:3259 [inline] lr : __skb_queue_purge include/linux/skbuff.h:3265 [inline] lr : kcm_release+0x1b4/0x4c8 net/kcm/kcmsock.c:1693 sp : ffff800099bb7bc0 x29: ffff800099bb7be0 x28: 1fffe0001a93812e x27: 1fffe0001a938130 x26: dfff800000000000 x25: ffff0000dab62708 x24: 033a03ac000019c6 x23: ffff0000dc666780 x22: ffff0000d49c0980 x21: ffff0000d49c0970 x20: ffff0000d49c06c0 x19: ffff0000dab62700 x18: 1fffe000367b33de x17: ffff80008efad000 x16: ffff800080a66988 x15: ffff60001b8cccf0 x14: 1fffe0001b8cccf0 x13: 00000000000000fa x12: fffffffffffffffe x11: ffff60001b8cccf0 x10: 1fffe0001b8cccf1 x9 : ffff8000938a6f80 x8 : 0067407580000338 x7 : 0000000000000000 x6 : ffff8000802ae7b4 x5 : 0000000000000000 x4 : 0000000000000000 x3 : ffff80008a309c30 x2 : 0000000000000001 x1 : 0000000000000008 x0 : 0000000000000000 Call trace: __skb_unlink include/linux/skbuff.h:2389 [inline] __skb_dequeue include/linux/skbuff.h:2405 [inline] __skb_queue_purge_reason include/linux/skbuff.h:3259 [inline] __skb_queue_purge include/linux/skbuff.h:3265 [inline] kcm_release+0x1bc/0x4c8 net/kcm/kcmsock.c:1693 __sock_release net/socket.c:659 [inline] sock_close+0xa4/0x1e8 net/socket.c:1421 __fput+0x334/0x760 fs/file_table.c:422 __fput_sync+0x60/0x9c fs/file_table.c:507 __do_sys_close fs/open.c:1555 [inline] __se_sys_close fs/open.c:1540 [inline] __arm64_sys_close+0x150/0x1e0 fs/open.c:1540 __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 Code: aa1903e0 97705bf1 d343ff08 f9000338 (387a6908) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: aa1903e0 mov x0, x25 4: 97705bf1 bl 0xfffffffffdc16fc8 8: d343ff08 lsr x8, x24, #3 c: f9000338 str x24, [x25] * 10: 387a6908 ldrb w8, [x8, x26] <-- trapping instruction