fs: hfsplus: initialize fsdata in hfsplus_file_truncate()
authorAlexander Potapenko <glider@google.com>
Mon, 21 Nov 2022 11:21:34 +0000 (12:21 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 3 Feb 2023 06:50:06 +0000 (22:50 -0800)
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.

Link: https://lkml.kernel.org/r/20221121112134.407362-5-glider@google.com
Signed-off-by: Alexander Potapenko <glider@google.com>
Suggested-by: Eric Biggers <ebiggers@kernel.org>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: Chao Yu <chao@kernel.org>
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/hfsplus/extents.c

index 721f779..7a542f3 100644 (file)
@@ -554,7 +554,7 @@ void hfsplus_file_truncate(struct inode *inode)
        if (inode->i_size > hip->phys_size) {
                struct address_space *mapping = inode->i_mapping;
                struct page *page;
-               void *fsdata;
+               void *fsdata = NULL;
                loff_t size = inode->i_size;
 
                res = hfsplus_write_begin(NULL, mapping, size, 0,