usercopy: Kernel memory overwrite attempt detected to SLUB object 'task_struct' (offset 96, size 108)! ------------[ cut here ]------------ kernel BUG at mm/usercopy.c:102! Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM Modules linked in: CPU: 1 PID: 23756 Comm: syz-executor.0 Not tainted 6.3.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:3807 pc : [<817b706c>] lr : [<802aef04>] psr: 60000013 sp : dfec5dd8 ip : dfec5d18 fp : dfec5dfc r10: 818005cc r9 : 00004bf8 r8 : 84bf8be0 r7 : ddea3ee0 r6 : 00000000 r5 : 0000006c r4 : 00000060 r3 : 00000000 r2 : 00000000 r1 : ddddc584 r0 : 00000066 Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none Control: 30c5387d Table: 8507d640 DAC: 00000000 Register r0 information: non-paged memory Register r1 information: non-slab/vmalloc memory Register r2 information: NULL pointer Register r3 information: NULL pointer 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 84bf8b80 pointer offset 96 size 2944 Register r9 information: non-paged memory Register r10 information: non-slab/vmalloc memory Register r11 information: 2-page vmalloc region starting at 0xdfec4000 allocated at kernel_clone+0x9c/0x3d4 kernel/fork.c:2683 Register r12 information: 2-page vmalloc region starting at 0xdfec4000 allocated at kernel_clone+0x9c/0x3d4 kernel/fork.c:2683 Process syz-executor.0 (pid: 23756, stack limit = 0xdfec4000) Stack: (0xdfec5dd8 to 0xdfec6000) 5dc0: 81da9fcc 81d8176c 5de0: 81d94abc 00000060 0000006c 00004bf8 dfec5e2c dfec5e00 804956ec 817b6fe0 5e00: 0000006c dfec5e10 80216d0c 84bf8be0 0000006c 00000000 84bf8c4c ddea3ee0 5e20: dfec5e64 dfec5e30 804b5624 80495620 0000006c 20000344 dfec5e54 84bf8be0 5e40: 0000006c 20000344 0000006c 81800604 0000006c 818005cc dfec5e7c dfec5e68 5e60: 80209fc8 804b5454 84bf8b80 80209f38 dfec5efc dfec5e80 80251740 80209f44 5e80: 00000000 20002a00 20002a00 00000024 80277d68 84bff300 00000000 bc966071 5ea0: 82901f48 84bf8000 dfec5edc dfec5eb8 80276968 802a26ec 00000001 ffffffff 5ec0: 000f4240 ddde5c00 84bf8b80 bc966071 dfec5ef4 20000340 84bf8b80 00004205 5ee0: 20000340 00000000 84bf8000 0000001a dfec5f74 dfec5f00 8020a52c 80251494 5f00: dfec5f1c dfec5f10 817dae24 802756e8 dfec5f74 dfec5f20 8027c28c 817dae00 5f20: dfec5f3c 00000000 00000000 84bf8000 80276968 60000013 8178d188 817a1de8 5f40: dfec5f5c bc966071 00000002 84bf8b80 00000002 bc966071 84bf8b80 00000002 5f60: 00004205 20000340 dfec5fa4 dfec5f78 80251188 8020a480 a0000013 bc966071 5f80: 00000000 00000000 0014c2bc 0000001a 80200288 84bf8000 00000000 dfec5fa8 5fa0: 80200060 80250f20 00000000 00000000 00004205 00000ad4 00000002 20000340 5fc0: 00000000 00000000 0014c2bc 0000001a 7e8c93c2 76b8c6d0 7e8c9534 76b8c20c 5fe0: 76b8c020 76b8c010 00017004 0004dfb0 60000010 00004205 00000000 00000000 Backtrace: [<817b6fd4>] (usercopy_abort) from [<804956ec>] (__check_heap_object+0xd8/0xf4 mm/slub.c:4762) [<80495614>] (__check_heap_object) from [<804b5624>] (check_heap_object mm/usercopy.c:196 [inline]) [<80495614>] (__check_heap_object) from [<804b5624>] (__check_object_size mm/usercopy.c:251 [inline]) [<80495614>] (__check_heap_object) from [<804b5624>] (__check_object_size+0x1dc/0x2fc mm/usercopy.c:213) r8:ddea3ee0 r7:84bf8c4c r6:00000000 r5:0000006c r4:84bf8be0 [<804b5448>] (__check_object_size) from [<80209fc8>] (check_object_size include/linux/thread_info.h:215 [inline]) [<804b5448>] (__check_object_size) from [<80209fc8>] (__copy_from_user include/linux/uaccess.h:79 [inline]) [<804b5448>] (__check_object_size) from [<80209fc8>] (user_regset_copyin include/linux/regset.h:268 [inline]) [<804b5448>] (__check_object_size) from [<80209fc8>] (fpa_set+0x90/0xb0 arch/arm/kernel/ptrace.c:589) r10:818005cc r9:0000006c r8:81800604 r7:0000006c r6:20000344 r5:0000006c r4:84bf8be0 [<80209f38>] (fpa_set) from [<80251740>] (copy_regset_from_user include/linux/regset.h:337 [inline]) [<80209f38>] (fpa_set) from [<80251740>] (ptrace_regset kernel/ptrace.c:925 [inline]) [<80209f38>] (fpa_set) from [<80251740>] (ptrace_request+0x2b8/0x9d0 kernel/ptrace.c:1237) r5:80209f38 r4:84bf8b80 [<80251488>] (ptrace_request) from [<8020a52c>] (arch_ptrace+0xb8/0x40c arch/arm/kernel/ptrace.c:819) r10:0000001a r9:84bf8000 r8:00000000 r7:20000340 r6:00004205 r5:84bf8b80 r4:20000340 [<8020a474>] (arch_ptrace) from [<80251188>] (__do_sys_ptrace kernel/ptrace.c:1296 [inline]) [<8020a474>] (arch_ptrace) from [<80251188>] (sys_ptrace+0x274/0x4f4 kernel/ptrace.c:1269) r7:20000340 r6:00004205 r5:00000002 r4:84bf8b80 [<80250f14>] (sys_ptrace) from [<80200060>] (ret_fast_syscall+0x0/0x1c arch/arm/mm/proc-v7.S:66) Exception stack(0xdfec5fa8 to 0xdfec5ff0) 5fa0: 00000000 00000000 00004205 00000ad4 00000002 20000340 5fc0: 00000000 00000000 0014c2bc 0000001a 7e8c93c2 76b8c6d0 7e8c9534 76b8c20c 5fe0: 76b8c020 76b8c010 00017004 0004dfb0 r9:84bf8000 r8:80200288 r7:0000001a r6:0014c2bc r5:00000000 r4:00000000 Code: e3090fd0 e34801da e58dc000 ebfff87f (e7f001f2) ---[ end trace 0000000000000000 ]--- ---------------- Code disassembly (best guess): 0: e3090fd0 movw r0, #40912 ; 0x9fd0 4: e34801da movt r0, #33242 ; 0x81da 8: e58dc000 str ip, [sp] c: ebfff87f bl 0xffffe210 * 10: e7f001f2 udf #18 <-- trapping instruction