On Mon, Nov 07, 2022 at 10:46:13AM +0100, 'Alexander Potapenko' via syzkaller-bugs wrote: > ext4: initialize fsdata in pagecache_write() > > When aops->write_begin() does not initialize fsdata, KMSAN reports > an error passing the latter to aops->write_end(). > > Fix this by unconditionally initializing fsdata. > > Fixes: c93d8f885809 ("ext4: add basic fs-verity support") > Reported-by: syzbot+9767be679ef5016b6082@xxxxxxxxxxxxxxxxxxxxxxxxx > Signed-off-by: Alexander Potapenko <glider@xxxxxxxxxx> > > diff --git a/fs/ext4/verity.c b/fs/ext4/verity.c > index 3c640bd7ecaeb..30e3b65798b50 100644 > --- a/fs/ext4/verity.c > +++ b/fs/ext4/verity.c > @@ -79,7 +79,7 @@ static int pagecache_write(struct inode *inode, > const void *buf, size_t count, > size_t n = min_t(size_t, count, > PAGE_SIZE - offset_in_page(pos)); > struct page *page; > - void *fsdata; > + void *fsdata = NULL; > int res; > > res = aops->write_begin(NULL, mapping, pos, n, &page, &fsdata); Are you sure that KMSAN should be reporting this? The uninitialized value is passed as a function parameter, but it's never actually used. Anyway, this patch doesn't hurt, I suppose. Can please you send it out as a formal patch to linux-ext4? It would be easy for people to miss this patch buried in this thread. Also, can you please send a patch to linux-f2fs-devel for the same code in fs/f2fs/verity.c? Thanks! - Eric