mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
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: 5cfc45321a
("udf: Convert udf_adinicb_writepage() to memcpy_to_page()")
Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user