Hi Zhou, kernel test robot noticed the following build warnings: https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Zhou-Jifeng/fuse-Track-process-write-operations-in-both-direct-and-writethrough-modes/20231028-150119 base: https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-next patch link: https://lore.kernel.org/r/20231028065912.6084-1-zhoujifeng%40kylinos.com.cn patch subject: [PATCH] fuse: Track process write operations in both direct and writethrough modes config: x86_64-randconfig-161-20231103 (https://download.01.org/0day-ci/archive/20231107/202311070338.uJNMq6Sh-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce: (https://download.01.org/0day-ci/archive/20231107/202311070338.uJNMq6Sh-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> | Closes: https://lore.kernel.org/r/202311070338.uJNMq6Sh-lkp@xxxxxxxxx/ smatch warnings: fs/fuse/file.c:1359 fuse_cache_write_iter() error: uninitialized symbol 'err'. vim +/err +1359 fs/fuse/file.c 55752a3aba1387 Miklos Szeredi 2019-01-24 1302 static ssize_t fuse_cache_write_iter(struct kiocb *iocb, struct iov_iter *from) ea9b9907b82a09 Nicholas Piggin 2008-04-30 1303 { ea9b9907b82a09 Nicholas Piggin 2008-04-30 1304 struct file *file = iocb->ki_filp; ea9b9907b82a09 Nicholas Piggin 2008-04-30 1305 struct address_space *mapping = file->f_mapping; ea9b9907b82a09 Nicholas Piggin 2008-04-30 1306 ssize_t written = 0; ea9b9907b82a09 Nicholas Piggin 2008-04-30 1307 struct inode *inode = mapping->host; ea9b9907b82a09 Nicholas Piggin 2008-04-30 1308 ssize_t err; 56597c4ddc107c Zhou Jifeng 2023-10-28 1309 ssize_t count; 8981bdfda7445a Vivek Goyal 2020-10-09 1310 struct fuse_conn *fc = get_fuse_conn(inode); ea9b9907b82a09 Nicholas Piggin 2008-04-30 1311 8981bdfda7445a Vivek Goyal 2020-10-09 1312 if (fc->writeback_cache) { 4d99ff8f12eb20 Pavel Emelyanov 2013-10-10 1313 /* Update size (EOF optimization) and mode (SUID clearing) */ c6c745b81033a4 Miklos Szeredi 2021-10-22 1314 err = fuse_update_attributes(mapping->host, file, c6c745b81033a4 Miklos Szeredi 2021-10-22 1315 STATX_SIZE | STATX_MODE); 4d99ff8f12eb20 Pavel Emelyanov 2013-10-10 1316 if (err) 4d99ff8f12eb20 Pavel Emelyanov 2013-10-10 1317 return err; 4d99ff8f12eb20 Pavel Emelyanov 2013-10-10 1318 8981bdfda7445a Vivek Goyal 2020-10-09 1319 if (fc->handle_killpriv_v2 && 9452e93e6dae86 Christian Brauner 2023-01-13 1320 setattr_should_drop_suidgid(&nop_mnt_idmap, 9452e93e6dae86 Christian Brauner 2023-01-13 1321 file_inode(file))) { 8981bdfda7445a Vivek Goyal 2020-10-09 1322 goto writethrough; 8981bdfda7445a Vivek Goyal 2020-10-09 1323 } 8981bdfda7445a Vivek Goyal 2020-10-09 1324 84c3d55cc474f9 Al Viro 2014-04-03 1325 return generic_file_write_iter(iocb, from); 4d99ff8f12eb20 Pavel Emelyanov 2013-10-10 1326 } 4d99ff8f12eb20 Pavel Emelyanov 2013-10-10 1327 8981bdfda7445a Vivek Goyal 2020-10-09 1328 writethrough: 5955102c9984fa Al Viro 2016-01-22 1329 inode_lock(inode); ea9b9907b82a09 Nicholas Piggin 2008-04-30 1330 56597c4ddc107c Zhou Jifeng 2023-10-28 1331 count = generic_write_checks(iocb, from); 56597c4ddc107c Zhou Jifeng 2023-10-28 1332 if (count <= 0) ea9b9907b82a09 Nicholas Piggin 2008-04-30 1333 goto out; Missing error code? ea9b9907b82a09 Nicholas Piggin 2008-04-30 1334 56597c4ddc107c Zhou Jifeng 2023-10-28 1335 task_io_account_write(count); 56597c4ddc107c Zhou Jifeng 2023-10-28 1336 5fa8e0a1c6a762 Jan Kara 2015-05-21 1337 err = file_remove_privs(file); ea9b9907b82a09 Nicholas Piggin 2008-04-30 1338 if (err) ea9b9907b82a09 Nicholas Piggin 2008-04-30 1339 goto out; ea9b9907b82a09 Nicholas Piggin 2008-04-30 1340 c3b2da31483449 Josef Bacik 2012-03-26 1341 err = file_update_time(file); c3b2da31483449 Josef Bacik 2012-03-26 1342 if (err) c3b2da31483449 Josef Bacik 2012-03-26 1343 goto out; ea9b9907b82a09 Nicholas Piggin 2008-04-30 1344 2ba48ce513c4e5 Al Viro 2015-04-09 1345 if (iocb->ki_flags & IOCB_DIRECT) { 1af5bb491fbb41 Christoph Hellwig 2016-04-07 1346 written = generic_file_direct_write(iocb, from); 84c3d55cc474f9 Al Viro 2014-04-03 1347 if (written < 0 || !iov_iter_count(from)) 4273b793ec6875 Anand Avati 2012-02-17 1348 goto out; 64d1b4dd826d88 Christoph Hellwig 2023-06-01 1349 written = direct_write_fallback(iocb, from, written, 64d1b4dd826d88 Christoph Hellwig 2023-06-01 1350 fuse_perform_write(iocb, from)); 4273b793ec6875 Anand Avati 2012-02-17 1351 } else { 596df33d673d9d Christoph Hellwig 2023-06-01 1352 written = fuse_perform_write(iocb, from); 4273b793ec6875 Anand Avati 2012-02-17 1353 } ea9b9907b82a09 Nicholas Piggin 2008-04-30 1354 out: 5955102c9984fa Al Viro 2016-01-22 1355 inode_unlock(inode); e1c0eecba1a415 Miklos Szeredi 2017-09-12 1356 if (written > 0) e1c0eecba1a415 Miklos Szeredi 2017-09-12 1357 written = generic_write_sync(iocb, written); ea9b9907b82a09 Nicholas Piggin 2008-04-30 1358 ea9b9907b82a09 Nicholas Piggin 2008-04-30 @1359 return written ? written : err; ea9b9907b82a09 Nicholas Piggin 2008-04-30 1360 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki