From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev, NeilBrown <neilb@ownmail.net>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>,
Amir Goldstein <amir73il@gmail.com>
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
Jan Kara <jack@suse.cz>,
linux-fsdevel@vger.kernel.org, Jeff Layton <jlayton@kernel.org>,
Chris Mason <chris.mason@fusionio.com>,
David Sterba <dsterba@suse.com>,
David Howells <dhowells@redhat.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Danilo Krummrich <dakr@kernel.org>,
Tyler Hicks <code@tyhicks.com>,
Miklos Szeredi <miklos@szeredi.hu>,
Chuck Lever <chuck.lever@oracle.com>,
Olga Kornievskaia <okorniev@redhat.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Namjae Jeon <linkinjeon@kernel.org>,
Steve French <smfrench@gmail.com>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Carlos Maiolino <cem@kernel.org>,
John Johansen <john.johansen@canonical.com>,
Paul Moore <paul@paul-moore.com>,
James Morris <jmorris@namei.org>,
"Serge E. Hallyn" <serge@hallyn.com>,
Stephen Smalley <stephen.smalley.work@gmail.com>,
Ondrej Mosnacek <omosnace@redhat.com>,
Mateusz Guzik <mjguzik@gmail.com>,
Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
Stefan Berger <stefanb@linux.ibm.com>
Subject: Re: [PATCH v4 04/14] VFS/nfsd/cachefiles/ovl: add start_creating() and end_creating()
Date: Sun, 2 Nov 2025 12:08:47 +0300 [thread overview]
Message-ID: <202511021406.Tv3dcpn5-lkp@intel.com> (raw)
In-Reply-To: <20251029234353.1321957-5-neilb@ownmail.net>
Hi NeilBrown,
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/NeilBrown/debugfs-rename-end_creating-to-debugfs_end_creating/20251030-075146
base: driver-core/driver-core-testing
patch link: https://lore.kernel.org/r/20251029234353.1321957-5-neilb%40ownmail.net
patch subject: [PATCH v4 04/14] VFS/nfsd/cachefiles/ovl: add start_creating() and end_creating()
config: x86_64-randconfig-161-20251101 (https://download.01.org/0day-ci/archive/20251102/202511021406.Tv3dcpn5-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
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/202511021406.Tv3dcpn5-lkp@intel.com/
smatch warnings:
fs/overlayfs/dir.c:130 ovl_whiteout() error: uninitialized symbol 'whiteout'.
fs/overlayfs/dir.c:130 ovl_whiteout() warn: passing zero to 'PTR_ERR'
vim +/whiteout +130 fs/overlayfs/dir.c
c21c839b8448dd Chengguang Xu 2020-04-24 97 static struct dentry *ovl_whiteout(struct ovl_fs *ofs)
e9be9d5e76e348 Miklos Szeredi 2014-10-24 98 {
e9be9d5e76e348 Miklos Szeredi 2014-10-24 99 int err;
807b78b0fffc23 NeilBrown 2025-10-30 100 struct dentry *whiteout, *link;
c21c839b8448dd Chengguang Xu 2020-04-24 101 struct dentry *workdir = ofs->workdir;
e9be9d5e76e348 Miklos Szeredi 2014-10-24 102 struct inode *wdir = workdir->d_inode;
e9be9d5e76e348 Miklos Szeredi 2014-10-24 103
8afa0a73671389 NeilBrown 2025-07-16 104 guard(mutex)(&ofs->whiteout_lock);
8afa0a73671389 NeilBrown 2025-07-16 105
c21c839b8448dd Chengguang Xu 2020-04-24 106 if (!ofs->whiteout) {
807b78b0fffc23 NeilBrown 2025-10-30 107 whiteout = ovl_start_creating_temp(ofs, workdir);
8afa0a73671389 NeilBrown 2025-07-16 108 if (IS_ERR(whiteout))
8afa0a73671389 NeilBrown 2025-07-16 109 return whiteout;
white out is not an error pointer.
807b78b0fffc23 NeilBrown 2025-10-30 110 err = ovl_do_whiteout(ofs, wdir, whiteout);
807b78b0fffc23 NeilBrown 2025-10-30 111 if (!err)
807b78b0fffc23 NeilBrown 2025-10-30 112 ofs->whiteout = dget(whiteout);
807b78b0fffc23 NeilBrown 2025-10-30 113 end_creating(whiteout, workdir);
807b78b0fffc23 NeilBrown 2025-10-30 114 if (err)
807b78b0fffc23 NeilBrown 2025-10-30 115 return ERR_PTR(err);
e9be9d5e76e348 Miklos Szeredi 2014-10-24 116 }
whiteout not set on else path
e9be9d5e76e348 Miklos Szeredi 2014-10-24 117
e4599d4b1aeff0 Amir Goldstein 2023-06-17 118 if (!ofs->no_shared_whiteout) {
807b78b0fffc23 NeilBrown 2025-10-30 119 link = ovl_start_creating_temp(ofs, workdir);
807b78b0fffc23 NeilBrown 2025-10-30 120 if (IS_ERR(link))
807b78b0fffc23 NeilBrown 2025-10-30 121 return link;
807b78b0fffc23 NeilBrown 2025-10-30 122 err = ovl_do_link(ofs, ofs->whiteout, wdir, link);
807b78b0fffc23 NeilBrown 2025-10-30 123 if (!err)
807b78b0fffc23 NeilBrown 2025-10-30 124 whiteout = dget(link);
It's set here, but then returned on line 127.
807b78b0fffc23 NeilBrown 2025-10-30 125 end_creating(link, workdir);
807b78b0fffc23 NeilBrown 2025-10-30 126 if (!err)
807b78b0fffc23 NeilBrown 2025-10-30 127 return whiteout;;
nit: double ;;
807b78b0fffc23 NeilBrown 2025-10-30 128
807b78b0fffc23 NeilBrown 2025-10-30 129 if (err != -EMLINK) {
672820a070ea5e Antonio Quartulli 2025-07-21 @130 pr_warn("Failed to link whiteout - disabling whiteout inode sharing(nlink=%u, err=%lu)\n",
672820a070ea5e Antonio Quartulli 2025-07-21 131 ofs->whiteout->d_inode->i_nlink,
672820a070ea5e Antonio Quartulli 2025-07-21 132 PTR_ERR(whiteout));
whiteout is either valid or uninitialized. For some reason
Smatch thinks whiteout can be NULL, I suspect because of
the NULL check in dget().
e4599d4b1aeff0 Amir Goldstein 2023-06-17 133 ofs->no_shared_whiteout = true;
c21c839b8448dd Chengguang Xu 2020-04-24 134 }
c21c839b8448dd Chengguang Xu 2020-04-24 135 }
c21c839b8448dd Chengguang Xu 2020-04-24 136 whiteout = ofs->whiteout;
c21c839b8448dd Chengguang Xu 2020-04-24 137 ofs->whiteout = NULL;
e9be9d5e76e348 Miklos Szeredi 2014-10-24 138 return whiteout;
e9be9d5e76e348 Miklos Szeredi 2014-10-24 139 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-11-02 9:08 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-29 23:31 [PATCH v4 00/14] Create and use APIs to centralise locking for directory ops NeilBrown
2025-10-29 23:31 ` [PATCH v4 01/14] debugfs: rename end_creating() to debugfs_end_creating() NeilBrown
2025-10-30 5:32 ` Greg Kroah-Hartman
2025-10-29 23:31 ` [PATCH v4 02/14] VFS: introduce start_dirop() and end_dirop() NeilBrown
2025-10-29 23:31 ` [PATCH v4 03/14] VFS: tidy up do_unlinkat() NeilBrown
2025-10-29 23:31 ` [PATCH v4 04/14] VFS/nfsd/cachefiles/ovl: add start_creating() and end_creating() NeilBrown
2025-11-02 9:08 ` Dan Carpenter [this message]
2025-11-02 9:10 ` Dan Carpenter
2025-11-02 9:59 ` Amir Goldstein
2025-11-06 0:53 ` NeilBrown
2025-10-29 23:31 ` [PATCH v4 05/14] VFS/nfsd/cachefiles/ovl: introduce start_removing() and end_removing() NeilBrown
2025-10-29 23:31 ` [PATCH v4 06/14] VFS: introduce start_creating_noperm() and start_removing_noperm() NeilBrown
2025-10-29 23:31 ` [PATCH v4 07/14] VFS: introduce start_removing_dentry() NeilBrown
2025-10-30 6:11 ` Al Viro
2025-10-30 23:22 ` NeilBrown
2025-10-29 23:31 ` [PATCH v4 08/14] VFS: add start_creating_killable() and start_removing_killable() NeilBrown
2025-10-29 23:31 ` [PATCH v4 09/14] VFS/nfsd/ovl: introduce start_renaming() and end_renaming() NeilBrown
2025-10-30 13:22 ` Chuck Lever
2025-10-29 23:31 ` [PATCH v4 10/14] VFS/ovl/smb: introduce start_renaming_dentry() NeilBrown
2025-10-30 0:02 ` Namjae Jeon
2025-10-29 23:31 ` [PATCH v4 11/14] Add start_renaming_two_dentries() NeilBrown
2025-10-30 6:22 ` Al Viro
2025-10-30 23:37 ` NeilBrown
2025-10-29 23:31 ` [PATCH v4 12/14] ecryptfs: use new start_creating/start_removing APIs NeilBrown
2025-10-30 6:24 ` Al Viro
2025-10-30 23:41 ` NeilBrown
2025-10-29 23:31 ` [PATCH v4 13/14] VFS: change vfs_mkdir() to unlock on failure NeilBrown
2025-10-29 23:31 ` [PATCH v4 14/14] VFS: introduce end_creating_keep() NeilBrown
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=202511021406.Tv3dcpn5-lkp@intel.com \
--to=dan.carpenter@linaro.org \
--cc=Dai.Ngo@oracle.com \
--cc=amir73il@gmail.com \
--cc=brauner@kernel.org \
--cc=cem@kernel.org \
--cc=chris.mason@fusionio.com \
--cc=chuck.lever@oracle.com \
--cc=code@tyhicks.com \
--cc=dakr@kernel.org \
--cc=dhowells@redhat.com \
--cc=dsterba@suse.com \
--cc=gregkh@linuxfoundation.org \
--cc=jack@suse.cz \
--cc=jlayton@kernel.org \
--cc=jmorris@namei.org \
--cc=john.johansen@canonical.com \
--cc=linkinjeon@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=lorenzo.stoakes@oracle.com \
--cc=miklos@szeredi.hu \
--cc=mjguzik@gmail.com \
--cc=neilb@ownmail.net \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
--cc=okorniev@redhat.com \
--cc=omosnace@redhat.com \
--cc=paul@paul-moore.com \
--cc=rafael@kernel.org \
--cc=senozhatsky@chromium.org \
--cc=serge@hallyn.com \
--cc=smfrench@gmail.com \
--cc=stefanb@linux.ibm.com \
--cc=stephen.smalley.work@gmail.com \
--cc=viro@zeniv.linux.org.uk \
/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).