lowmemorykiller: Killing 'syz-executor.5' (27932) (tgid 27932), adj 1000, to free 35936kB on behalf of 'kworker/u4:12' (18876) because cache 55724kB is below limit 65536kB for oom_score_adj 12 Free memory is -13252kB above reserved BUG: sleeping function called from invalid context at kernel/fork.c:905 in_atomic(): 0, irqs_disabled(): 0, pid: 18876, name: kworker/u4:12 4 locks held by kworker/u4:12/18876: #0: (&sig->cred_guard_mutex){+.+.+.}, at: [<00000000020e30d1>] prepare_bprm_creds+0x55/0x120 fs/exec.c:1369 #1: (&type->i_mutex_dir_key#3){++++++}, at: [<00000000f2220a00>] inode_lock_shared include/linux/fs.h:781 [inline] #1: (&type->i_mutex_dir_key#3){++++++}, at: [<00000000f2220a00>] lookup_slow+0x160/0x480 fs/namei.c:1686 #2: (shrinker_rwsem){++++..}, at: [<0000000073e20c6f>] shrink_slab.part.0+0xb2/0xa20 mm/vmscan.c:472 #3: (rcu_read_lock){......}, at: [<00000000e3843aa5>] lowmem_scan+0x242/0xb50 drivers/staging/android/lowmemorykiller.c:272 Preemption disabled at: [<0000000051cded99>] spin_lock include/linux/spinlock.h:302 [inline] [<0000000051cded99>] task_lock include/linux/sched.h:3217 [inline] [<0000000051cded99>] get_task_mm+0x20/0xc0 kernel/fork.c:1012 CPU: 1 PID: 18876 Comm: kworker/u4:12 Not tainted 4.9.189+ #22 ffff8801c0276a58 ffffffff81b65c01 0000000000000000 0000000000000001 ffff88016d7a17c0 ffffffff810d1010 ffff88016d7a17c0 ffff8801c0276a90 ffffffff814018f3 ffff88016d7a17c0 ffffffff82a39fc0 0000000000000389 Call Trace: [<0000000054f8179b>] __dump_stack lib/dump_stack.c:15 [inline] [<0000000054f8179b>] dump_stack+0xc1/0x120 lib/dump_stack.c:51 [<0000000093e4c7a7>] ___might_sleep.cold+0x1c1/0x1fa kernel/sched/core.c:8004 [<00000000eda494d0>] __might_sleep+0x95/0x1a0 kernel/sched/core.c:7961 [<00000000c6956751>] mmput+0x28/0x370 kernel/fork.c:905 [<000000005930bbf3>] handle_lmk_event+0xea/0x8a0 drivers/staging/android/lowmemorykiller.c:111 [<00000000ea910bcb>] lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 [<000000002b87c9b6>] do_shrink_slab mm/vmscan.c:399 [inline] [<000000002b87c9b6>] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 [<000000009ff9fdb9>] shrink_slab mm/vmscan.c:466 [inline] [<000000009ff9fdb9>] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 [<00000000ed55c969>] shrink_zones mm/vmscan.c:2751 [inline] [<00000000ed55c969>] do_try_to_free_pages mm/vmscan.c:2793 [inline] [<00000000ed55c969>] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 [<0000000009239c18>] __perform_reclaim mm/page_alloc.c:3332 [inline] [<0000000009239c18>] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] [<0000000009239c18>] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] [<0000000009239c18>] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 [<00000000297fdf56>] __alloc_pages include/linux/gfp.h:433 [inline] [<00000000297fdf56>] __alloc_pages_node include/linux/gfp.h:446 [inline] [<00000000297fdf56>] alloc_pages_node include/linux/gfp.h:460 [inline] [<00000000297fdf56>] __page_cache_alloc include/linux/pagemap.h:208 [inline] [<00000000297fdf56>] pagecache_get_page+0x248/0x740 mm/filemap.c:1367 [<00000000b1d12549>] find_or_create_page include/linux/pagemap.h:310 [inline] [<00000000b1d12549>] grow_dev_page fs/buffer.c:1006 [inline] [<00000000b1d12549>] grow_buffers fs/buffer.c:1079 [inline] [<00000000b1d12549>] __getblk_slow fs/buffer.c:1106 [inline] [<00000000b1d12549>] __getblk_gfp+0x239/0x700 fs/buffer.c:1387 [<0000000075b373ec>] __getblk include/linux/buffer_head.h:373 [inline] [<0000000075b373ec>] __breadahead+0x79/0xf0 fs/buffer.c:1397 [<000000006131d669>] sb_breadahead include/linux/buffer_head.h:312 [inline] [<000000006131d669>] __ext4_get_inode_loc+0x94c/0xf00 fs/ext4/inode.c:4389 [<00000000299956c1>] ext4_iget+0x1c4/0x3720 fs/ext4/inode.c:4536 [<00000000de01e18c>] ext4_iget_normal+0x8a/0xd0 fs/ext4/inode.c:4774 [<0000000045168aba>] ext4_lookup+0x310/0x5f0 fs/ext4/namei.c:1613 [<00000000013a202e>] lookup_slow+0x24b/0x480 fs/namei.c:1709 [<00000000cb3e580a>] walk_component+0x71e/0xce0 fs/namei.c:1825 [<00000000c6b44dfc>] link_path_walk+0x8b4/0x1210 fs/namei.c:2161 [<00000000bfd36f0d>] path_openat+0x18e/0x2f60 fs/namei.c:3580 [<000000001f63049a>] do_filp_open+0x1a1/0x280 fs/namei.c:3615 [<000000009eab6668>] do_open_execat+0x10c/0x6a0 fs/exec.c:844 [<00000000ae4ba4b5>] do_execveat_common.isra.0+0x698/0x1db0 fs/exec.c:1723 [<000000003430d49a>] do_execve+0x3a/0x50 fs/exec.c:1829 [<00000000518b66da>] call_usermodehelper_exec_async+0x295/0x4c0 kernel/kmod.c:252 [<00000000925556b4>] ret_from_fork+0x5c/0x70 arch/x86/entry/entry_64.S:375 ====================================================== [ INFO: RECLAIM_FS-safe -> RECLAIM_FS-unsafe lock order detected ] 4.9.189+ #22 Tainted: G W ------------------------------------------------------ kworker/u4:12/18876 [HC0[0]:SC0[0]:HE1:SE1] is trying to acquire: (&mm->mmap_sem){++++++}, at: [<00000000d5152d13>] get_cmdline+0xa3/0x2d0 mm/util.c:641 and this task is already holding: (lmk_event_lock){+.+.-.}, at: [<000000000a71cd10>] spin_lock include/linux/spinlock.h:302 [inline] (lmk_event_lock){+.+.-.}, at: [<000000000a71cd10>] handle_lmk_event+0xfb/0x8a0 drivers/staging/android/lowmemorykiller.c:114 (lmk_event_lock){+.+.-.} -> (&mm->mmap_sem){++++++} but this new dependency connects a RECLAIM_FS-irq-safe lock: (lmk_event_lock){+.+.-.} ... which became RECLAIM_FS-irq-safe at: mark_irqflags kernel/locking/lockdep.c:2958 [inline] __lock_acquire+0x5be/0x4390 kernel/locking/lockdep.c:3302 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 __raw_spin_lock include/linux/spinlock_api_smp.h:144 [inline] _raw_spin_lock+0x38/0x50 kernel/locking/spinlock.c:151 spin_lock include/linux/spinlock.h:302 [inline] handle_lmk_event+0xfb/0x8a0 drivers/staging/android/lowmemorykiller.c:114 lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 do_shrink_slab mm/vmscan.c:399 [inline] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 shrink_slab mm/vmscan.c:466 [inline] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 shrink_zones mm/vmscan.c:2751 [inline] do_try_to_free_pages mm/vmscan.c:2793 [inline] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 __perform_reclaim mm/page_alloc.c:3332 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 __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] shmem_alloc_page mm/shmem.c:1437 [inline] shmem_alloc_and_acct_page mm/shmem.c:1462 [inline] shmem_getpage_gfp+0x3f3/0x1b00 mm/shmem.c:1734 shmem_getpage mm/shmem.c:123 [inline] shmem_fallocate+0x55b/0xab0 mm/shmem.c:2756 vfs_fallocate+0x407/0x6a0 fs/open.c:329 ioctl_preallocate+0x1a1/0x210 fs/ioctl.c:474 file_ioctl fs/ioctl.c:490 [inline] do_vfs_ioctl+0xf91/0x11d0 fs/ioctl.c:677 SYSC_ioctl fs/ioctl.c:694 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:685 do_syscall_64+0x1ad/0x5c0 arch/x86/entry/common.c:288 entry_SYSCALL_64_after_swapgs+0x5d/0xdb to a RECLAIM_FS-irq-unsafe lock: (&mm->mmap_sem){++++++} ... which became RECLAIM_FS-irq-unsafe at: ... 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 other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&mm->mmap_sem); local_irq_disable(); lock(lmk_event_lock); lock(&mm->mmap_sem); lock(lmk_event_lock); *** DEADLOCK *** 5 locks held by kworker/u4:12/18876: #0: (&sig->cred_guard_mutex){+.+.+.}, at: [<00000000020e30d1>] prepare_bprm_creds+0x55/0x120 fs/exec.c:1369 #1: (&type->i_mutex_dir_key#3){++++++}, at: [<00000000f2220a00>] inode_lock_shared include/linux/fs.h:781 [inline] #1: (&type->i_mutex_dir_key#3){++++++}, at: [<00000000f2220a00>] lookup_slow+0x160/0x480 fs/namei.c:1686 #2: (shrinker_rwsem){++++..}, at: [<0000000073e20c6f>] shrink_slab.part.0+0xb2/0xa20 mm/vmscan.c:472 #3: (rcu_read_lock){......}, at: [<00000000e3843aa5>] lowmem_scan+0x242/0xb50 drivers/staging/android/lowmemorykiller.c:272 #4: (lmk_event_lock){+.+.-.}, at: [<000000000a71cd10>] spin_lock include/linux/spinlock.h:302 [inline] #4: (lmk_event_lock){+.+.-.}, at: [<000000000a71cd10>] handle_lmk_event+0xfb/0x8a0 drivers/staging/android/lowmemorykiller.c:114 the dependencies between RECLAIM_FS-irq-safe lock and the holding lock: -> (lmk_event_lock){+.+.-.} ops: 3 { HARDIRQ-ON-W at: mark_irqflags kernel/locking/lockdep.c:2937 [inline] __lock_acquire+0xfa9/0x4390 kernel/locking/lockdep.c:3302 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 __raw_spin_lock include/linux/spinlock_api_smp.h:144 [inline] _raw_spin_lock+0x38/0x50 kernel/locking/spinlock.c:151 spin_lock include/linux/spinlock.h:302 [inline] handle_lmk_event+0xfb/0x8a0 drivers/staging/android/lowmemorykiller.c:114 lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 do_shrink_slab mm/vmscan.c:399 [inline] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 shrink_slab mm/vmscan.c:466 [inline] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 shrink_zones mm/vmscan.c:2751 [inline] do_try_to_free_pages mm/vmscan.c:2793 [inline] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 __perform_reclaim mm/page_alloc.c:3332 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 __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] shmem_alloc_page mm/shmem.c:1437 [inline] shmem_alloc_and_acct_page mm/shmem.c:1462 [inline] shmem_getpage_gfp+0x3f3/0x1b00 mm/shmem.c:1734 shmem_getpage mm/shmem.c:123 [inline] shmem_fallocate+0x55b/0xab0 mm/shmem.c:2756 vfs_fallocate+0x407/0x6a0 fs/open.c:329 ioctl_preallocate+0x1a1/0x210 fs/ioctl.c:474 file_ioctl fs/ioctl.c:490 [inline] do_vfs_ioctl+0xf91/0x11d0 fs/ioctl.c:677 SYSC_ioctl fs/ioctl.c:694 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:685 do_syscall_64+0x1ad/0x5c0 arch/x86/entry/common.c:288 entry_SYSCALL_64_after_swapgs+0x5d/0xdb SOFTIRQ-ON-W at: mark_irqflags kernel/locking/lockdep.c:2941 [inline] __lock_acquire+0x557/0x4390 kernel/locking/lockdep.c:3302 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 __raw_spin_lock include/linux/spinlock_api_smp.h:144 [inline] _raw_spin_lock+0x38/0x50 kernel/locking/spinlock.c:151 spin_lock include/linux/spinlock.h:302 [inline] handle_lmk_event+0xfb/0x8a0 drivers/staging/android/lowmemorykiller.c:114 lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 do_shrink_slab mm/vmscan.c:399 [inline] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 shrink_slab mm/vmscan.c:466 [inline] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 shrink_zones mm/vmscan.c:2751 [inline] do_try_to_free_pages mm/vmscan.c:2793 [inline] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 __perform_reclaim mm/page_alloc.c:3332 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 __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] shmem_alloc_page mm/shmem.c:1437 [inline] shmem_alloc_and_acct_page mm/shmem.c:1462 [inline] shmem_getpage_gfp+0x3f3/0x1b00 mm/shmem.c:1734 shmem_getpage mm/shmem.c:123 [inline] shmem_fallocate+0x55b/0xab0 mm/shmem.c:2756 vfs_fallocate+0x407/0x6a0 fs/open.c:329 ioctl_preallocate+0x1a1/0x210 fs/ioctl.c:474 file_ioctl fs/ioctl.c:490 [inline] do_vfs_ioctl+0xf91/0x11d0 fs/ioctl.c:677 SYSC_ioctl fs/ioctl.c:694 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:685 do_syscall_64+0x1ad/0x5c0 arch/x86/entry/common.c:288 entry_SYSCALL_64_after_swapgs+0x5d/0xdb IN-RECLAIM_FS-W at: mark_irqflags kernel/locking/lockdep.c:2958 [inline] __lock_acquire+0x5be/0x4390 kernel/locking/lockdep.c:3302 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 __raw_spin_lock include/linux/spinlock_api_smp.h:144 [inline] _raw_spin_lock+0x38/0x50 kernel/locking/spinlock.c:151 spin_lock include/linux/spinlock.h:302 [inline] handle_lmk_event+0xfb/0x8a0 drivers/staging/android/lowmemorykiller.c:114 lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 do_shrink_slab mm/vmscan.c:399 [inline] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 shrink_slab mm/vmscan.c:466 [inline] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 shrink_zones mm/vmscan.c:2751 [inline] do_try_to_free_pages mm/vmscan.c:2793 [inline] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 __perform_reclaim mm/page_alloc.c:3332 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 __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] shmem_alloc_page mm/shmem.c:1437 [inline] shmem_alloc_and_acct_page mm/shmem.c:1462 [inline] shmem_getpage_gfp+0x3f3/0x1b00 mm/shmem.c:1734 shmem_getpage mm/shmem.c:123 [inline] shmem_fallocate+0x55b/0xab0 mm/shmem.c:2756 vfs_fallocate+0x407/0x6a0 fs/open.c:329 ioctl_preallocate+0x1a1/0x210 fs/ioctl.c:474 file_ioctl fs/ioctl.c:490 [inline] do_vfs_ioctl+0xf91/0x11d0 fs/ioctl.c:677 SYSC_ioctl fs/ioctl.c:694 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:685 do_syscall_64+0x1ad/0x5c0 arch/x86/entry/common.c:288 entry_SYSCALL_64_after_swapgs+0x5d/0xdb INITIAL USE at: __lock_acquire+0x5e0/0x4390 kernel/locking/lockdep.c:3306 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 __raw_spin_lock include/linux/spinlock_api_smp.h:144 [inline] _raw_spin_lock+0x38/0x50 kernel/locking/spinlock.c:151 spin_lock include/linux/spinlock.h:302 [inline] handle_lmk_event+0xfb/0x8a0 drivers/staging/android/lowmemorykiller.c:114 lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 do_shrink_slab mm/vmscan.c:399 [inline] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 shrink_slab mm/vmscan.c:466 [inline] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 shrink_zones mm/vmscan.c:2751 [inline] do_try_to_free_pages mm/vmscan.c:2793 [inline] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 __perform_reclaim mm/page_alloc.c:3332 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 __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] shmem_alloc_page mm/shmem.c:1437 [inline] shmem_alloc_and_acct_page mm/shmem.c:1462 [inline] shmem_getpage_gfp+0x3f3/0x1b00 mm/shmem.c:1734 shmem_getpage mm/shmem.c:123 [inline] shmem_fallocate+0x55b/0xab0 mm/shmem.c:2756 vfs_fallocate+0x407/0x6a0 fs/open.c:329 ioctl_preallocate+0x1a1/0x210 fs/ioctl.c:474 file_ioctl fs/ioctl.c:490 [inline] do_vfs_ioctl+0xf91/0x11d0 fs/ioctl.c:677 SYSC_ioctl fs/ioctl.c:694 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:685 do_syscall_64+0x1ad/0x5c0 arch/x86/entry/common.c:288 entry_SYSCALL_64_after_swapgs+0x5d/0xdb } ... key at: [<000000008eb30e44>] lmk_event_lock+0x18/0x60 ... acquired at: check_irq_usage+0x65/0xe0 kernel/locking/lockdep.c:1624 check_prev_add_irq kernel/locking/lockdep_states.h:9 [inline] check_prev_add kernel/locking/lockdep.c:1832 [inline] check_prevs_add kernel/locking/lockdep.c:1938 [inline] validate_chain kernel/locking/lockdep.c:2265 [inline] __lock_acquire+0x1da9/0x4390 kernel/locking/lockdep.c:3345 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 down_read+0x44/0xb0 kernel/locking/rwsem.c:22 get_cmdline+0xa3/0x2d0 mm/util.c:641 handle_lmk_event+0x13c/0x8a0 drivers/staging/android/lowmemorykiller.c:128 lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 do_shrink_slab mm/vmscan.c:399 [inline] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 shrink_slab mm/vmscan.c:466 [inline] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 shrink_zones mm/vmscan.c:2751 [inline] do_try_to_free_pages mm/vmscan.c:2793 [inline] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 __perform_reclaim mm/page_alloc.c:3332 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 __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] __page_cache_alloc include/linux/pagemap.h:208 [inline] pagecache_get_page+0x248/0x740 mm/filemap.c:1367 find_or_create_page include/linux/pagemap.h:310 [inline] grow_dev_page fs/buffer.c:1006 [inline] grow_buffers fs/buffer.c:1079 [inline] __getblk_slow fs/buffer.c:1106 [inline] __getblk_gfp+0x239/0x700 fs/buffer.c:1387 __getblk include/linux/buffer_head.h:373 [inline] __breadahead+0x79/0xf0 fs/buffer.c:1397 sb_breadahead include/linux/buffer_head.h:312 [inline] __ext4_get_inode_loc+0x94c/0xf00 fs/ext4/inode.c:4389 ext4_iget+0x1c4/0x3720 fs/ext4/inode.c:4536 ext4_iget_normal+0x8a/0xd0 fs/ext4/inode.c:4774 ext4_lookup+0x310/0x5f0 fs/ext4/namei.c:1613 lookup_slow+0x24b/0x480 fs/namei.c:1709 walk_component+0x71e/0xce0 fs/namei.c:1825 link_path_walk+0x8b4/0x1210 fs/namei.c:2161 path_openat+0x18e/0x2f60 fs/namei.c:3580 do_filp_open+0x1a1/0x280 fs/namei.c:3615 do_open_execat+0x10c/0x6a0 fs/exec.c:844 do_execveat_common.isra.0+0x698/0x1db0 fs/exec.c:1723 do_execve+0x3a/0x50 fs/exec.c:1829 call_usermodehelper_exec_async+0x295/0x4c0 kernel/kmod.c:252 ret_from_fork+0x5c/0x70 arch/x86/entry/entry_64.S:375 the dependencies between the lock to be acquired and RECLAIM_FS-irq-unsafe lock: -> (&mm->mmap_sem){++++++} ops: 55422780 { HARDIRQ-ON-W at: mark_irqflags kernel/locking/lockdep.c:2937 [inline] __lock_acquire+0xfa9/0x4390 kernel/locking/lockdep.c:3302 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 down_write_killable+0x44/0xc0 kernel/locking/rwsem.c:66 __bprm_mm_init fs/exec.c:292 [inline] bprm_mm_init fs/exec.c:409 [inline] do_execveat_common.isra.0+0x9f8/0x1db0 fs/exec.c:1754 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 HARDIRQ-ON-R at: mark_irqflags kernel/locking/lockdep.c:2929 [inline] __lock_acquire+0x502/0x4390 kernel/locking/lockdep.c:3302 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 __might_fault mm/memory.c:4054 [inline] __might_fault+0x14a/0x1d0 mm/memory.c:4039 __clear_user+0x23/0x70 arch/x86/lib/usercopy_64.c:18 clear_user+0x79/0xd0 arch/x86/lib/usercopy_64.c:52 padzero fs/binfmt_elf.c:119 [inline] load_elf_binary+0x2f63/0x4a90 fs/binfmt_elf.c:1042 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 SOFTIRQ-ON-W at: mark_irqflags kernel/locking/lockdep.c:2941 [inline] __lock_acquire+0x557/0x4390 kernel/locking/lockdep.c:3302 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 down_write_killable+0x44/0xc0 kernel/locking/rwsem.c:66 __bprm_mm_init fs/exec.c:292 [inline] bprm_mm_init fs/exec.c:409 [inline] do_execveat_common.isra.0+0x9f8/0x1db0 fs/exec.c:1754 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 SOFTIRQ-ON-R at: mark_irqflags kernel/locking/lockdep.c:2941 [inline] __lock_acquire+0x557/0x4390 kernel/locking/lockdep.c:3302 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 __might_fault mm/memory.c:4054 [inline] __might_fault+0x14a/0x1d0 mm/memory.c:4039 __clear_user+0x23/0x70 arch/x86/lib/usercopy_64.c:18 clear_user+0x79/0xd0 arch/x86/lib/usercopy_64.c:52 padzero fs/binfmt_elf.c:119 [inline] load_elf_binary+0x2f63/0x4a90 fs/binfmt_elf.c:1042 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 RECLAIM_FS-ON-W at: 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 RECLAIM_FS-ON-R at: 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] __get_free_pages+0x18/0x50 mm/page_alloc.c:3892 get_zeroed_page+0x11/0x20 mm/page_alloc.c:3901 pud_alloc_one arch/x86/include/asm/pgalloc.h:136 [inline] __pud_alloc+0x3f/0x1d0 mm/memory.c:3719 pud_alloc include/linux/mm.h:1619 [inline] __handle_mm_fault mm/memory.c:3603 [inline] handle_mm_fault+0xcab/0x2420 mm/memory.c:3671 __do_page_fault+0x3f0/0xa60 arch/x86/mm/fault.c:1404 do_page_fault+0x28/0x30 arch/x86/mm/fault.c:1467 page_fault+0x25/0x30 arch/x86/entry/entry_64.S:956 clear_user+0x79/0xd0 arch/x86/lib/usercopy_64.c:52 padzero fs/binfmt_elf.c:119 [inline] load_elf_binary+0x2f63/0x4a90 fs/binfmt_elf.c:1042 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 INITIAL USE at: __lock_acquire+0x5e0/0x4390 kernel/locking/lockdep.c:3306 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 down_write_killable+0x44/0xc0 kernel/locking/rwsem.c:66 __bprm_mm_init fs/exec.c:292 [inline] bprm_mm_init fs/exec.c:409 [inline] do_execveat_common.isra.0+0x9f8/0x1db0 fs/exec.c:1754 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 } ... key at: [<0000000093b9b95a>] __key.62687+0x0/0x40 ... acquired at: check_irq_usage+0x65/0xe0 kernel/locking/lockdep.c:1624 check_prev_add_irq kernel/locking/lockdep_states.h:9 [inline] check_prev_add kernel/locking/lockdep.c:1832 [inline] check_prevs_add kernel/locking/lockdep.c:1938 [inline] validate_chain kernel/locking/lockdep.c:2265 [inline] __lock_acquire+0x1da9/0x4390 kernel/locking/lockdep.c:3345 lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 down_read+0x44/0xb0 kernel/locking/rwsem.c:22 get_cmdline+0xa3/0x2d0 mm/util.c:641 handle_lmk_event+0x13c/0x8a0 drivers/staging/android/lowmemorykiller.c:128 lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 do_shrink_slab mm/vmscan.c:399 [inline] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 shrink_slab mm/vmscan.c:466 [inline] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 shrink_zones mm/vmscan.c:2751 [inline] do_try_to_free_pages mm/vmscan.c:2793 [inline] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 __perform_reclaim mm/page_alloc.c:3332 [inline] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 __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] __page_cache_alloc include/linux/pagemap.h:208 [inline] pagecache_get_page+0x248/0x740 mm/filemap.c:1367 find_or_create_page include/linux/pagemap.h:310 [inline] grow_dev_page fs/buffer.c:1006 [inline] grow_buffers fs/buffer.c:1079 [inline] __getblk_slow fs/buffer.c:1106 [inline] __getblk_gfp+0x239/0x700 fs/buffer.c:1387 __getblk include/linux/buffer_head.h:373 [inline] __breadahead+0x79/0xf0 fs/buffer.c:1397 sb_breadahead include/linux/buffer_head.h:312 [inline] __ext4_get_inode_loc+0x94c/0xf00 fs/ext4/inode.c:4389 ext4_iget+0x1c4/0x3720 fs/ext4/inode.c:4536 ext4_iget_normal+0x8a/0xd0 fs/ext4/inode.c:4774 ext4_lookup+0x310/0x5f0 fs/ext4/namei.c:1613 lookup_slow+0x24b/0x480 fs/namei.c:1709 walk_component+0x71e/0xce0 fs/namei.c:1825 link_path_walk+0x8b4/0x1210 fs/namei.c:2161 path_openat+0x18e/0x2f60 fs/namei.c:3580 do_filp_open+0x1a1/0x280 fs/namei.c:3615 do_open_execat+0x10c/0x6a0 fs/exec.c:844 do_execveat_common.isra.0+0x698/0x1db0 fs/exec.c:1723 do_execve+0x3a/0x50 fs/exec.c:1829 call_usermodehelper_exec_async+0x295/0x4c0 kernel/kmod.c:252 ret_from_fork+0x5c/0x70 arch/x86/entry/entry_64.S:375 stack backtrace: CPU: 1 PID: 18876 Comm: kworker/u4:12 Tainted: G W 4.9.189+ #22 ffff8801c0276628 ffffffff81b65c01 1ffff1003804ecd8 ffff8801c0276790 ffffffff83d0d3d0 ffffffff83caf950 ffff8801c0276720 ffff8801c0276830 ffffffff814078bc 0000000000000000 ffff880100000001 0000000000000001 Call Trace: [<0000000054f8179b>] __dump_stack lib/dump_stack.c:15 [inline] [<0000000054f8179b>] dump_stack+0xc1/0x120 lib/dump_stack.c:51 [<00000000cd9c981e>] print_bad_irq_dependency kernel/locking/lockdep.c:1536 [inline] [<00000000cd9c981e>] check_usage.cold+0x83f/0xc67 kernel/locking/lockdep.c:1568 [<00000000449fa67f>] check_irq_usage+0x65/0xe0 kernel/locking/lockdep.c:1624 [<000000000affa56b>] check_prev_add_irq kernel/locking/lockdep_states.h:9 [inline] [<000000000affa56b>] check_prev_add kernel/locking/lockdep.c:1832 [inline] [<000000000affa56b>] check_prevs_add kernel/locking/lockdep.c:1938 [inline] [<000000000affa56b>] validate_chain kernel/locking/lockdep.c:2265 [inline] [<000000000affa56b>] __lock_acquire+0x1da9/0x4390 kernel/locking/lockdep.c:3345 [<0000000026e00f6f>] lock_acquire+0x133/0x3d0 kernel/locking/lockdep.c:3756 [<000000008f022bb1>] down_read+0x44/0xb0 kernel/locking/rwsem.c:22 [<00000000d5152d13>] get_cmdline+0xa3/0x2d0 mm/util.c:641 [<00000000e3fed4ba>] handle_lmk_event+0x13c/0x8a0 drivers/staging/android/lowmemorykiller.c:128 [<00000000ea910bcb>] lowmem_scan+0x695/0xb50 drivers/staging/android/lowmemorykiller.c:345 [<000000002b87c9b6>] do_shrink_slab mm/vmscan.c:399 [inline] [<000000002b87c9b6>] shrink_slab.part.0+0x3cf/0xa20 mm/vmscan.c:502 [<000000009ff9fdb9>] shrink_slab mm/vmscan.c:466 [inline] [<000000009ff9fdb9>] shrink_node+0x1ed/0x750 mm/vmscan.c:2604 [<00000000ed55c969>] shrink_zones mm/vmscan.c:2751 [inline] [<00000000ed55c969>] do_try_to_free_pages mm/vmscan.c:2793 [inline] [<00000000ed55c969>] try_to_free_pages+0x397/0xbd0 mm/vmscan.c:3004 [<0000000009239c18>] __perform_reclaim mm/page_alloc.c:3332 [inline] [<0000000009239c18>] __alloc_pages_direct_reclaim mm/page_alloc.c:3354 [inline] [<0000000009239c18>] __alloc_pages_slowpath mm/page_alloc.c:3704 [inline] [<0000000009239c18>] __alloc_pages_nodemask+0x930/0x1a80 mm/page_alloc.c:3861 [<00000000297fdf56>] __alloc_pages include/linux/gfp.h:433 [inline] [<00000000297fdf56>] __alloc_pages_node include/linux/gfp.h:446 [inline] [<00000000297fdf56>] alloc_pages_node include/linux/gfp.h:460 [inline] [<00000000297fdf56>] __page_cache_alloc include/linux/pagemap.h:208 [inline] [<00000000297fdf56>] pagecache_get_page+0x248/0x740 mm/filemap.c:1367 [<00000000b1d12549>] find_or_create_page include/linux/pagemap.h:310 [inline] [<00000000b1d12549>] grow_dev_page fs/buffer.c:1006 [inline] [<00000000b1d12549>] grow_buffers fs/buffer.c:1079 [inline] [<00000000b1d12549>] __getblk_slow fs/buffer.c:1106 [inline] [<00000000b1d12549>] __getblk_gfp+0x239/0x700 fs/buffer.c:1387 [<0000000075b373ec>] __getblk include/linux/buffer_head.h:373 [inline] [<0000000075b373ec>] __breadahead+0x79/0xf0 fs/buffer.c:1397 [<000000006131d669>] sb_breadahead include/linux/buffer_head.h:312 [inline] [<000000006131d669>] __ext4_get_inode_loc+0x94c/0xf00 fs/ext4/inode.c:4389 [<00000000299956c1>] ext4_iget+0x1c4/0x3720 fs/ext4/inode.c:4536 [<00000000de01e18c>] ext4_iget_normal+0x8a/0xd0 fs/ext4/inode.c:4774 [<0000000045168aba>] ext4_lookup+0x310/0x5f0 fs/ext4/namei.c:1613 [<00000000013a202e>] lookup_slow+0x24b/0x480 fs/namei.c:1709 [<00000000bc9804da>] ? se