diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-05-05 20:20:29 -0700 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2015-05-28 15:41:56 -0700 |
commit | edf3fb8e9e5771944815fadbd8ef6a7e43ef0f7c (patch) | |
tree | 9c271a2eebc0f0654158a1bffc7648bd71372149 /fs/f2fs | |
parent | cbaf042a3cc6c37f9005fd6952cbf2013ab7cc15 (diff) | |
download | op-kernel-dev-edf3fb8e9e5771944815fadbd8ef6a7e43ef0f7c.zip op-kernel-dev-edf3fb8e9e5771944815fadbd8ef6a7e43ef0f7c.tar.gz |
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/f2fs')
-rw-r--r-- | fs/f2fs/crypto.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/f2fs/crypto.c b/fs/f2fs/crypto.c index c910fa7..c3f02b6 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 |