Free memory is -12772kB above reserved lowmemorykiller: Killing 'syz-executor.0' (4821) (tgid 4821), adj 1000, to free 36152kB on behalf of 'syz-executor.5' (5447) because cache 58028kB is below limit 65536kB for oom_score_adj 12 Free memory is -13084kB above reserved BUG: sleeping function called from invalid context at kernel/fork.c:905 in_atomic(): 0, irqs_disabled(): 0, pid: 5447, name: syz-executor.5 2 locks held by syz-executor.5/5447: #0: (shrinker_rwsem){++++..}, at: [<00000000398fb6d8>] shrink_slab.part.0+0xb2/0xa20 mm/vmscan.c:472 #1: (rcu_read_lock){......}, at: [<00000000d6b4ff46>] lowmem_scan+0x242/0xb50 drivers/staging/android/lowmemorykiller.c:272 Preemption disabled at: [<00000000c1141f91>] spin_lock include/linux/spinlock.h:302 [inline] [<00000000c1141f91>] task_lock include/linux/sched.h:3217 [inline] [<00000000c1141f91>] get_task_mm+0x20/0xc0 kernel/fork.c:1012 CPU: 1 PID: 5447 Comm: syz-executor.5 Not tainted 4.9.189+ #21 ffff8801c59ef380 ffffffff81b65c01 0000000000000000 0000000000000001 ffff8801a9d2c740 ffffffff810d1010 ffff8801a9d2c740 ffff8801c59ef3b8 ffffffff814018f3 ffff8801a9d2c740 ffffffff82a39fc0 0000000000000389 Call Trace: [<000000005a7984c6>] __dump_stack lib/dump_stack.c:15 [inline] [<000000005a7984c6>] dump_stack+0xc1/0x120 lib/dump_stack.c:51 [<00000000148fcb6d>] ___might_sleep.cold+0x1c1/0x1fa kernel/sched/core.c:8004 [<000000009b4ba72b>] __might_sleep+0x95/0x1a0 kernel/sched/core.c:7961 [<000000004a9b9907>] mmput+0x28/0x370 kernel/fork.c:905 [<00000000d9e0adca>] handle_lmk_event+0xea/0x8a0 drivers/staging/android/lowmemorykiller.c:111 [<00000000b597187e>] lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 [<0000000093076b14>] do_shrink_slab mm/vmscan.c:399 [inline] [<0000000093076b14>] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 [<0000000081e09036>] shrink_slab mm/vmscan.c:466 [inline] [<0000000081e09036>] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 [<00000000c9920ca1>] shrink_zones mm/vmscan.c:2751 [inline] [<00000000c9920ca1>] do_try_to_free_pages mm/vmscan.c:2793 [inline] [<00000000c9920ca1>] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 [<000000009e711a90>] __perform_reclaim mm/page_alloc.c:3332 [inline] [<000000009e711a90>] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] [<000000009e711a90>] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] [<000000009e711a90>] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 [<000000006666d106>] __alloc_pages include/linux/gfp.h:433 [inline] [<000000006666d106>] __alloc_pages_node include/linux/gfp.h:446 [inline] [<000000006666d106>] alloc_pages_node include/linux/gfp.h:460 [inline] [<000000006666d106>] __vmalloc_area_node mm/vmalloc.c:1648 [inline] [<000000006666d106>] __vmalloc_node_range+0x25b/0x610 mm/vmalloc.c:1706 [<00000000824f50ae>] __vmalloc_node mm/vmalloc.c:1749 [inline] [<00000000824f50ae>] __vmalloc_node_flags mm/vmalloc.c:1763 [inline] [<00000000824f50ae>] vmalloc+0x5c/0x70 mm/vmalloc.c:1778 [<00000000c3c0f328>] xt_alloc_table_info+0xc8/0x100 net/netfilter/x_tables.c:997 [<00000000fe51557f>] do_replace.isra.0+0x111/0x480 net/ipv4/netfilter/arp_tables.c:979 [<000000000182df50>] do_arpt_set_ctl+0x108/0x150 net/ipv4/netfilter/arp_tables.c:1469 [<000000008e0bc27b>] nf_sockopt net/netfilter/nf_sockopt.c:105 [inline] [<000000008e0bc27b>] nf_setsockopt+0x6d/0xc0 net/netfilter/nf_sockopt.c:114 [<00000000baae8f3d>] ip_setsockopt net/ipv4/ip_sockglue.c:1247 [inline] [<00000000baae8f3d>] ip_setsockopt+0x8a/0xa0 net/ipv4/ip_sockglue.c:1232 [<000000008d4dca2b>] tcp_setsockopt net/ipv4/tcp.c:2759 [inline] [<000000008d4dca2b>] tcp_setsockopt+0x8a/0xe0 net/ipv4/tcp.c:2753 [<0000000081b6bffd>] sock_common_setsockopt+0x9a/0xe0 net/core/sock.c:2710 [<00000000486a64a9>] SYSC_setsockopt net/socket.c:1786 [inline] [<00000000486a64a9>] SyS_setsockopt+0x159/0x240 net/socket.c:1765 [<00000000221eb7f9>] do_syscall_64+0x1ad/0x5c0 arch/x86/entry/common.c:288 [<0000000072b16209>] entry_SYSCALL_64_after_swapgs+0x5d/0xdb ================================= [ INFO: inconsistent lock state ] 4.9.189+ #21 Tainted: G W --------------------------------- inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-R} usage. syz-executor.5/5447 [HC0[0]:SC0[0]:HE1:SE1] takes: (&mm->mmap_sem){+++++?}, at: [<00000000afcbbbd0>] get_cmdline+0xa3/0x2d0 mm/util.c:641 mark_held_locks+0xb1/0x100 kernel/locking/lockdep.c:2660 __lockdep_trace_alloc kernel/locking/lockdep.c:2882 [inline] lockdep_trace_alloc+0x18c/0x2b0 kernel/locking/lockdep.c:2897 __alloc_pages_nodemask+0x143/0x1a80 mm/page_alloc.c:3803 __alloc_pages include/linux/gfp.h:433 [inline] __alloc_pages_node include/linux/gfp.h:446 [inline] alloc_pages_node include/linux/gfp.h:460 [inline] pmd_alloc_one arch/x86/include/asm/pgalloc.h:88 [inline] __pmd_alloc+0x4a/0x330 mm/memory.c:3742 pmd_alloc include/linux/mm.h:1625 [inline] alloc_new_pmd mm/mremap.c:64 [inline] move_page_tables+0xadb/0xd60 mm/mremap.c:212 shift_arg_pages+0x1ae/0x470 fs/exec.c:642 setup_arg_pages+0x60d/0x7c0 fs/exec.c:754 load_elf_binary+0xa84/0x4a90 fs/binfmt_elf.c:860 search_binary_handler fs/exec.c:1621 [inline] search_binary_handler+0x14f/0x700 fs/exec.c:1599 exec_binprm fs/exec.c:1663 [inline] do_execveat_common.isra.0+0xf81/0x1db0 fs/exec.c:1785 do_execve+0x3a/0x50 fs/exec.c:1829 run_init_process+0x33/0x37 init/main.c:904 try_to_run_init_process+0x18/0x48 init/main.c:913 kernel_init+0xf2/0x163 init/main.c:984 ret_from_fork+0x5c/0x70 arch/x86/entry/entry_64.S:375 irq event stamp: 1526645 hardirqs last enabled at (1526645): [<00000000fe2eec82>] dump_stack+0x100/0x120 lib/dump_stack.c:56 hardirqs last disabled at (1526644): [<000000008f079563>] dump_stack+0x2c/0x120 lib/dump_stack.c:38 softirqs last enabled at (1513256): [<00000000cbc736a6>] __do_softirq+0x474/0x964 kernel/softirq.c:314 softirqs last disabled at (1513213): [<00000000eb3863ae>] invoke_softirq kernel/softirq.c:368 [inline] softirqs last disabled at (1513213): [<00000000eb3863ae>] irq_exit+0x119/0x160 kernel/softirq.c:409 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&mm->mmap_sem); lock(&mm->mmap_sem); *** DEADLOCK *** 3 locks held by syz-executor.5/5447: #0: (shrinker_rwsem){++++..}, at: [<00000000398fb6d8>] shrink_slab.part.0+0xb2/0xa20 mm/vmscan.c:472 #1: (rcu_read_lock){......}, at: [<00000000d6b4ff46>] lowmem_scan+0x242/0xb50 drivers/staging/android/lowmemorykiller.c:272 #2: (lmk_event_lock){+.+.-.}, at: [<00000000e7ed8083>] spin_lock include/linux/spinlock.h:302 [inline] #2: (lmk_event_lock){+.+.-.}, at: [<00000000e7ed8083>] handle_lmk_event+0xfb/0x8a0 drivers/staging/android/lowmemorykiller.c:114 stack backtrace: CPU: 1 PID: 5447 Comm: syz-executor.5 Tainted: G W 4.9.189+ #21 ffff8801c59ef0c0 ffffffff81b65c01 00000000000000f0 ffff8801a9d2c740 ffffffff83caf950 ffff8801a9d2d088 ffffffff84250fc0 ffff8801c59ef138 ffffffff81408330 0000000000000000 ffffffff00000001 0000000000000001 Call Trace: [<000000005a7984c6>] __dump_stack lib/dump_stack.c:15 [inline] [<000000005a7984c6>] dump_stack+0xc1/0x120 lib/dump_stack.c:51 [<00000000099c5bd5>] print_usage_bug kernel/locking/lockdep.c:2387 [inline] [<00000000099c5bd5>] print_usage_bug.cold+0x452/0x5a2 kernel/locking/lockdep.c:2354 [<00000000b5f04b49>] valid_state kernel/locking/lockdep.c:2400 [inline] [<00000000b5f04b49>] mark_lock_irq kernel/locking/lockdep.c:2602 [inline] [<00000000b5f04b49>] mark_lock+0x6c7/0x12e0 kernel/locking/lockdep.c:3065 [<000000006ed69fe6>] mark_irqflags kernel/locking/lockdep.c:2958 [inline] [<000000006ed69fe6>] __lock_acquire+0x5be/0x4390 kernel/locking/lockdep.c:3302 [<00000000e409b02a>] lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 [<000000000ec352ea>] down_read+0x44/0xb0 kernel/locking/rwsem.c:22 [<00000000afcbbbd0>] get_cmdline+0xa3/0x2d0 mm/util.c:641 [<00000000d2fd0282>] handle_lmk_event+0x