diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-10-31 22:09:42 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-10-31 22:09:42 +0300 |
commit | 78a089d033bf71d68d978ac4cc73070f3e71c736 (patch) | |
tree | ab0799f2ea5cea03521a17378f21619f3830417c /security | |
parent | 30a0b95b1335e12efef89dd78518ed3e4a71a763 (diff) | |
parent | 8cf0a1bc12870d148ae830a4ba88cfdf0e879cee (diff) | |
download | linux-78a089d033bf71d68d978ac4cc73070f3e71c736.tar.xz |
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.c | 6 |
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; |