From: David Gstir <da...@sigma-star.at>

In case of in-place encryption ctx must be released right away.
Otherwise ctx is never freed.

Fixes: 1c7dcf69eea3 ("fscrypt: Add in-place encryption mode")
Signed-off-by: David Gstir <da...@sigma-star.at>
Signed-off-by: Richard Weinberger <rich...@nod.at>
---
 fs/crypto/crypto.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/crypto/crypto.c b/fs/crypto/crypto.c
index 3c1124beae28..1b877fcec1c1 100644
--- a/fs/crypto/crypto.c
+++ b/fs/crypto/crypto.c
@@ -270,6 +270,8 @@ struct page *fscrypt_encrypt_page(const struct inode *inode,
                SetPagePrivate(ciphertext_page);
                set_page_private(ciphertext_page, (unsigned long)ctx);
                lock_page(ciphertext_page);
+       } else {
+               fscrypt_release_ctx(ctx);
        }
        return ciphertext_page;
 
-- 
2.7.3

Reply via email to