eCryptfs: Fix metadata in xattr feature regression
authorTyler Hicks <tyhicks@linux.vnet.ibm.com>
Thu, 11 Feb 2010 13:10:38 +0000 (07:10 -0600)
committerTyler Hicks <tyhicks@linux.vnet.ibm.com>
Tue, 23 Mar 2010 17:29:49 +0000 (12:29 -0500)
commit157f1071354db1aed885816094888e0e257c9d0a
tree711d00d7dce97f846342db0a27b4a61c6b1966a4
parent220bf991b0366cc50a94feede3d7341fa5710ee4
eCryptfs: Fix metadata in xattr feature regression

Fixes regression in 8faece5f906725c10e7a1f6caf84452abadbdc7b

When using the ecryptfs_xattr_metadata mount option, eCryptfs stores the
metadata (normally stored at the front of the file) in the user.ecryptfs
xattr.  This causes ecryptfs_crypt_stat.num_header_bytes_at_front to be
0, since there is no header data at the front of the file.  This results
in too much memory being requested and ENOMEM being returned from
ecryptfs_write_metadata().

This patch fixes the problem by using the num_header_bytes_at_front
variable for specifying the max size of the metadata, despite whether it
is stored in the header or xattr.

Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
fs/ecryptfs/crypto.c
fs/ecryptfs/ecryptfs_kernel.h
fs/ecryptfs/inode.c
fs/ecryptfs/mmap.c