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: 0 PID: 3939 Comm: syz-executor.0 Not tainted 6.9.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:3926 pc : [<818d1418>] lr : [<802bb78c>] psr: 60000013 sp : dfc31e40 ip : dfc31d88 fp : dfc31e64 r10: 0000001a r9 : 8378b000 r8 : 8378d450 r7 : dde75f20 r6 : 00000000 r5 : 00000074 r4 : 00000050 r3 : 8378b000 r2 : 00000000 r1 : 00000000 r0 : 00000066 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 30c5387d Table: 846d18c0 DAC: fffffffd Register r0 information: non-paged memory Register r1 information: NULL pointer Register r2 information: NULL pointer Register r3 information: slab task_struct start 8378b000 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 8378d400 pointer offset 80 size 3072 Register r9 information: slab task_struct start 8378b000 pointer offset 0 size 3072 Register r10 information: non-paged memory Register r11 information: 2-page vmalloc region starting at 0xdfc30000 allocated at kernel_clone+0xac/0x3c8 kernel/fork.c:2797 Register r12 information: 2-page vmalloc region starting at 0xdfc30000 allocated at kernel_clone+0xac/0x3c8 kernel/fork.c:2797 Process syz-executor.0 (pid: 3939, stack limit = 0xdfc30000) Stack: (0xdfc31e40 to 0xdfc32000) 1e40: 820000c4 81fd28a4 81fe70d0 00000050 00000074 8378b000 dfc31e94 dfc31e68 1e60: 804bce1c 818d138c 00000074 dfc31e78 80215d90 8378d450 00000074 00000000 1e80: 8378d4c4 dde75f20 dfc31ecc dfc31e98 804f3ee0 804bcd50 00000074 00000000 1ea0: dfc31ebc 8378d450 00000074 00000000 00000000 00000000 8378b000 0000001a 1ec0: dfc31ef4 dfc31ed0 80209c80 804f3d00 dfc31ef4 dfc31ee0 818f5bd8 8027daec 1ee0: 00000000 0000000c dfc31f6c dfc31ef8 8020a2bc 80209bfc 00000000 00000000 1f00: dfc31f1c dfc31f10 818f5aa4 8027c158 dfc31f6c dfc31f20 80281f9c 818f5a80 1f20: 80253a34 00000000 8378b000 60000013 dfc31f5c dfc31f40 818ed60c 4760af04 1f40: 0000000f 0000000f 8378d400 4760af04 0000000f 8378d400 00000000 00000000 1f60: dfc31fa4 dfc31f70 80253810 80209fd4 80202bfc 4760af04 dfc31fac 00000000 1f80: 00000000 0014c2c4 0000001a 80200288 8378b000 0000001a 00000000 dfc31fa8 1fa0: 80200060 802535e4 00000000 00000000 0000000f 00000004 00000000 00000000 1fc0: 00000000 00000000 0014c2c4 0000001a 7ee4832e 7ee4832f 003d0f00 76bde0fc 1fe0: 76bddf08 76bddef8 00016680 000509d0 60000010 0000000f 00000000 00000000 Call trace: [<818d1380>] (usercopy_abort) from [<804bce1c>] (__check_heap_object+0xd8/0xf4 mm/slub.c:5440) [<804bcd44>] (__check_heap_object) from [<804f3ee0>] (check_heap_object mm/usercopy.c:196 [inline]) [<804bcd44>] (__check_heap_object) from [<804f3ee0>] (__check_object_size mm/usercopy.c:251 [inline]) [<804bcd44>] (__check_heap_object) from [<804f3ee0>] (__check_object_size+0x1ec/0x30c mm/usercopy.c:213) r8:dde75f20 r7:8378d4c4 r6:00000000 r5:00000074 r4:8378d450 [<804f3cf4>] (__check_object_size) from [<80209c80>] (check_object_size include/linux/thread_info.h:215 [inline]) [<804f3cf4>] (__check_object_size) from [<80209c80>] (__copy_from_user include/linux/uaccess.h:101 [inline]) [<804f3cf4>] (__check_object_size) from [<80209c80>] (user_regset_copyin include/linux/regset.h:268 [inline]) [<804f3cf4>] (__check_object_size) from [<80209c80>] (fpa_set+0x90/0xfc arch/arm/kernel/ptrace.c:587) r10:0000001a r9:8378b000 r8:00000000 r7:00000000 r6:00000000 r5:00000074 r4:8378d450 [<80209bf0>] (fpa_set) from [<8020a2bc>] (copy_regset_from_user include/linux/regset.h:337 [inline]) [<80209bf0>] (fpa_set) from [<8020a2bc>] (arch_ptrace+0x2f4/0x3e4 arch/arm/kernel/ptrace.c:762) r5:0000000c r4:00000000 [<80209fc8>] (arch_ptrace) from [<80253810>] (__do_sys_ptrace kernel/ptrace.c:1285 [inline]) [<80209fc8>] (arch_ptrace) from [<80253810>] (sys_ptrace+0x238/0x4e0 kernel/ptrace.c:1258) r7:00000000 r6:00000000 r5:8378d400 r4:0000000f [<802535d8>] (sys_ptrace) from [<80200060>] (ret_fast_syscall+0x0/0x1c arch/arm/mm/proc-v7.S:66) Exception stack(0xdfc31fa8 to 0xdfc31ff0) 1fa0: 00000000 00000000 0000000f 00000004 00000000 00000000 1fc0: 00000000 00000000 0014c2c4 0000001a 7ee4832e 7ee4832f 003d0f00 76bde0fc 1fe0: 76bddf08 76bddef8 00016680 000509d0 r10:0000001a r9:8378b000 r8:80200288 r7:0000001a r6:0014c2c4 r5:00000000 r4:00000000 Code: e30000c8 e3480200 e58dc000 ebfff359 (e7f001f2) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: e30000c8 movw r0, #200 @ 0xc8 4: e3480200 movt r0, #33280 @ 0x8200 8: e58dc000 str ip, [sp] c: ebfff359 bl 0xffffcd78 * 10: e7f001f2 udf #18 <-- trapping instruction