ext4: Fix stale data exposure caused with dioread_nolock
Status from this message: Applied, thanks!
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest1 patch 2 repliesApplied
- v21 patch 2 repliesSuperseded
- v11 patch 9 repliesSuperseded
Patches in v3 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/1 | ext4: Mark buffer new if it is unwritten to avoid stale data exposurefs/ | +13 | 1 reply |
Reviews trailers per patch
The patch has a Reviewed-by or Acked-by.
| Patch | Jan Kara | Ritesh Harjani (IBM) |
|---|---|---|
| 1/1 | R-b | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v3 0/1] ext4: Fix stale data exposure caused with dioread_nolock
** Changes in v3 **
- Removed accidental "---" separator in commit message.
- Picked up Jan's Reviewed by.
- v2:
https://lore.kernel.org/linux-ext4/[email protected]/
** Changes in v2 **
- Moved the logic to mark buffer as new in ext4_get_block_unwritten, as it is actually specific to this function, rather than _ext4_get_block which is a more generic function called from codepaths that dont need this logic
- Tested with -g rw,quick as well as custom replication test (present in commit message). No issues with ps == bs as well as sub page size scenarios.
- TODO: Add logic in ext4_block_zero_page_range() to ignore zeroing if the buffer is unwritten. This needs some review of the involved code paths hence sending the fix to stale data first right now and will get to this in a new patch.
- v1:
https://lore.kernel.org/linux-ext4/[email protected]/
** Original Cover **
The detailed report on the issues faced and the root cause can be found in the commit message. I've intentionally added all the details to commit message so that it can be tracked in the future, let me know if its too long and I can try stripping some info.
For this particular fix, I've tested these patches with xfstests -g quick with:
- 64k block size, 64k pagesize
- 4k blocksize 64k pagesize
- both with and without nodelalloc
and I don't see any regressions. I'll plan to run more tests on this and report back if I notice anything. Suggestions or ideas are welcome.
Regards,
ojaswin
Ojaswin Mujoo (1):
ext4: Mark buffer new if it is unwritten to avoid stale data exposure
fs/ext4/inode.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
Signature · 1 line
2.39.3