From: Colin Ian King <[email protected]>

The allocation of 'temp' is not kfree'd and hence there is a memory
leak on each call of evm_read_xattrs.  Fix this by kfree'ing it
after copying data from it back to the user space buffer 'buf'.

Detected by CoverityScan, CID#1469386 ("Resource Leak")

Fixes: fa516b66a1bf ("EVM: Allow runtime modification of the set of verified 
xattrs")
Signed-off-by: Colin Ian King <[email protected]>
---
 security/integrity/evm/evm_secfs.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/security/integrity/evm/evm_secfs.c 
b/security/integrity/evm/evm_secfs.c
index a7a0a1acae99..fb8bc950aceb 100644
--- a/security/integrity/evm/evm_secfs.c
+++ b/security/integrity/evm/evm_secfs.c
@@ -158,6 +158,8 @@ static ssize_t evm_read_xattrs(struct file *filp, char 
__user *buf,
        mutex_unlock(&xattr_list_mutex);
        rc = simple_read_from_buffer(buf, count, ppos, temp, strlen(temp));
 
+       kfree(temp);
+
        return rc;
 }
 
-- 
2.17.0

Reply via email to