From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: net/sunrpc/sysfs.c:343 rpc_sysfs_xprt_switch_add_xprt_store() warn: passing zero to 'PTR_ERR'
Date: Thu, 11 Dec 2025 22:34:21 +0800 [thread overview]
Message-ID: <202512112218.13vaWK3b-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Anna Schumaker <anna.schumaker@oracle.com>
CC: Trond Myklebust <trond.myklebust@hammerspace.com>
CC: Benjamin Coddington <bcodding@redhat.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d358e5254674b70f34c847715ca509e46eb81e6f
commit: df210d9b0951d714c1668c511ca5c8ff38cf6916 sunrpc: Add a sysfs file for adding a new xprt
date: 9 months ago
:::::: branch date: 11 hours ago
:::::: commit date: 9 months ago
config: x86_64-randconfig-161-20251210 (https://download.01.org/0day-ci/archive/20251211/202512112218.13vaWK3b-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.0
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 <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202512112218.13vaWK3b-lkp@intel.com/
New smatch warnings:
net/sunrpc/sysfs.c:343 rpc_sysfs_xprt_switch_add_xprt_store() warn: passing zero to 'PTR_ERR'
Old smatch warnings:
net/sunrpc/sysfs.c:57 rpc_sysfs_object_alloc() warn: Calling kobject_put|get with state->initialized unset from line: 51
net/sunrpc/sysfs.c:482 rpc_sysfs_init() warn: Calling kobject_put|get with state->initialized unset from line: 473
net/sunrpc/sysfs.c:627 rpc_sysfs_client_alloc() warn: Calling kobject_put|get with state->initialized unset from line: 620
net/sunrpc/sysfs.c:649 rpc_sysfs_xprt_switch_alloc() warn: Calling kobject_put|get with state->initialized unset from line: 640
net/sunrpc/sysfs.c:668 rpc_sysfs_xprt_alloc() warn: Calling kobject_put|get with state->initialized unset from line: 660
vim +/PTR_ERR +343 net/sunrpc/sysfs.c
df210d9b0951d7 Anna Schumaker 2025-02-07 314
df210d9b0951d7 Anna Schumaker 2025-02-07 315 static ssize_t rpc_sysfs_xprt_switch_add_xprt_store(struct kobject *kobj,
df210d9b0951d7 Anna Schumaker 2025-02-07 316 struct kobj_attribute *attr,
df210d9b0951d7 Anna Schumaker 2025-02-07 317 const char *buf, size_t count)
df210d9b0951d7 Anna Schumaker 2025-02-07 318 {
df210d9b0951d7 Anna Schumaker 2025-02-07 319 struct rpc_xprt_switch *xprt_switch =
df210d9b0951d7 Anna Schumaker 2025-02-07 320 rpc_sysfs_xprt_switch_kobj_get_xprt(kobj);
df210d9b0951d7 Anna Schumaker 2025-02-07 321 struct xprt_create xprt_create_args;
df210d9b0951d7 Anna Schumaker 2025-02-07 322 struct rpc_xprt *xprt, *new;
df210d9b0951d7 Anna Schumaker 2025-02-07 323
df210d9b0951d7 Anna Schumaker 2025-02-07 324 if (!xprt_switch)
df210d9b0951d7 Anna Schumaker 2025-02-07 325 return 0;
df210d9b0951d7 Anna Schumaker 2025-02-07 326
df210d9b0951d7 Anna Schumaker 2025-02-07 327 xprt = rpc_xprt_switch_get_main_xprt(xprt_switch);
df210d9b0951d7 Anna Schumaker 2025-02-07 328 if (!xprt)
df210d9b0951d7 Anna Schumaker 2025-02-07 329 goto out;
df210d9b0951d7 Anna Schumaker 2025-02-07 330
df210d9b0951d7 Anna Schumaker 2025-02-07 331 xprt_create_args.ident = xprt->xprt_class->ident;
df210d9b0951d7 Anna Schumaker 2025-02-07 332 xprt_create_args.net = xprt->xprt_net;
df210d9b0951d7 Anna Schumaker 2025-02-07 333 xprt_create_args.dstaddr = (struct sockaddr *)&xprt->addr;
df210d9b0951d7 Anna Schumaker 2025-02-07 334 xprt_create_args.addrlen = xprt->addrlen;
df210d9b0951d7 Anna Schumaker 2025-02-07 335 xprt_create_args.servername = xprt->servername;
df210d9b0951d7 Anna Schumaker 2025-02-07 336 xprt_create_args.bc_xprt = xprt->bc_xprt;
df210d9b0951d7 Anna Schumaker 2025-02-07 337 xprt_create_args.xprtsec = xprt->xprtsec;
df210d9b0951d7 Anna Schumaker 2025-02-07 338 xprt_create_args.connect_timeout = xprt->connect_timeout;
df210d9b0951d7 Anna Schumaker 2025-02-07 339 xprt_create_args.reconnect_timeout = xprt->max_reconnect_timeout;
df210d9b0951d7 Anna Schumaker 2025-02-07 340
df210d9b0951d7 Anna Schumaker 2025-02-07 341 new = xprt_create_transport(&xprt_create_args);
df210d9b0951d7 Anna Schumaker 2025-02-07 342 if (IS_ERR_OR_NULL(new)) {
df210d9b0951d7 Anna Schumaker 2025-02-07 @343 count = PTR_ERR(new);
df210d9b0951d7 Anna Schumaker 2025-02-07 344 goto out_put_xprt;
df210d9b0951d7 Anna Schumaker 2025-02-07 345 }
df210d9b0951d7 Anna Schumaker 2025-02-07 346
df210d9b0951d7 Anna Schumaker 2025-02-07 347 rpc_xprt_switch_add_xprt(xprt_switch, new);
df210d9b0951d7 Anna Schumaker 2025-02-07 348 xprt_put(new);
df210d9b0951d7 Anna Schumaker 2025-02-07 349
df210d9b0951d7 Anna Schumaker 2025-02-07 350 out_put_xprt:
df210d9b0951d7 Anna Schumaker 2025-02-07 351 xprt_put(xprt);
df210d9b0951d7 Anna Schumaker 2025-02-07 352 out:
df210d9b0951d7 Anna Schumaker 2025-02-07 353 xprt_switch_put(xprt_switch);
df210d9b0951d7 Anna Schumaker 2025-02-07 354 return count;
df210d9b0951d7 Anna Schumaker 2025-02-07 355 }
df210d9b0951d7 Anna Schumaker 2025-02-07 356
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev, Anna Schumaker <anna.schumaker@oracle.com>
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Benjamin Coddington <bcodding@redhat.com>
Subject: net/sunrpc/sysfs.c:343 rpc_sysfs_xprt_switch_add_xprt_store() warn: passing zero to 'PTR_ERR'
Date: Thu, 11 Dec 2025 17:56:20 +0300 [thread overview]
Message-ID: <202512112218.13vaWK3b-lkp@intel.com> (raw)
Message-ID: <20251211145620.H0E8Fk9pOIE48X9JvLJhPFolLFmQMH92NiFGzaEBAXc@z> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d358e5254674b70f34c847715ca509e46eb81e6f
commit: df210d9b0951d714c1668c511ca5c8ff38cf6916 sunrpc: Add a sysfs file for adding a new xprt
config: x86_64-randconfig-161-20251210 (https://download.01.org/0day-ci/archive/20251211/202512112218.13vaWK3b-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.0
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/202512112218.13vaWK3b-lkp@intel.com/
New smatch warnings:
net/sunrpc/sysfs.c:343 rpc_sysfs_xprt_switch_add_xprt_store() warn: passing zero to 'PTR_ERR'
vim +/PTR_ERR +343 net/sunrpc/sysfs.c
df210d9b0951d7 Anna Schumaker 2025-02-07 315 static ssize_t rpc_sysfs_xprt_switch_add_xprt_store(struct kobject *kobj,
df210d9b0951d7 Anna Schumaker 2025-02-07 316 struct kobj_attribute *attr,
df210d9b0951d7 Anna Schumaker 2025-02-07 317 const char *buf, size_t count)
df210d9b0951d7 Anna Schumaker 2025-02-07 318 {
df210d9b0951d7 Anna Schumaker 2025-02-07 319 struct rpc_xprt_switch *xprt_switch =
df210d9b0951d7 Anna Schumaker 2025-02-07 320 rpc_sysfs_xprt_switch_kobj_get_xprt(kobj);
df210d9b0951d7 Anna Schumaker 2025-02-07 321 struct xprt_create xprt_create_args;
df210d9b0951d7 Anna Schumaker 2025-02-07 322 struct rpc_xprt *xprt, *new;
df210d9b0951d7 Anna Schumaker 2025-02-07 323
df210d9b0951d7 Anna Schumaker 2025-02-07 324 if (!xprt_switch)
df210d9b0951d7 Anna Schumaker 2025-02-07 325 return 0;
df210d9b0951d7 Anna Schumaker 2025-02-07 326
df210d9b0951d7 Anna Schumaker 2025-02-07 327 xprt = rpc_xprt_switch_get_main_xprt(xprt_switch);
df210d9b0951d7 Anna Schumaker 2025-02-07 328 if (!xprt)
df210d9b0951d7 Anna Schumaker 2025-02-07 329 goto out;
I would have expected an error code on this path.
df210d9b0951d7 Anna Schumaker 2025-02-07 330
df210d9b0951d7 Anna Schumaker 2025-02-07 331 xprt_create_args.ident = xprt->xprt_class->ident;
df210d9b0951d7 Anna Schumaker 2025-02-07 332 xprt_create_args.net = xprt->xprt_net;
df210d9b0951d7 Anna Schumaker 2025-02-07 333 xprt_create_args.dstaddr = (struct sockaddr *)&xprt->addr;
df210d9b0951d7 Anna Schumaker 2025-02-07 334 xprt_create_args.addrlen = xprt->addrlen;
df210d9b0951d7 Anna Schumaker 2025-02-07 335 xprt_create_args.servername = xprt->servername;
df210d9b0951d7 Anna Schumaker 2025-02-07 336 xprt_create_args.bc_xprt = xprt->bc_xprt;
df210d9b0951d7 Anna Schumaker 2025-02-07 337 xprt_create_args.xprtsec = xprt->xprtsec;
df210d9b0951d7 Anna Schumaker 2025-02-07 338 xprt_create_args.connect_timeout = xprt->connect_timeout;
df210d9b0951d7 Anna Schumaker 2025-02-07 339 xprt_create_args.reconnect_timeout = xprt->max_reconnect_timeout;
df210d9b0951d7 Anna Schumaker 2025-02-07 340
df210d9b0951d7 Anna Schumaker 2025-02-07 341 new = xprt_create_transport(&xprt_create_args);
df210d9b0951d7 Anna Schumaker 2025-02-07 342 if (IS_ERR_OR_NULL(new)) {
xprt_create_transport() can't return NULL so this should really just be:
if (IS_ERR(new)) {
If you have the cross function database then Smatch ignores this, but
the kbuild-bot doesn't have that so it assumes xprt_create_transport()
can return NULL.
df210d9b0951d7 Anna Schumaker 2025-02-07 @343 count = PTR_ERR(new);
df210d9b0951d7 Anna Schumaker 2025-02-07 344 goto out_put_xprt;
df210d9b0951d7 Anna Schumaker 2025-02-07 345 }
df210d9b0951d7 Anna Schumaker 2025-02-07 346
df210d9b0951d7 Anna Schumaker 2025-02-07 347 rpc_xprt_switch_add_xprt(xprt_switch, new);
df210d9b0951d7 Anna Schumaker 2025-02-07 348 xprt_put(new);
df210d9b0951d7 Anna Schumaker 2025-02-07 349
df210d9b0951d7 Anna Schumaker 2025-02-07 350 out_put_xprt:
df210d9b0951d7 Anna Schumaker 2025-02-07 351 xprt_put(xprt);
df210d9b0951d7 Anna Schumaker 2025-02-07 352 out:
df210d9b0951d7 Anna Schumaker 2025-02-07 353 xprt_switch_put(xprt_switch);
df210d9b0951d7 Anna Schumaker 2025-02-07 354 return count;
df210d9b0951d7 Anna Schumaker 2025-02-07 355 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2025-12-11 14:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-11 14:34 kernel test robot [this message]
2025-12-11 14:56 ` net/sunrpc/sysfs.c:343 rpc_sysfs_xprt_switch_add_xprt_store() warn: passing zero to 'PTR_ERR' Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2026-03-22 23:05 kernel test robot
2026-03-23 8:21 ` Dan Carpenter
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=202512112218.13vaWK3b-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.