Patch "xfs: fix partially uninitialized structure in xfs_reflink_remap_extent" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    xfs: fix partially uninitialized structure in xfs_reflink_remap_extent

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     xfs-fix-partially-uninitialized-structure-in-xfs_ref.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit a864f0c63dc162f1673fa4e9b462fc135245f170
Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
Date:   Sun Apr 12 13:11:11 2020 -0700

    xfs: fix partially uninitialized structure in xfs_reflink_remap_extent
    
    [ Upstream commit c142932c29e533ee892f87b44d8abc5719edceec ]
    
    In the reflink extent remap function, it turns out that uirec (the block
    mapping corresponding only to the part of the passed-in mapping that got
    unmapped) was not fully initialized.  Specifically, br_state was not
    being copied from the passed-in struct to the uirec.  This could lead to
    unpredictable results such as the reflinked mapping being marked
    unwritten in the destination file.
    
    Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
    Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c
index 0f08153b49941..6a4fd1738b086 100644
--- a/fs/xfs/xfs_reflink.c
+++ b/fs/xfs/xfs_reflink.c
@@ -1053,6 +1053,7 @@ xfs_reflink_remap_extent(
 		uirec.br_startblock = irec->br_startblock + rlen;
 		uirec.br_startoff = irec->br_startoff + rlen;
 		uirec.br_blockcount = unmap_len - rlen;
+		uirec.br_state = irec->br_state;
 		unmap_len = rlen;
 
 		/* If this isn't a real mapping, we're done. */



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux