aboutsummaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2022-10-31 12:09:42 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2022-10-31 12:09:42 -0700
commit78a089d033bf71d68d978ac4cc73070f3e71c736 (patch)
treeab0799f2ea5cea03521a17378f21619f3830417c /security
parentLinux 6.1-rc3 (diff)
parentcapabilities: fix potential memleak on error path from vfs_getxattr_alloc() (diff)
downloadlinux-dev-78a089d033bf71d68d978ac4cc73070f3e71c736.tar.xz
linux-dev-78a089d033bf71d68d978ac4cc73070f3e71c736.zip
Merge tag 'lsm-pr-20221031' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm
Pull LSM fix from Paul Moore: "A single patch to the capabilities code to fix a potential memory leak in the xattr allocation error handling" * tag 'lsm-pr-20221031' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm: capabilities: fix potential memleak on error path from vfs_getxattr_alloc()
Diffstat (limited to 'security')
-rw-r--r--security/commoncap.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/security/commoncap.c b/security/commoncap.c
index 5fc8986c3c77..bc751fa5adad 100644
--- a/security/commoncap.c
+++ b/security/commoncap.c
@@ -401,8 +401,10 @@ int cap_inode_getsecurity(struct user_namespace *mnt_userns,
&tmpbuf, size, GFP_NOFS);
dput(dentry);
- if (ret < 0 || !tmpbuf)
- return ret;
+ if (ret < 0 || !tmpbuf) {
+ size = ret;
+ goto out_free;
+ }
fs_ns = inode->i_sb->s_user_ns;
cap = (struct vfs_cap_data *) tmpbuf;