Bug 139775

Summary: Filesystem quota GFP_KERNEL deadlock kswapd on dqio_sem.
Product: Red Hat Enterprise Linux 2.1 Reporter: Wendy Cheng <nobody+wcheng>
Component: kernelAssignee: Don Howard <dhoward>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.1CC: riel, tao
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHSA-2005-551 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-08-25 13:16:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
e.55 patch none

Description Wendy Cheng 2004-11-17 23:03:17 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1)
Gecko/20020830

Description of problem:
From IT#52503 reported by Fujitsu

Any filesystem call (sys_quotactl e.g.) that has read_dquot() in their
code patch would have a chance to obtain the dqio_sem and subsequently
calls getdqbuf() to invoke the kmalloc(..., GFP_KERNEL) function. When
system is low on memory, this would have a chance to wakeup_kswapd().
Then it enters the prune_icache code path that eventually calls
write_dquot() and deadlock in down(dqio_sem).


Version-Release number of selected component (if applicable):
linux-2.4.9-e.55

How reproducible:
Didn't try


Additional info:

Comment 1 Wendy Cheng 2004-11-17 23:06:00 UTC
Created attachment 106925 [details]
e.55 patch

This is the patch that should work with e.55 kernel. I'll do some testings
tomorrow (to make sure if getdqbuf() return NULL, the kernel still behaves
well).

Comment 7 Don Howard 2005-07-08 07:50:38 UTC
A patch addressing this issue has been commited to the RHEL2.1 tree.  (Kernel
version 2.4.9-e.64.1)

Comment 10 Red Hat Bugzilla 2005-08-25 13:16:43 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2005-551.html