FAILED: patch "[PATCH] tmpfs: don't undo fallocate past its last page" failed to apply to 4.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
b9b4bb26af017dbe930cd4df7f9b2fc3a0497bfeMon Sep 17 00:00:00 2001
From: Anthony Romano <[email protected]>
Date: Fri, 24 Jun 2016 14:48:43 -0700
Subject: [PATCH] tmpfs: don't undo fallocate past its last page
When fallocate is interrupted it will undo a range that extends one byte past its range of allocated pages. This can corrupt an in-use page by zeroing out its first byte. Instead, undo using the inclusive byte range.
Fixes 1635f6a74152f1d ("tmpfs: undo fallocation on failure")
Signed-off-by Anthony Romano <[email protected]>
Cc Vlastimil Babka <[email protected]>
Cc Hugh Dickins <[email protected]>
Cc Brandon Philips <[email protected]>
Cc <[email protected]>
Signed-off-by Andrew Morton <[email protected]>
Signed-off-by Linus Torvalds <[email protected]>
mm/shmem.c +1 -1
@@ -2227,7 +2227,7 @@ static long shmem_fallocate(struct file *file, int mode, loff_t offset,/* Remove the !PageUptodate pages we added */ shmem_undo_range (inode, (loff_t )start <<PAGE_SHIFT , - (loff_t )index <<PAGE_SHIFT , true); + ((loff_t )index <<PAGE_SHIFT ) -1 , true); goto undone; }