Free memory is -6668kB above reserved lowmemorykiller: Killing 'syz-executor.5' (6423) (tgid 6423), adj 1000, to free 72552kB on behalf of 'syz-executor.3' (6443) because cache 23312kB is below limit 65536kB for oom_score_adj 12 Free memory is -13288kB above reserved BUG: sleeping function called from invalid context at kernel/fork.c:905 in_atomic(): 0, irqs_disabled(): 0, pid: 6443, name: syz-executor.3 3 locks held by syz-executor.3/6443: #0: (&mm->mmap_sem){++++++}, at: [<0000000042114c7b>] __mm_populate+0x20c/0x300 mm/gup.c:1143 #1: (shrinker_rwsem){++++..}, at: [<0000000043e04515>] shrink_slab.part.0+0xb2/0xa20 mm/vmscan.c:472 #2: (rcu_read_lock){......}, at: [<0000000079fc1bba>] lowmem_scan+0x242/0xb50 drivers/staging/android/lowmemorykiller.c:272 Preemption disabled at: [<0000000061ea2f69>] spin_lock include/linux/spinlock.h:302 [inline] [<0000000061ea2f69>] task_lock include/linux/sched.h:3217 [inline] [<0000000061ea2f69>] get_task_mm+0x20/0xc0 kernel/fork.c:1012 CPU: 0 PID: 6443 Comm: syz-executor.3 Not tainted 4.9.189+ #22 ffff880006437440 ffffffff81b65c01 0000000000000000 0000000000000001 ffff8800064297c0 ffffffff810d1010 ffff8800064297c0 ffff880006437478 ffffffff814018f3 ffff8800064297c0 ffffffff82a39fc0 0000000000000389 Call Trace: [<000000008e8ae491>] __dump_stack lib/dump_stack.c:15 [inline] [<000000008e8ae491>] dump_stack+0xc1/0x120 lib/dump_stack.c:51 [<00000000b01f6e9e>] ___might_sleep.cold+0x1c1/0x1fa kernel/sched/core.c:8004 [<00000000f655722b>] __might_sleep+0x95/0x1a0 kernel/sched/core.c:7961 [<00000000262dd81c>] mmput+0x28/0x370 kernel/fork.c:905 [<00000000c4f48ad6>] handle_lmk_event+0xea/0x8a0 drivers/staging/android/lowmemorykiller.c:111 [<00000000bb12f43a>] lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 [<00000000f84d52c9>] do_shrink_slab mm/vmscan.c:399 [inline] [<00000000f84d52c9>] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 [<00000000c4c279f5>] shrink_slab mm/vmscan.c:466 [inline] [<00000000c4c279f5>] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 [<00000000353edce9>] shrink_zones mm/vmscan.c:2751 [inline] [<00000000353edce9>] do_try_to_free_pages mm/vmscan.c:2793 [inline] [<00000000353edce9>] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 [<00000000bd73d100>] __perform_reclaim mm/page_alloc.c:3332 [inline] [<00000000bd73d100>] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] [<00000000bd73d100>] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] [<00000000bd73d100>] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 [<000000009048a0e7>] __alloc_pages include/linux/gfp.h:433 [inline] [<000000009048a0e7>] __alloc_pages_node include/linux/gfp.h:446 [inline] [<000000009048a0e7>] alloc_pages_node include/linux/gfp.h:460 [inline] [<000000009048a0e7>] alloc_zeroed_user_highpage_movable include/linux/highmem.h:183 [inline] [<000000009048a0e7>] do_anonymous_page mm/memory.c:2761 [inline] [<000000009048a0e7>] handle_pte_fault mm/memory.c:3545 [inline] [<000000009048a0e7>] __handle_mm_fault mm/memory.c:3634 [inline] [<000000009048a0e7>] handle_mm_fault+0x12e1/0x2420 mm/memory.c:3671 [<00000000ee68607e>] faultin_page mm/gup.c:395 [inline] [<00000000ee68607e>] __get_user_pages+0x3c7/0x10b0 mm/gup.c:597 [<000000003343d005>] populate_vma_page_range+0x19a/0x230 mm/gup.c:1115 [<00000000629ade6c>] __mm_populate+0x1b9/0x300 mm/gup.c:1163 [<000000006ce8f9e0>] mm_populate include/linux/mm.h:2080 [inline] [<000000006ce8f9e0>] SYSC_mlockall mm/mlock.c:817 [inline] [<000000006ce8f9e0>] SyS_mlockall+0x405/0x530 mm/mlock.c:791 [<00000000c1db4ca5>] do_syscall_64+0x1ad/0x5c0 arch/x86/entry/common.c:288 [<000000009017c2dc>] entry_SYSCALL_64_after_swapgs+0x5d/0xdb ================================= [ INFO: inconsistent lock state ] 4.9.189+ #22 Tainted: G W --------------------------------- inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-R} usage. syz-executor.3/6443 [HC0[0]:SC0[0]:HE1:SE1] takes: (&mm->mmap_sem){+++++?}, at: [<00000000b7e416e3>] 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: 14363 hardirqs last enabled at (14363): [<000000008ca0d043>] dump_stack+0x100/0x120 lib/dump_stack.c:56 hardirqs last disabled at (14362): [<000000009aed4ca5>] dump_stack+0x2c/0x120 lib/dump_stack.c:38 softirqs last enabled at (3252): [<000000006e78c6a6>] __do_softirq+0x474/0x964 kernel/softirq.c:314 softirqs last disabled at (3223): [<000000005a7bf753>] invoke_softirq kernel/softirq.c:368 [inline] softirqs last disabled at (3223): [<000000005a7bf753>] 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 *** 4 locks held by syz-executor.3/6443: #0: (&mm->mmap_sem){+++++?}, at: [<0000000042114c7b>] __mm_populate+0x20c/0x300 mm/gup.c:1143 #1: (shrinker_rwsem){++++..}, at: [<0000000043e04515>] shrink_slab.part.0+0xb2/0xa20 mm/vmscan.c:472 #2: (rcu_read_lock){......}, at: [<0000000079fc1bba>] lowmem_scan+0x242/0xb50 drivers/staging/android/lowmemorykiller.c:272 #3: (lmk_event_lock){+.+.-.}, at: [<00000000e5ef1d69>] spin_lock include/linux/spinlock.h:302 [inline] #3: (lmk_event_lock){+.+.-.}, at: [<00000000e5ef1d69>] handle_lmk_event+0xfb/0x8a0 drivers/staging/android/lowmemorykiller.c:114 stack backtrace: CPU: 0 PID: 6443 Comm: syz-executor.3 Tainted: G W 4.9.189+ #22 ffff880006437180 ffffffff81b65c01 00000000000000f0 ffff8800064297c0 ffffffff83caf950 ffff88000642a130 ffffffff84250fc0 ffff8800064371f8 ffffffff81408330 0000000000000000 ffffffff00000001 0000000000000001 Call Trace: [<000000008e8ae491>] __dump_stack lib/dump_stack.c:15 [inline] [<000000008e8ae491>] dump_stack+0xc1/0x120 lib/dump_stack.c:51 [<00000000db24ef9d>] print_usage_bug kernel/locking/lockdep.c:2387 [inline] [<00000000db24ef9d>] print_usage_bug.cold+0x452/0x5a2 kernel/locking/lockdep.c:2354 [<000000005882ae3b>] valid_state kernel/locking/lockdep.c:2400 [inline] [<000000005882ae3b>] mark_lock_irq kernel/locking/lockdep.c:2602 [inline] [<000000005882ae3b>] mark_lock+0x6c7/0x12e0 kernel/locking/lockdep.c:3065 [<00000000b490729e>] mark_irqflags kernel/locking/lockdep.c:2958 [inline] [<00000000b490729e>] __lock_acquire+0x5be/0x4390 kernel/locking/lockdep.c:3302 [<000000009e91c918>] lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 [<000000009dc4eb3c>] down_read+0x44/0xb0 kernel/locking/rwsem.c:22 [<00000000b7e416e3>] get_cmdline+0xa3/0x2d0 mm/util.c:641 [<00000000a0222d86>] handle_lmk_event+0x13c/0x8a0 drivers/staging/android/lowmemorykiller.c:128 [<00000000bb12f43a>] lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 [<00000000f84d52c9>] do_shrink_slab mm/vmscan.c:399 [inline] [<00000000f84d52c9>] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 [<00000000c4c279f5>] shrink_slab mm/vmscan.c:466 [inline] [<00000000c4c279f5>] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 [<00000000353edce9>] shrink_zones mm/vmscan.c:2751 [inline] [<00000000353edce9>] do_try_to_free_pages mm/vmscan.c:2793 [inline] [<00000000353edce9>] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 [<00000000bd73d100>] __perform_reclaim mm/page_alloc.c:3332 [inline] [<00000000bd73d100>] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] [<00000000bd73d100>] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] [<00000000bd73d100>] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 [<000000009048a0e7>] __alloc_pages include/linux/gfp.h:433 [inline] [<000000009048a0e7>] __alloc_pages_node include/linux/gfp.h:446 [inline] [<000000009048a0e7>] alloc_pages_node include/linux/gfp.h:460 [inline] [<000000009048a0e7>] alloc_zeroed_user_highpage_movable include/linux/highmem.h:183 [inline] [<000000009048a0e7>] do_anonymous_page mm/memory.c:2761 [inline] [<000000009048a0e7>] handle_pte_fault mm/memory.c:3545 [inline] [<000000009048a0e7>] __handle_mm_fault mm/memory.c:3634 [inline] [<000000009048a0e7>] handle_mm_fault+0x12e1/0x2420 mm/memory.c:3671 [<00000000ee68607e>] faultin_page mm/gup.c:395 [inline] [<00000000ee68607e>] __get_user_pages+0x3c7/0x10b0 mm/gup.c:597 [<000000003343d005>] populate_vma_page_range+0x19a/0x230 mm/gup.c:1115 [<00000000629ade6c>] __mm_populate+0x1b9/0x300 mm/gup.c:1163 [<000000006ce8f9e0>] mm_populate include/linux/mm.h:2080 [inline] [<000000006ce8f9e0>] SYSC_mlockall mm/mlock.c:817 [inline] [<000000006ce8f9e0>] SyS_mlockall+0x405/0x530 mm/mlock.c:791 [<00000000c1db4ca5>] do_syscall_64+0x1ad/0x5c0 arch/x86/entry/common.c:288 [<000000009017c2dc>] entry_SYSCALL_64_after_swapgs+0x5d/0xdb BUG: scheduling while atomic: syz-executor.3/6443/0x00000002 INFO: lockdep is turned off. Modules linked in: Preemption disabled at: [<00000000e5ef1d69>] spin_lock include/linux/spinlock.h:302 [inline] [<00000000e5ef1d69>] handle_lmk_event+0xfb/0x8a0 drivers/staging/android/lowmemorykiller.c:114