eCryptfs: Clear buffer before reading in metadata xattr
authorTyler Hicks <tyhicks@linux.vnet.ibm.com>
Thu, 11 Feb 2010 05:17:44 +0000 (23:17 -0600)
committerTyler Hicks <tyhicks@linux.vnet.ibm.com>
Tue, 23 Mar 2010 17:31:09 +0000 (12:31 -0500)
commit1984c23f9e0cdb432d90a85ecf88b424d36878fc
tree1a4dc765c6d7f93c29c9c878d7b0a972bf49d2ac
parentfa3ef1cb4e6e9958a9bfaa977c107c515907f102
eCryptfs: Clear buffer before reading in metadata xattr

We initially read in the first PAGE_CACHE_SIZE of a file to if the
eCryptfs header marker can be found.  If it isn't found and
ecryptfs_xattr_metadata was given as a mount option, then the
user.ecryptfs xattr is read into the same buffer.  Since the data from
the first page of the file wasn't cleared, it is possible that we think
we've found a second tag 3 or tag 1 packet and then error out after the
packet contents aren't as expected.  This patch clears the buffer before
filling it with metadata from the user.ecryptfs xattr.

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