[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202512112218.13vaWK3b-lkp@intel.com>
Date: Thu, 11 Dec 2025 17:56:20 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: oe-kbuild@...ts.linux.dev, Anna Schumaker <anna.schumaker@...cle.com>
Cc: lkp@...el.com, oe-kbuild-all@...ts.linux.dev,
linux-kernel@...r.kernel.org,
Trond Myklebust <trond.myklebust@...merspace.com>,
Benjamin Coddington <bcodding@...hat.com>
Subject: net/sunrpc/sysfs.c:343 rpc_sysfs_xprt_switch_add_xprt_store() warn:
passing zero to 'PTR_ERR'
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@...el.com>
| Reported-by: Dan Carpenter <dan.carpenter@...aro.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
Powered by blists - more mailing lists