summaryrefslogtreecommitdiffstats
path: root/efivarfs-nlink-fix.patch
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@redhat.com>2013-01-07 11:25:41 -0500
committerJosh Boyer <jwboyer@redhat.com>2013-01-07 11:25:41 -0500
commitfd89f36b90d433790003bbac221799483e0091e4 (patch)
tree98a2124583461be104490910037f96ed3dd44116 /efivarfs-nlink-fix.patch
parent14f894d108cf360b6a72f6291084e7bf8e77cef2 (diff)
downloadkernel-fd89f36b90d433790003bbac221799483e0091e4.tar.gz
kernel-fd89f36b90d433790003bbac221799483e0091e4.tar.xz
kernel-fd89f36b90d433790003bbac221799483e0091e4.zip
Patch to fix efivarfs underflow from Lingzhu Xiang (rhbz 888163)
Diffstat (limited to 'efivarfs-nlink-fix.patch')
-rw-r--r--efivarfs-nlink-fix.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/efivarfs-nlink-fix.patch b/efivarfs-nlink-fix.patch
new file mode 100644
index 000000000..421658678
--- /dev/null
+++ b/efivarfs-nlink-fix.patch
@@ -0,0 +1,24 @@
+efivarfs_unlink() should drop the file's link count, not the directory's.
+
+Tested-by: Lee, Chun-Yi <jlee@suse.com>
+Signed-off-by: Lingzhu Xiang <lxiang@redhat.com>
+---
+ drivers/firmware/efivars.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c
+index d6b8d2f..60f5324 100644
+--- a/drivers/firmware/efivars.c
++++ b/drivers/firmware/efivars.c
+@@ -995,7 +995,7 @@ static int efivarfs_unlink(struct inode *dir, struct dentry *dentry)
+ list_del(&var->list);
+ spin_unlock(&efivars->lock);
+ efivar_unregister(var);
+- drop_nlink(dir);
++ drop_nlink(dentry->d_inode);
+ dput(dentry);
+ return 0;
+ }
+--
+1.7.7.6
+