eCryptfs: Improve statfs reporting
authorTyler Hicks <tyhicks@canonical.com>
Sat, 5 Nov 2011 17:45:08 +0000 (13:45 -0400)
committerTyler Hicks <tyhicks@canonical.com>
Thu, 16 Feb 2012 22:06:21 +0000 (16:06 -0600)
commit4a26620df451ad46151ad21d711ed43e963c004e
treebf035ea6a656b3e19fe93bf37991632cad96d971
parentc38e23456278e967f094b08247ffc3711b1029b2
eCryptfs: Improve statfs reporting

statfs() calls on eCryptfs files returned the wrong filesystem type and,
when using filename encryption, the wrong maximum filename length.

If mount-wide filename encryption is enabled, the cipher block size and
the lower filesystem's max filename length will determine the max
eCryptfs filename length. Pre-tested, known good lengths are used when
the lower filesystem's namelen is 255 and a cipher with 8 or 16 byte
block sizes is used. In other, less common cases, we fall back to a safe
rounded-down estimate when determining the eCryptfs namelen.

https://launchpad.net/bugs/885744

Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Reported-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: John Johansen <john.johansen@canonical.com>
fs/ecryptfs/crypto.c
fs/ecryptfs/ecryptfs_kernel.h
fs/ecryptfs/keystore.c
fs/ecryptfs/super.c