Commit 49854d3c authored by Jan Kara's avatar Jan Kara
Browse files

udf: Fix lost writes in udf_adinicb_writepage()



The patch converting udf_adinicb_writepage() to avoid manually kmapping
the page used memcpy_to_page() however that copies in the wrong
direction (effectively overwriting file data with the old contents).
What we should be using is memcpy_from_page() to copy data from the page
into the inode and then mark inode dirty to store the data.

Fixes: 5cfc4532 ("udf: Convert udf_adinicb_writepage() to memcpy_to_page()")
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent fe15c26e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -193,7 +193,7 @@ static int udf_adinicb_writepage(struct folio *folio,
	struct udf_inode_info *iinfo = UDF_I(inode);

	BUG_ON(!PageLocked(page));
	memcpy_to_page(page, 0, iinfo->i_data + iinfo->i_lenEAttr,
	memcpy_from_page(iinfo->i_data + iinfo->i_lenEAttr, page, 0,
		       i_size_read(inode));
	unlock_page(page);
	mark_inode_dirty(inode);