rhel7: Hard lockup due to a deadlock between page fault handler and __get_free_pages()

Solution Unverified - Updated -

Issue

  • Hard lockup due to a deadlock between page fault handler and __get_free_pages()
[<ffffffffa835bf4b>] queued_spin_lock_slowpath+0xb/0xf
[<ffffffffa836a400>] _raw_spin_lock+0x20/0x30
[<ffffffffa7de8fa0>] handle_pte_fault+0x160/0xd10
[<ffffffffa8365ce0>] ? bit_wait+0x50/0x50
[<ffffffffa8367bc9>] ? schedule+0x29/0x70
[<ffffffffa83656a1>] ? schedule_timeout+0x221/0x2d0
[<ffffffffa7d00f72>] ? ktime_get_ts64+0x52/0xf0
[<ffffffffa7debc6d>] handle_mm_fault+0x39d/0x9b0
[<ffffffffa836f5e3>] __do_page_fault+0x203/0x500
[<ffffffffa836f915>] do_page_fault+0x35/0x90
[<ffffffffa836b758>] page_fault+0x28/0x30
[<ffffffffa7f84079>] ? copy_user_enhanced_fast_string+0x9/0x20
[<ffffffffc0bf04c3>] ? conv_copyout+0x243/0x380 [vxio]
[<ffffffffc0bf03be>] conv_copyout+0x13e/0x380 [vxio]
[<ffffffffc0bf03be>] conv_copyout+0x13e/0x380 [vxio]
[<ffffffffa836b758>] ? page_fault+0x28/0x30
[<ffffffffc0c22d23>] volioctl_copyout+0x43/0xb0 [vxio]
[<ffffffffc0beb9eb>] vol_get_one_io_stat+0x3fb/0x430 [vxio]
[<ffffffffc0befd8f>] volinfo_ioctl+0xc2f/0xd30 [vxio]
[<ffffffffc0c9eb55>] volsioctl_real+0x3e5/0x510 [vxio]
[<ffffffffa7debc6d>] ? handle_mm_fault+0x39d/0x9b0
[<ffffffffc0723452>] vols_ioctl+0x62/0xb0 [vxspec]
[<ffffffffc07234c1>] vols_unlocked_ioctl+0x21/0x30 [vxspec]
[<ffffffffa7e56210>] do_vfs_ioctl+0x3a0/0x5a0
[<ffffffffa836f608>] ? __do_page_fault+0x228/0x500
[<ffffffffa7e564b1>] SyS_ioctl+0xa1/0xc0
[<ffffffffa8374ddb>] system_call_fastpath+0x22/0x27

Environment

  • Red Hat Enterprise Linux 7.6 and 7.7
  • crash while under memory pressure

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In