[PATCH 0/1] [Natty][SRU] eCryptfs: Handle failed metadata read in lookup

Colin King colin.king at canonical.com
Thu Mar 1 19:22:28 UTC 2012


From: Colin Ian King <colin.king at canonical.com>

SRU Justification:

When failing to read the lower file's crypto metadata during a lookup,
eCryptfs must continue on without throwing an error. For example, there
may be a plaintext file in the lower mount point that the user wants to
delete through the eCryptfs mount.

If an error is encountered while reading the metadata in lookup(), the
eCryptfs inode's size could be incorrect. We must be sure to reread the
plaintext inode size from the metadata when performing an open() or
setattr(). The metadata is already being read in those paths, so this
adds minimal performance overhead.

BugLink: http://bugs.launchpad.net/bugs/509180

Note:

This patch is from a backport by Tim Gardner that was SRU'd back in
20 Jul 2011 but wasn't tested and so was reverted as part of the SRU
process.  I'm sending back to the list again as I think it should be
included.

Test:

See https://bugs.launchpad.net/ecryptfs/+bug/509180/comments/50,
without this patch, the file as garbage at the end of the, file. With
the fix, the file contains just the expected data with no garbage at
the end.

I've also got a suitable test working for the ecryptfs test suite 
which I hope will be included fairly shortly.

Colin Ian King (1):
  eCryptfs: Handle failed metadata read in lookup

 fs/ecryptfs/crypto.c          |   21 +++++++++++++++++++++
 fs/ecryptfs/ecryptfs_kernel.h |    2 ++
 fs/ecryptfs/file.c            |    3 ++-
 fs/ecryptfs/inode.c           |   18 +++---------------
 4 files changed, 28 insertions(+), 16 deletions(-)

-- 
1.7.4.1





More information about the kernel-team mailing list