diff options
| author | Andreas Gruenbacher <[email protected]> | 2016-02-18 11:04:08 +0000 |
|---|---|---|
| committer | Paul Moore <[email protected]> | 2016-02-19 21:29:19 +0000 |
| commit | e817c2f33efb4aa7f02c98dfab9a5f8ff383ea7e (patch) | |
| tree | e572b7e4fa493fba5cc7252d4bab26b1c81624dc /security/selinux/hooks.c | |
| parent | selinux: Inode label revalidation performance fix (diff) | |
| download | kernel-e817c2f33efb4aa7f02c98dfab9a5f8ff383ea7e.tar.gz kernel-e817c2f33efb4aa7f02c98dfab9a5f8ff383ea7e.zip | |
selinux: Don't sleep inside inode_getsecid hook
The inode_getsecid hook is called from contexts in which sleeping is not
allowed, so we cannot revalidate inode security labels from there. Use
the non-validating version of inode_security() instead.
Reported-by: Benjamin Coddington <[email protected]>
Signed-off-by: Andreas Gruenbacher <[email protected]>
Acked-by: Stephen Smalley <[email protected]>
Signed-off-by: Paul Moore <[email protected]>
Diffstat (limited to 'security/selinux/hooks.c')
| -rw-r--r-- | security/selinux/hooks.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index f8110cfd80ff..f1ab71504e1d 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -3249,7 +3249,7 @@ static int selinux_inode_listsecurity(struct inode *inode, char *buffer, size_t static void selinux_inode_getsecid(struct inode *inode, u32 *secid) { - struct inode_security_struct *isec = inode_security(inode); + struct inode_security_struct *isec = inode_security_novalidate(inode); *secid = isec->sid; } |
