summaryrefslogtreecommitdiffstats
path: root/fs/dlm/netlink.c
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2009-11-30 23:34:43 +0100
committerDavid Teigland <teigland@redhat.com>2009-11-30 23:34:43 +0100
commit573c24c4af6664ffcd9aa7ba617a35fde2b95534 (patch)
tree9222c0c8921fda5b842c2d1007d911d47bd4fe7c /fs/dlm/netlink.c
parentMerge branch 'i2c-pnx-fixes' of git://git.fluff.org/bjdooks/linux (diff)
downloadlinux-573c24c4af6664ffcd9aa7ba617a35fde2b95534.tar.xz
linux-573c24c4af6664ffcd9aa7ba617a35fde2b95534.zip
dlm: always use GFP_NOFS
Replace all GFP_KERNEL and ls_allocation with GFP_NOFS. ls_allocation would be GFP_KERNEL for userland lockspaces and GFP_NOFS for file system lockspaces. It was discovered that any lockspaces on the system can affect all others by triggering memory reclaim in the file system which could in turn call back into the dlm to acquire locks, deadlocking dlm threads that were shared by all lockspaces, like dlm_recv. Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/netlink.c')
-rw-r--r--fs/dlm/netlink.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/dlm/netlink.c b/fs/dlm/netlink.c
index 55ea369f43a9..052095cd592f 100644
--- a/fs/dlm/netlink.c
+++ b/fs/dlm/netlink.c
@@ -26,7 +26,7 @@ static int prepare_data(u8 cmd, struct sk_buff **skbp, size_t size)
struct sk_buff *skb;
void *data;
- skb = genlmsg_new(size, GFP_KERNEL);
+ skb = genlmsg_new(size, GFP_NOFS);
if (!skb)
return -ENOMEM;