linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev,
	Zhou Jifeng <zhoujifeng@kylinos.com.cn>,
	miklos@szeredi.hu
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	Zhou Jifeng <zhoujifeng@kylinos.com.cn>
Subject: Re: [PATCH] fuse: Track process write operations in both direct and writethrough modes
Date: Tue, 7 Nov 2023 07:27:47 +0300	[thread overview]
Message-ID: <70dde24c-5aee-4752-a14e-74ffdc6f7359@kadam.mountain> (raw)
In-Reply-To: <20231028065912.6084-1-zhoujifeng@kylinos.com.cn>

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@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231107/202311070338.uJNMq6Sh-lkp@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202311070338.uJNMq6Sh-lkp@intel.com/

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


  reply	other threads:[~2023-11-07  4:27 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-28  6:59 [PATCH] fuse: Track process write operations in both direct and writethrough modes Zhou Jifeng
2023-11-07  4:27 ` Dan Carpenter [this message]
2023-11-07  8:13 ` [PATCH v2] " Zhou Jifeng
2023-11-16  8:42   ` kernel test robot
2023-11-17  3:06     ` 周继峰
2023-11-17 17:15       ` Krister Johansen
2024-03-05 16:04   ` Miklos Szeredi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=70dde24c-5aee-4752-a14e-74ffdc6f7359@kadam.mountain \
    --to=dan.carpenter@linaro.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=miklos@szeredi.hu \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=oe-kbuild@lists.linux.dev \
    --cc=zhoujifeng@kylinos.com.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).