Message ID | 20221121112134.407362-3-glider@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/5] fs: ext4: initialize fsdata in pagecache_write() | expand |
On Mon, Nov 21, 2022 at 12:21:32PM +0100, Alexander Potapenko wrote: > When aops->write_begin() does not initialize fsdata, KMSAN may report > an error passing the latter to aops->write_end(). > > Fix this by unconditionally initializing fsdata. > > Suggested-by: Eric Biggers <ebiggers@kernel.org> > Fixes: 95ae251fe828 ("f2fs: add fs-verity support") > Signed-off-by: Alexander Potapenko <glider@google.com> > --- > fs/f2fs/verity.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/f2fs/verity.c b/fs/f2fs/verity.c > index c352fff88a5e6..3f4f3295f1c66 100644 > --- a/fs/f2fs/verity.c > +++ b/fs/f2fs/verity.c > @@ -81,7 +81,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); Reviewed-by: Eric Biggers <ebiggers@google.com> - Eric
On Mon, Nov 21, 2022 at 07:53:19PM +0000, Eric Biggers wrote: > On Mon, Nov 21, 2022 at 12:21:32PM +0100, Alexander Potapenko wrote: > > When aops->write_begin() does not initialize fsdata, KMSAN may report > > an error passing the latter to aops->write_end(). > > > > Fix this by unconditionally initializing fsdata. > > > > Suggested-by: Eric Biggers <ebiggers@kernel.org> > > Fixes: 95ae251fe828 ("f2fs: add fs-verity support") > > Signed-off-by: Alexander Potapenko <glider@google.com> > > --- > > fs/f2fs/verity.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/fs/f2fs/verity.c b/fs/f2fs/verity.c > > index c352fff88a5e6..3f4f3295f1c66 100644 > > --- a/fs/f2fs/verity.c > > +++ b/fs/f2fs/verity.c > > @@ -81,7 +81,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); > > Reviewed-by: Eric Biggers <ebiggers@google.com> > Jaegeuk, can you please apply this patch? - Eric
On 01/22, Eric Biggers wrote: > On Mon, Nov 21, 2022 at 07:53:19PM +0000, Eric Biggers wrote: > > On Mon, Nov 21, 2022 at 12:21:32PM +0100, Alexander Potapenko wrote: > > > When aops->write_begin() does not initialize fsdata, KMSAN may report > > > an error passing the latter to aops->write_end(). > > > > > > Fix this by unconditionally initializing fsdata. > > > > > > Suggested-by: Eric Biggers <ebiggers@kernel.org> > > > Fixes: 95ae251fe828 ("f2fs: add fs-verity support") > > > Signed-off-by: Alexander Potapenko <glider@google.com> > > > --- > > > fs/f2fs/verity.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/fs/f2fs/verity.c b/fs/f2fs/verity.c > > > index c352fff88a5e6..3f4f3295f1c66 100644 > > > --- a/fs/f2fs/verity.c > > > +++ b/fs/f2fs/verity.c > > > @@ -81,7 +81,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); > > > > Reviewed-by: Eric Biggers <ebiggers@google.com> > > > > Jaegeuk, can you please apply this patch? Yup, applied. > > - Eric
diff --git a/fs/f2fs/verity.c b/fs/f2fs/verity.c index c352fff88a5e6..3f4f3295f1c66 100644 --- a/fs/f2fs/verity.c +++ b/fs/f2fs/verity.c @@ -81,7 +81,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);
When aops->write_begin() does not initialize fsdata, KMSAN may report an error passing the latter to aops->write_end(). Fix this by unconditionally initializing fsdata. Suggested-by: Eric Biggers <ebiggers@kernel.org> Fixes: 95ae251fe828 ("f2fs: add fs-verity support") Signed-off-by: Alexander Potapenko <glider@google.com> --- fs/f2fs/verity.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)