list_add corruption. next->prev should be prev (ffff88021fffac40), but was ffffea000a529420. (next=ffffea000a1a3c20). ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:25! invalid opcode: 0000 [#1] SMP PTI Dumping ftrace buffer: (ftrace buffer empty) Modules linked in: CPU: 1 PID: 27191 Comm: syz-executor4 Not tainted 4.17.0+ #9 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:__list_add_valid+0x275/0x450 lib/list_debug.c:23 RSP: 0018:ffff88015a99ef78 EFLAGS: 00010086 RAX: 0000000000000075 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 000000000001481c RDI: 000000000001481d RBP: ffff88015a99efe0 R08: 0000000000000000 R09: 0000000000000001 R10: 0000000000000000 R11: ffffffff86575950 R12: ffffea000a1a3c20 R13: ffffea000a529420 R14: 0000000000000000 R15: ffffffff8b58d000 FS: 00007f66d3235700(0000) GS:ffff88021fd00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007ffeffecbfd8 CR3: 000000015e228000 CR4: 00000000001406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __list_add include/linux/list.h:60 [inline] list_add include/linux/list.h:79 [inline] __free_one_page+0x1483/0x1800 mm/page_alloc.c:876 free_one_page mm/page_alloc.c:1176 [inline] __free_pages_ok+0x870/0x1680 mm/page_alloc.c:1260 __free_pages+0x109/0x240 mm/page_alloc.c:4442 kmsan_free_page+0x197/0x2e0 mm/kmsan/kmsan.c:959 free_pages_prepare mm/page_alloc.c:996 [inline] __free_pages_ok+0x288/0x1680 mm/page_alloc.c:1254 __free_pages+0x109/0x240 mm/page_alloc.c:4442 free_thread_stack kernel/fork.c:267 [inline] release_task_stack kernel/fork.c:354 [inline] put_task_stack+0x233/0x2f0 kernel/fork.c:365 finish_task_switch+0x17f/0x270 kernel/sched/core.c:2758 context_switch kernel/sched/core.c:2883 [inline] __schedule+0x66b/0x770 kernel/sched/core.c:3524 preempt_schedule_common kernel/sched/core.c:3648 [inline] _cond_resched+0x5e/0xd0 kernel/sched/core.c:4999 prepare_alloc_pages mm/page_alloc.c:4324 [inline] __alloc_pages_nodemask+0x457/0x5cc0 mm/page_alloc.c:4365 alloc_pages_current+0x6b1/0x970 mm/mempolicy.c:2093 alloc_pages include/linux/gfp.h:494 [inline] __vmalloc_area_node mm/vmalloc.c:1699 [inline] __vmalloc_node_range+0x83c/0x1170 mm/vmalloc.c:1759 __vmalloc_node mm/vmalloc.c:1804 [inline] __vmalloc_node_flags_caller+0x12b/0x140 mm/vmalloc.c:1826 kvmalloc_node mm/util.c:430 [inline] kvmalloc include/linux/mm.h:550 [inline] vmemdup_user+0x1c8/0x430 mm/util.c:186 sctp_setsockopt_bindx+0xd3/0x8f0 net/sctp/socket.c:1022 sctp_setsockopt+0x20c3/0x117c0 net/sctp/socket.c:4226 sock_common_setsockopt+0x13b/0x170 net/core/sock.c:3039 __sys_setsockopt+0x496/0x540 net/socket.c:1903 __do_sys_setsockopt net/socket.c:1914 [inline] __se_sys_setsockopt net/socket.c:1911 [inline] __x64_sys_setsockopt+0x15c/0x1c0 net/socket.c:1911 do_syscall_64+0x15b/0x230 arch/x86/entry/common.c:287 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x455b29 RSP: 002b:00007f66d3234c68 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 00007f66d32356d4 RCX: 0000000000455b29 RDX: 0000000000000065 RSI: 0000000000000084 RDI: 0000000000000013 RBP: 000000000072bea0 R08: 54deded00158a180 R09: 0000000000000000 R10: 00000000200000c0 R11: 0000000000000246 R12: 00000000ffffffff R13: 00000000004c18b3 R14: 00000000004d2730 R15: 0000000000000000 Code: 87 80 0c 00 00 00 00 00 00 41 c7 87 20 03 00 00 00 00 00 00 48 c7 c7 e4 b0 9c 8a 31 c0 48 89 d6 4c 89 ea 4c 89 e1 e8 1b a5 3e fd <0f> 0b 66 0f 1f 84 00 00 00 00 00 eb fe 48 8b 7d c8 e8 b5 9d be RIP: __list_add_valid+0x275/0x450 lib/list_debug.c:23 RSP: ffff88015a99ef78 ---[ end trace bc768db74a9b5bea ]---