summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2025-07-22 18:41:14 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2025-07-25 12:03:10 -0400
commit0f3b086842c5be1dc94e68fb79aa76839f622acd (patch)
tree22c23f56e1763fc6605c3c30c3c296101fe13d81
parent94fb407a99a6f94a9c97d8cdebeee679266cc690 (diff)
bcachefs: Add missing ei_last_dirtied update
ei_last_dirtied tracks the process that last dirtied a file, it's used for segregating writes from different processes into different writepoints. But bch2_page_mkwrite() was missing it, leading to a KMSAN splat. Reported-by: syzbot+2caec1f3fc52004d4f3c@syzkaller.appspotmail.com Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r--fs/bcachefs/fs-io-pagecache.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/bcachefs/fs-io-pagecache.c b/fs/bcachefs/fs-io-pagecache.c
index 2a6705186c44..469492f6264a 100644
--- a/fs/bcachefs/fs-io-pagecache.c
+++ b/fs/bcachefs/fs-io-pagecache.c
@@ -635,6 +635,8 @@ vm_fault_t bch2_page_mkwrite(struct vm_fault *vmf)
goto out;
}
+ inode->ei_last_dirtied = (unsigned long) current;
+
bch2_set_folio_dirty(c, inode, folio, &res, offset, len);
bch2_folio_reservation_put(c, inode, &res);