APPLIED: [Lucid][SRU][PATCH 0/1] eCryptfs: Use notify_change for truncating lower inodes
Tim Gardner
rtg.canonical at gmail.com
Thu Feb 16 17:48:49 UTC 2012
On 02/16/2012 07:38 AM, Colin King wrote:
> From: Colin Ian King<colin.king at canonical.com>
>
> SRU Justification:
>
> When truncating inodes in the lower filesystem, eCryptfs directly
> invoked vmtruncate(). As Christoph Hellwig pointed out, vmtruncate() is
> a filesystem helper function, but filesystems may need to do more than
> just a call to vmtruncate(). eCryptfs needs to go through
> notify_change()->setattr to ensure truncate works reliable without
> corruption or leaking blocks on a variety of filesystems.
>
> See: http://thread.gmane.org/gmane.linux.file-systems/36105
>
> Fix: With this patch , lower inode truncation is moved out of
> ecryptfs_truncate() and the function is renamed to truncate_upper().
> truncate_upper() updates an iattr for the lower inode to indicate
> if the lower inode needs to be truncated upon return.
> ecryptfs_setattr() then calls notify_change(), using the updated iattr
> for the lower inode, to complete the truncation.
>
> Without the patch we risk corrupting or leaking blocks on the lower
> filesystem.
>
> Has been soak tested with a variety of ftruncate() soak tests and also
> running a full kernel build on ecryptfs with a lower ext4 filesystem.
>
> https://bugs.launchpad.net/bugs/451368
>
> This is a backport of commit 5f3ef64f4da1c587cdcfaaac72311225b7df094c
>
> Colin Ian King (1):
> eCryptfs: Use notify_change for truncating lower inodes
>
> fs/ecryptfs/inode.c | 99 ++++++++++++++++++++++++++++++++++----------------
> 1 files changed, 67 insertions(+), 32 deletions(-)
>
>
--
Tim Gardner tim.gardner at canonical.com
More information about the kernel-team
mailing list