summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-10-18 10:26:10 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-10-18 10:26:10 -0700
commite56d9fccb1c78283d7c163bb354be7cbbc93d9fb (patch)
tree6c31ff5a5ddb13e32ee19cbe5238e36042588de8
parent0e6e58f941176033fd9a224b39527b12f9cbb05e (diff)
parent9b32011acdc4428474b7cba865f713a11b9b9bd3 (diff)
downloadlinux-e56d9fccb1c78283d7c163bb354be7cbbc93d9fb.tar.bz2
Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
Pull selinux fix from James Morris: "Fix for a list corruption bug in the SELinux code" * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: selinux: fix inode security list corruption
-rw-r--r--security/selinux/hooks.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 8426a2aa8dce..e66314138b38 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -481,6 +481,7 @@ next_inode:
list_entry(sbsec->isec_head.next,
struct inode_security_struct, list);
struct inode *inode = isec->inode;
+ list_del_init(&isec->list);
spin_unlock(&sbsec->isec_lock);
inode = igrab(inode);
if (inode) {
@@ -489,7 +490,6 @@ next_inode:
iput(inode);
}
spin_lock(&sbsec->isec_lock);
- list_del_init(&isec->list);
goto next_inode;
}
spin_unlock(&sbsec->isec_lock);