Bug 139775 - Filesystem quota GFP_KERNEL deadlock kswapd on dqio_sem.
Summary: Filesystem quota GFP_KERNEL deadlock kswapd on dqio_sem.
Alias: None
Product: Red Hat Enterprise Linux 2.1
Classification: Red Hat
Component: kernel (Show other bugs)
(Show other bugs)
Version: 2.1
Hardware: All Linux
Target Milestone: ---
Assignee: Don Howard
QA Contact: Brian Brock
Depends On:
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:
Story Points: ---
Clone Of:
Last Closed: 2005-08-25 13:16:43 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

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

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2005:529 normal SHIPPED_LIVE Important: kernel security update 2005-08-25 04:00:00 UTC
Red Hat Product Errata RHSA-2005:551 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)

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):

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

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.


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