summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2015-05-05 20:20:29 -0700
committerJaegeuk Kim <jaegeuk@kernel.org>2015-05-28 15:41:56 -0700
commitedf3fb8e9e5771944815fadbd8ef6a7e43ef0f7c (patch)
tree9c271a2eebc0f0654158a1bffc7648bd71372149 /fs
parentcbaf042a3cc6c37f9005fd6952cbf2013ab7cc15 (diff)
downloadlinux-edf3fb8e9e5771944815fadbd8ef6a7e43ef0f7c.tar.bz2
f2fs crypto: fix missing key when reading a page
1. mount $mnt 2. cp data $mnt/ 3. umount $mnt 4. log out 5. log in 6. cat $mnt/data -> panic, due to no i_crypt_info. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/f2fs/crypto.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/f2fs/crypto.c b/fs/f2fs/crypto.c
index c910fa722e5c..c3f02b61aa5a 100644
--- a/fs/f2fs/crypto.c
+++ b/fs/f2fs/crypto.c
@@ -131,7 +131,9 @@ struct f2fs_crypto_ctx *f2fs_get_crypto_ctx(struct inode *inode)
unsigned long flags;
struct f2fs_crypt_info *ci = F2FS_I(inode)->i_crypt_info;
- BUG_ON(ci == NULL);
+ if (ci == NULL)
+ return ERR_PTR(-EACCES);
+
/*
* We first try getting the ctx from a free list because in
* the common case the ctx will have an allocated and