[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y2lGu/QTIWNpzFI3@sol.localdomain>
Date: Mon, 7 Nov 2022 09:56:11 -0800
From: Eric Biggers <ebiggers@...nel.org>
To: Alexander Potapenko <glider@...gle.com>
Cc: syzbot <syzbot+9767be679ef5016b6082@...kaller.appspotmail.com>,
adilger.kernel@...ger.ca, linux-ext4@...r.kernel.org,
linux-kernel@...r.kernel.org, syzkaller-bugs@...glegroups.com,
tytso@....edu
Subject: Re: [syzbot] KMSAN: uninit-value in pagecache_write
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@...kaller.appspotmail.com
> Signed-off-by: Alexander Potapenko <glider@...gle.com>
>
> 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
Powered by blists - more mailing lists