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 PID: 8899 Comm: syz-executor.1 Not tainted 6.9.0-rc6-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 : [<818a83e4>] lr : [<802ba7b0>] psr: 60000013 sp : e0171e40 ip : e0171d88 fp : e0171e64 r10: 0000001a r9 : 82e3bc00 r8 : 82e3a450 r7 : dde60fe0 r6 : 00000000 r5 : 00000074 r4 : 00000050 r3 : 82e3bc00 r2 : 00000000 r1 : 00000000 r0 : 00000066 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none Control: 30c5387d Table: 850c7000 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 82e3bc00 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 82e3a400 pointer offset 80 size 3072 Register r9 information: slab task_struct start 82e3bc00 pointer offset 0 size 3072 Register r10 information: non-paged memory Register r11 information: 2-page vmalloc region starting at 0xe0170000 allocated at kernel_clone+0xac/0x3cc kernel/fork.c:2797 Register r12 information: 2-page vmalloc region starting at 0xe0170000 allocated at kernel_clone+0xac/0x3cc kernel/fork.c:2797 Process syz-executor.1 (pid: 8899, stack limit = 0xe0170000) Stack: (0xe0171e40 to 0xe0172000) 1e40: 81fec750 81fbf360 81fd398c 00000050 00000074 82e3bc00 e0171e94 e0171e68 1e60: 804b82ec 818a8358 00000074 e0171e78 80216314 82e3a450 00000074 00000000 1e80: 82e3a4c4 dde60fe0 e0171ecc e0171e98 804ef490 804b8220 00000074 00000000 1ea0: e0171ebc 82e3a450 00000074 00000000 00000000 200001c0 82e3bc00 0000001a 1ec0: e0171ef4 e0171ed0 8020a0e4 804ef2b0 e0171ef4 e0171ee0 818cccf8 8027ca24 1ee0: 200001c0 0000000c e0171f6c e0171ef8 8020a724 8020a060 00000000 200001c0 1f00: e0171f1c e0171f10 818ccbc4 8027b0cc e0171f6c e0171f20 80280ed0 818ccba0 1f20: e0171f54 00000000 8027cb44 60000013 8187a7c4 81891b64 e0171f54 406481bd 1f40: 82e3a400 0000000f 82e3a400 406481bd 0000000f 82e3a400 00000000 00000000 1f60: e0171fa4 e0171f70 80253570 8020a43c 80203054 406481bd e0171fac 00000000 1f80: 00000000 0014c2cc 0000001a 80200288 82e3bc00 0000001a 00000000 e0171fa8 1fa0: 80200060 80253340 00000000 00000000 0000000f 0000068b 00000000 200001c0 1fc0: 00000000 00000000 0014c2cc 0000001a 7e92d32e 7e92d32f 003d0f00 76b900fc 1fe0: 76b8ff08 76b8fef8 00016ab0 00050bf0 60000010 0000000f 00000000 00000000 Call trace: [<818a834c>] (usercopy_abort) from [<804b82ec>] (__check_heap_object+0xd8/0xf4 mm/slub.c:5370) [<804b8214>] (__check_heap_object) from [<804ef490>] (check_heap_object mm/usercopy.c:196 [inline]) [<804b8214>] (__check_heap_object) from [<804ef490>] (__check_object_size mm/usercopy.c:251 [inline]) [<804b8214>] (__check_heap_object) from [<804ef490>] (__check_object_size+0x1ec/0x30c mm/usercopy.c:213) r8:dde60fe0 r7:82e3a4c4 r6:00000000 r5:00000074 r4:82e3a450 [<804ef2a4>] (__check_object_size) from [<8020a0e4>] (check_object_size include/linux/thread_info.h:215 [inline]) [<804ef2a4>] (__check_object_size) from [<8020a0e4>] (__copy_from_user include/linux/uaccess.h:101 [inline]) [<804ef2a4>] (__check_object_size) from [<8020a0e4>] (user_regset_copyin include/linux/regset.h:268 [inline]) [<804ef2a4>] (__check_object_size) from [<8020a0e4>] (fpa_set+0x90/0xfc arch/arm/kernel/ptrace.c:587) r10:0000001a r9:82e3bc00 r8:200001c0 r7:00000000 r6:00000000 r5:00000074 r4:82e3a450 [<8020a054>] (fpa_set) from [<8020a724>] (copy_regset_from_user include/linux/regset.h:337 [inline]) [<8020a054>] (fpa_set) from [<8020a724>] (arch_ptrace+0x2f4/0x3e4 arch/arm/kernel/ptrace.c:762) r5:0000000c r4:200001c0 [<8020a430>] (arch_ptrace) from [<80253570>] (__do_sys_ptrace kernel/ptrace.c:1285 [inline]) [<8020a430>] (arch_ptrace) from [<80253570>] (sys_ptrace+0x23c/0x4e4 kernel/ptrace.c:1258) r7:00000000 r6:00000000 r5:82e3a400 r4:0000000f [<80253334>] (sys_ptrace) from [<80200060>] (ret_fast_syscall+0x0/0x1c arch/arm/mm/proc-v7.S:66) Exception stack(0xe0171fa8 to 0xe0171ff0) 1fa0: 00000000 00000000 0000000f 0000068b 00000000 200001c0 1fc0: 00000000 00000000 0014c2cc 0000001a 7e92d32e 7e92d32f 003d0f00 76b900fc 1fe0: 76b8ff08 76b8fef8 00016ab0 00050bf0 r10:0000001a r9:82e3bc00 r8:80200288 r7:0000001a r6:0014c2cc r5:00000000 r4:00000000 Code: e30c0754 e34801fe e58dc000 ebfff359 (e7f001f2) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: e30c0754 movw r0, #51028 @ 0xc754 4: e34801fe movt r0, #33278 @ 0x81fe 8: e58dc000 str ip, [sp] c: ebfff359 bl 0xffffcd78 * 10: e7f001f2 udf #18 <-- trapping instruction