Bug 139775 - Filesystem quota GFP_KERNEL deadlock kswapd on dqio_sem.
Summary: Filesystem quota GFP_KERNEL deadlock kswapd on dqio_sem.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 2.1
Classification: Red Hat
Component: kernel
Version: 2.1
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Don Howard
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-11-17 23:03 UTC by Wendy Cheng
Modified: 2010-10-22 02:42 UTC (History)
2 users (show)

Fixed In Version: RHSA-2005-551
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-08-25 13:16:43 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
e.55 patch (421 bytes, text/plain)
2004-11-17 23:06 UTC, Wendy Cheng
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2005:529 0 normal SHIPPED_LIVE Important: kernel security update 2005-08-25 04:00:00 UTC
Red Hat Product Errata RHSA-2005:551 0 normal SHIPPED_LIVE Important: kernel security update 2005-08-25 04:00:00 UTC

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



Note You need to log in before you can comment on or make changes to this bug.