diff options
author | Tyler Hicks <tyhicks@linux.vnet.ibm.com> | 2010-02-11 08:10:38 -0500 |
---|---|---|
committer | Tyler Hicks <tyhicks@linux.vnet.ibm.com> | 2010-03-23 13:29:49 -0400 |
commit | 157f1071354db1aed885816094888e0e257c9d0a (patch) | |
tree | 711d00d7dce97f846342db0a27b4a61c6b1966a4 /fs/ecryptfs/inode.c | |
parent | 220bf991b0366cc50a94feede3d7341fa5710ee4 (diff) |
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>
Diffstat (limited to 'fs/ecryptfs/inode.c')
-rw-r--r-- | fs/ecryptfs/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 4a430ab4115c..1a739531b0dd 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c | |||
@@ -768,7 +768,7 @@ upper_size_to_lower_size(struct ecryptfs_crypt_stat *crypt_stat, | |||
768 | { | 768 | { |
769 | loff_t lower_size; | 769 | loff_t lower_size; |
770 | 770 | ||
771 | lower_size = crypt_stat->num_header_bytes_at_front; | 771 | lower_size = ecryptfs_lower_header_size(crypt_stat); |
772 | if (upper_size != 0) { | 772 | if (upper_size != 0) { |
773 | loff_t num_extents; | 773 | loff_t num_extents; |
774 | 774 | ||