4.9-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Eric Richter <eric...@linux.vnet.ibm.com>

commit 9a11a18902bc3b904353063763d06480620245a6 upstream.

When the "policy" securityfs file is opened for read, it is opened as a
sequential file. However, when it is eventually released, there is no
cleanup for the sequential file, therefore some memory is leaked.

This patch adds a call to seq_release() in ima_release_policy() to clean up
the memory when the file is opened for read.

Fixes: 80eae209d63a IMA: allow reading back the current policy
Reported-by: Colin Ian King <colin.k...@canonical.com>
Signed-off-by: Eric Richter <eric...@linux.vnet.ibm.com>
Tested-by: Colin Ian King <colin.k...@canonical.com>
Signed-off-by: Mimi Zohar <zo...@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 security/integrity/ima/ima_fs.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/security/integrity/ima/ima_fs.c
+++ b/security/integrity/ima/ima_fs.c
@@ -401,7 +401,7 @@ static int ima_release_policy(struct ino
        const char *cause = valid_policy ? "completed" : "failed";
 
        if ((file->f_flags & O_ACCMODE) == O_RDONLY)
-               return 0;
+               return seq_release(inode, file);
 
        if (valid_policy && ima_check_policy() < 0) {
                cause = "failed";


Reply via email to