OSDN Git Service

f2fs: require key for truncate(2) of encrypted file
authorEric Biggers <ebiggers@google.com>
Tue, 13 Jun 2017 23:47:54 +0000 (16:47 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 13 Jul 2017 23:56:53 +0000 (16:56 -0700)
commit4e968ec7cb9d76cc71c46370696784818a0dd364
tree9ddee26dbb47f6ac3432d6279fc93815ea5486c9
parent06fc88a60d56abbde2f0cd034358fef37f7d307c
f2fs: require key for truncate(2) of encrypted file

Currently, filesystems allow truncate(2) on an encrypted file without
the encryption key.  However, it's impossible to correctly handle the
case where the size being truncated to is not a multiple of the
filesystem block size, because that would require decrypting the final
block, zeroing the part beyond i_size, then encrypting the block.

As other modifications to encrypted file contents are prohibited without
the key, just prohibit truncate(2) as well, making it fail with ENOKEY.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c