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: 3047 Comm: syz-executor723 Not tainted 6.8.0-rc1-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:3899 pc : [<8183ba00>] lr : [<802b7f6c>] psr: 60000013 sp : dfa0de40 ip : dfa0dd88 fp : dfa0de64 r10: 0000001a r9 : 83e52400 r8 : 83e51850 r7 : dde85340 r6 : 00000000 r5 : 00000074 r4 : 00000050 r3 : 83e52400 r2 : 00000000 r1 : 00000000 r0 : 00000066 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none Control: 30c5387d Table: 84580200 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 83e52400 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 83e51800 pointer offset 80 size 3072 Register r9 information: slab task_struct start 83e52400 pointer offset 0 size 3072 Register r10 information: non-paged memory Register r11 information: 2-page vmalloc region starting at 0xdfa0c000 allocated at kernel_clone+0xac/0x3c8 kernel/fork.c:2902 Register r12 information: 2-page vmalloc region starting at 0xdfa0c000 allocated at kernel_clone+0xac/0x3c8 kernel/fork.c:2902 Process syz-executor723 (pid: 3047, stack limit = 0xdfa0c000) Stack: (0xdfa0de40 to 0xdfa0e000) de40: 81fd9e74 81fad508 81fc1c84 00000050 00000074 83e52400 dfa0de94 dfa0de68 de60: 804a8f40 8183b974 00000074 dfa0de78 802162d4 83e51850 00000074 00000000 de80: 83e518c4 dde85340 dfa0decc dfa0de98 804e1690 804a8e74 00000074 00000001 dea0: dfa0debc 83e51850 00000074 00000001 00000000 00000000 83e52400 0000001a dec0: dfa0def4 dfa0ded0 8020a0a0 804e14b0 dfa0def4 dfa0dee0 818600a0 8027b1bc dee0: 00000000 0000000c dfa0df6c dfa0def8 8020a6dc 8020a01c 00000000 00000000 df00: dfa0df1c dfa0df10 8185ff6c 80279930 dfa0df6c dfa0df20 8027f5a4 8185ff48 df20: dfa0df54 00000000 8027b2dc 60000013 8180e410 81825248 dfa0df54 79ab5e58 df40: 0000000f 83e51800 0000000f 79ab5e58 83e51800 0000000f 00000001 00000000 df60: dfa0dfa4 dfa0df70 80253510 8020a3f4 802161a8 79ab5e58 00000000 00000000 df80: 00000000 0008e050 0000001a 80200288 83e52400 0000001a 00000000 dfa0dfa8 dfa0: 80200060 802532e4 00000000 00000000 0000000f 00000be8 00000001 00000000 dfc0: 00000000 00000000 0008e050 0000001a 000f4240 00000000 7ea4ec84 00003a97 dfe0: 7ea4ec70 7ea4ec60 00010638 0002e780 00000010 0000000f 00000000 00000000 Backtrace: [<8183b968>] (usercopy_abort) from [<804a8f40>] (__check_heap_object+0xd8/0xf4 mm/slub.c:5386) [<804a8e68>] (__check_heap_object) from [<804e1690>] (check_heap_object mm/usercopy.c:196 [inline]) [<804a8e68>] (__check_heap_object) from [<804e1690>] (__check_object_size mm/usercopy.c:251 [inline]) [<804a8e68>] (__check_heap_object) from [<804e1690>] (__check_object_size+0x1ec/0x30c mm/usercopy.c:213) r8:dde85340 r7:83e518c4 r6:00000000 r5:00000074 r4:83e51850 [<804e14a4>] (__check_object_size) from [<8020a0a0>] (check_object_size include/linux/thread_info.h:215 [inline]) [<804e14a4>] (__check_object_size) from [<8020a0a0>] (__copy_from_user include/linux/uaccess.h:101 [inline]) [<804e14a4>] (__check_object_size) from [<8020a0a0>] (user_regset_copyin include/linux/regset.h:268 [inline]) [<804e14a4>] (__check_object_size) from [<8020a0a0>] (fpa_set+0x90/0xfc arch/arm/kernel/ptrace.c:587) r10:0000001a r9:83e52400 r8:00000000 r7:00000000 r6:00000001 r5:00000074 r4:83e51850 [<8020a010>] (fpa_set) from [<8020a6dc>] (copy_regset_from_user include/linux/regset.h:337 [inline]) [<8020a010>] (fpa_set) from [<8020a6dc>] (arch_ptrace+0x2f4/0x3e4 arch/arm/kernel/ptrace.c:762) r5:0000000c r4:00000000 [<8020a3e8>] (arch_ptrace) from [<80253510>] (__do_sys_ptrace kernel/ptrace.c:1288 [inline]) [<8020a3e8>] (arch_ptrace) from [<80253510>] (sys_ptrace+0x238/0x4dc kernel/ptrace.c:1261) r7:00000000 r6:00000001 r5:0000000f r4:83e51800 [<802532d8>] (sys_ptrace) from [<80200060>] (ret_fast_syscall+0x0/0x1c arch/arm/mm/proc-v7.S:66) Exception stack(0xdfa0dfa8 to 0xdfa0dff0) dfa0: 00000000 00000000 0000000f 00000be8 00000001 00000000 dfc0: 00000000 00000000 0008e050 0000001a 000f4240 00000000 7ea4ec84 00003a97 dfe0: 7ea4ec70 7ea4ec60 00010638 0002e780 r10:0000001a r9:83e52400 r8:80200288 r7:0000001a r6:0008e050 r5:00000000 r4:00000000 Code: e3090e78 e34801fd e58dc000 ebfff35b (e7f001f2) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: e3090e78 movw r0, #40568 @ 0x9e78 4: e34801fd movt r0, #33277 @ 0x81fd 8: e58dc000 str ip, [sp] c: ebfff35b bl 0xffffcd80 * 10: e7f001f2 udf #18 <-- trapping instruction