usercopy: Kernel memory overwrite attempt detected to SLUB object 'task_struct' (offset 80, size 116)! ------------[ cut here ]------------ kernel BUG at mm/usercopy.c:102! Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM Modules linked in: CPU: 1 UID: 0 PID: 19651 Comm: syz.0.3741 Not tainted 6.12.0-syzkaller #0 Hardware name: ARM-Versatile Express PC is at usercopy_abort+0x98/0x9c mm/usercopy.c:102 LR is at __wake_up_klogd.part.0+0x7c/0xac kernel/printk/printk.c:4496 pc : [<819ae208>] lr : [<802bd9c4>] psr: 60000013 sp : dfee1d90 ip : dfee1cd0 fp : dfee1db4 r10: 81a00568 r9 : 00000078 r8 : 84306c50 r7 : dde8fc00 r6 : 00000000 r5 : 00000074 r4 : 00000050 r3 : 854f8c00 r2 : 00000000 r1 : 00000000 r0 : 00000066 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none Control: 30c5387d Table: 83dd9900 DAC: 00000000 Register r0 information: non-paged memory Register r1 information: NULL pointer Register r2 information: NULL pointer Register r3 information: slab task_struct start 854f8c00 pointer offset 0 size 3072 Register r4 information: non-paged memory Register r5 information: non-paged memory Register r6 information: NULL pointer Register r7 information: non-slab/vmalloc memory Register r8 information: slab task_struct start 84306c00 pointer offset 80 size 3072 Register r9 information: non-paged memory Register r10 information: non-slab/vmalloc memory Register r11 information: 2-page vmalloc region starting at 0xdfee0000 allocated at kernel_clone+0xac/0x3e4 kernel/fork.c:2787 Register r12 information: 2-page vmalloc region starting at 0xdfee0000 allocated at kernel_clone+0xac/0x3e4 kernel/fork.c:2787 Process syz.0.3741 (pid: 19651, stack limit = 0xdfee0000) Stack: (0xdfee1d90 to 0xdfee2000) 1d80: 8205dadc 8202f5a0 820449b4 00000050 1da0: 00000074 00000078 dfee1de4 dfee1db8 804d1bc8 819ae17c 00000074 dfee1dc8 1dc0: 802147a0 84306c50 00000074 00000000 84306cc4 dde8fc00 dfee1e1c dfee1de8 1de0: 80510994 804d1afc 00000074 20000084 dfee1e0c 84306c50 00000074 20000084 1e00: 00000074 81a005a0 00000078 81a00568 dfee1e4c dfee1e20 80209d90 80510718 1e20: 81a005a0 00000078 81a00568 dfee1ef4 dfee1e50 80209d00 84306c00 20000084 1e40: dfee1ef4 dfee1e50 802534f4 80209d0c 00000000 20000000 20000000 81a0057c 1e60: 819d2eec 00000000 dfee1eb4 dfee1e78 8020d0ac 8020c014 824bc340 00000000 1e80: 8027f8a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 1ea0: 00000000 854f8c00 dfee1edc dfee1eb8 8027e1e4 802af444 00000000 00000000 1ec0: dfee1eec e468ddf6 84306c00 20000080 00004202 00000002 00000000 20000080 1ee0: 854f8c00 0000001a dfee1f6c dfee1ef8 8020a1c0 802531ec 84306c00 84307484 1f00: dfee1f1c dfee1f10 819d3398 8027c5a8 dfee1f6c dfee1f20 8028127c 819d3374 1f20: dfee1f54 00000000 8027e1e4 60000013 819800d0 81997354 dfee1f54 e468ddf6 1f40: 00004205 84306c00 00004205 e468ddf6 84306c00 00004205 00000002 00000000 1f60: dfee1fa4 dfee1f70 80252e9c 8020a11c 80202cc0 e468ddf6 dfee1fac 00000000 1f80: 00000000 002862f4 0000001a 8020029c 854f8c00 0000001a 00000000 dfee1fa8 1fa0: 80200060 80252c70 00000000 00000000 00004205 000000d1 00000002 20000080 1fc0: 00000000 00000000 002862f4 0000001a 00000000 00006364 003d0f00 76bdf0bc 1fe0: 76bdeec0 76bdeeb0 00018af0 00133450 60000010 00004205 00000000 00000000 Call trace: [<819ae170>] (usercopy_abort) from [<804d1bc8>] (__check_heap_object+0xd8/0xf4 mm/slub.c:5651) [<804d1af0>] (__check_heap_object) from [<80510994>] (check_heap_object mm/usercopy.c:196 [inline]) [<804d1af0>] (__check_heap_object) from [<80510994>] (__check_object_size mm/usercopy.c:251 [inline]) [<804d1af0>] (__check_heap_object) from [<80510994>] (__check_object_size+0x288/0x304 mm/usercopy.c:213) r8:dde8fc00 r7:84306cc4 r6:00000000 r5:00000074 r4:84306c50 [<8051070c>] (__check_object_size) from [<80209d90>] (check_object_size include/linux/thread_info.h:228 [inline]) [<8051070c>] (__check_object_size) from [<80209d90>] (__copy_from_user include/linux/uaccess.h:110 [inline]) [<8051070c>] (__check_object_size) from [<80209d90>] (user_regset_copyin include/linux/regset.h:268 [inline]) [<8051070c>] (__check_object_size) from [<80209d90>] (fpa_set+0x90/0x118 arch/arm/kernel/ptrace.c:587) r10:81a00568 r9:00000078 r8:81a005a0 r7:00000074 r6:20000084 r5:00000074 r4:84306c50 [<80209d00>] (fpa_set) from [<802534f4>] (copy_regset_from_user include/linux/regset.h:337 [inline]) [<80209d00>] (fpa_set) from [<802534f4>] (ptrace_regset kernel/ptrace.c:906 [inline]) [<80209d00>] (fpa_set) from [<802534f4>] (ptrace_request+0x314/0xa78 kernel/ptrace.c:1218) r6:20000084 r5:84306c00 r4:80209d00 [<802531e0>] (ptrace_request) from [<8020a1c0>] (arch_ptrace+0xb0/0x424 arch/arm/kernel/ptrace.c:818) r10:0000001a r9:854f8c00 r8:20000080 r7:00000000 r6:00000002 r5:00004202 r4:20000080 [<8020a110>] (arch_ptrace) from [<80252e9c>] (__do_sys_ptrace kernel/ptrace.c:1285 [inline]) [<8020a110>] (arch_ptrace) from [<80252e9c>] (sys_ptrace+0x238/0x4dc kernel/ptrace.c:1258) r7:00000000 r6:00000002 r5:00004205 r4:84306c00 [<80252c64>] (sys_ptrace) from [<80200060>] (ret_fast_syscall+0x0/0x1c arch/arm/mm/proc-v7.S:67) Exception stack(0xdfee1fa8 to 0xdfee1ff0) 1fa0: 00000000 00000000 00004205 000000d1 00000002 20000080 1fc0: 00000000 00000000 002862f4 0000001a 00000000 00006364 003d0f00 76bdf0bc 1fe0: 76bdeec0 76bdeeb0 00018af0 00133450 r10:0000001a r9:854f8c00 r8:8020029c r7:0000001a r6:002862f4 r5:00000000 r4:00000000 Code: e30d0ae0 e3480205 e58dc000 ebfff273 (e7f001f2) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: e30d0ae0 movw r0, #56032 @ 0xdae0 4: e3480205 movt r0, #33285 @ 0x8205 8: e58dc000 str ip, [sp] c: ebfff273 bl 0xffffc9e0 * 10: e7f001f2 udf #18 <-- trapping instruction