[driver-core:driver-core-testing 22/28] drivers/base/test/platform-device-test.c:395 platform_device_two_swnodes() warn: passing zero to 'PTR_ERR'

kernel test robot <[email protected]> Thu, 23 Jul 2026 01:26:36 +0800
Newsgroups dev.linux.lists.oe-kbuild
Message-ID <[email protected]>
BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Bartosz Golaszewski <[email protected]>
CC: Danilo Krummrich <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core.git driver-core-testing
head:   0e6f8ccd4618afdb504d5c56fe2fea1a2cd5d86a
commit: 397f0a3958c97228c3c3f53a603eaaa0e7fb3fda [22/28] driver core: platform: tests: add test cases for correct swnode removal
:::::: branch date: 19 hours ago
:::::: commit date: 3 days ago
config: alpha-randconfig-r071-20260722 (https://download.01.org/0day-ci/archive/20260723/[email protected]/config)
compiler: alpha-linux-gcc (GCC) 10.5.0
smatch: v0.5.0-9187-g5189e3fb

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 <[email protected]>
| Reported-by: Dan Carpenter <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

New smatch warnings:
drivers/base/test/platform-device-test.c:395 platform_device_two_swnodes() warn: passing zero to 'PTR_ERR'

Old smatch warnings:
drivers/base/test/platform-device-test.c:407 platform_device_two_swnodes() warn: passing zero to 'PTR_ERR'
drivers/base/test/platform-device-test.c:419 platform_device_two_swnodes() warn: passing zero to 'PTR_ERR'

vim +/PTR_ERR +395 drivers/base/test/platform-device-test.c

397f0a3958c972 Bartosz Golaszewski 2026-07-16  363  
397f0a3958c972 Bartosz Golaszewski 2026-07-16  364  /*
397f0a3958c972 Bartosz Golaszewski 2026-07-16  365   * Check that passing two software nodes to platform_device_register_full()
397f0a3958c972 Bartosz Golaszewski 2026-07-16  366   * fails.
397f0a3958c972 Bartosz Golaszewski 2026-07-16  367   */
397f0a3958c972 Bartosz Golaszewski 2026-07-16  368  static void platform_device_two_swnodes(struct kunit *test)
397f0a3958c972 Bartosz Golaszewski 2026-07-16  369  {
397f0a3958c972 Bartosz Golaszewski 2026-07-16  370  	static const struct property_entry properties[] = {
397f0a3958c972 Bartosz Golaszewski 2026-07-16  371  		PROPERTY_ENTRY_U32("foo", 42),
397f0a3958c972 Bartosz Golaszewski 2026-07-16  372  		{ }
397f0a3958c972 Bartosz Golaszewski 2026-07-16  373  	};
397f0a3958c972 Bartosz Golaszewski 2026-07-16  374  
397f0a3958c972 Bartosz Golaszewski 2026-07-16  375  	struct platform_device_info pdevinfo;
397f0a3958c972 Bartosz Golaszewski 2026-07-16  376  	struct platform_device *pdev;
397f0a3958c972 Bartosz Golaszewski 2026-07-16  377  	struct fwnode_handle *fwnode;
397f0a3958c972 Bartosz Golaszewski 2026-07-16  378  	int ret;
397f0a3958c972 Bartosz Golaszewski 2026-07-16  379  
397f0a3958c972 Bartosz Golaszewski 2026-07-16  380  	ret = kunit_platform_driver_register(test, &platform_swnode_test_driver);
397f0a3958c972 Bartosz Golaszewski 2026-07-16  381  	KUNIT_ASSERT_EQ(test, ret, 0);
397f0a3958c972 Bartosz Golaszewski 2026-07-16  382  
397f0a3958c972 Bartosz Golaszewski 2026-07-16  383  	fwnode = kunit_software_node_register(test, &platform_device_test_swnode);
397f0a3958c972 Bartosz Golaszewski 2026-07-16  384  	KUNIT_ASSERT_NOT_ERR_OR_NULL(test, fwnode);
397f0a3958c972 Bartosz Golaszewski 2026-07-16  385  
397f0a3958c972 Bartosz Golaszewski 2026-07-16  386  	pdevinfo = (struct platform_device_info){
397f0a3958c972 Bartosz Golaszewski 2026-07-16  387  		.name = DEVICE_NAME,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  388  		.id = PLATFORM_DEVID_NONE,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  389  		.fwnode = fwnode,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  390  		.swnode = &platform_device_test_swnode,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  391  	};
397f0a3958c972 Bartosz Golaszewski 2026-07-16  392  
397f0a3958c972 Bartosz Golaszewski 2026-07-16  393  	pdev = platform_device_register_full(&pdevinfo);
397f0a3958c972 Bartosz Golaszewski 2026-07-16  394  	KUNIT_ASSERT_TRUE(test, IS_ERR(pdev));
397f0a3958c972 Bartosz Golaszewski 2026-07-16 @395  	KUNIT_ASSERT_EQ_MSG(test, PTR_ERR(pdev), -EINVAL,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  396  			    "Expected errno == -EINVAL, got: %pe", pdev);
397f0a3958c972 Bartosz Golaszewski 2026-07-16  397  
397f0a3958c972 Bartosz Golaszewski 2026-07-16  398  	pdevinfo = (struct platform_device_info){
397f0a3958c972 Bartosz Golaszewski 2026-07-16  399  		.name = DEVICE_NAME,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  400  		.id = PLATFORM_DEVID_NONE,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  401  		.swnode = &platform_device_test_swnode,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  402  		.properties = properties,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  403  	};
397f0a3958c972 Bartosz Golaszewski 2026-07-16  404  
397f0a3958c972 Bartosz Golaszewski 2026-07-16  405  	pdev = platform_device_register_full(&pdevinfo);
397f0a3958c972 Bartosz Golaszewski 2026-07-16  406  	KUNIT_ASSERT_TRUE(test, IS_ERR(pdev));
397f0a3958c972 Bartosz Golaszewski 2026-07-16  407  	KUNIT_ASSERT_EQ_MSG(test, PTR_ERR(pdev), -EINVAL,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  408  			    "Expected errno == -EINVAL, got: %pe", pdev);
397f0a3958c972 Bartosz Golaszewski 2026-07-16  409  
397f0a3958c972 Bartosz Golaszewski 2026-07-16  410  	pdevinfo = (struct platform_device_info){
397f0a3958c972 Bartosz Golaszewski 2026-07-16  411  		.name = DEVICE_NAME,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  412  		.id = PLATFORM_DEVID_NONE,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  413  		.fwnode = fwnode,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  414  		.properties = properties,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  415  	};
397f0a3958c972 Bartosz Golaszewski 2026-07-16  416  
397f0a3958c972 Bartosz Golaszewski 2026-07-16  417  	pdev = platform_device_register_full(&pdevinfo);
397f0a3958c972 Bartosz Golaszewski 2026-07-16  418  	KUNIT_ASSERT_TRUE(test, IS_ERR(pdev));
397f0a3958c972 Bartosz Golaszewski 2026-07-16  419  	KUNIT_ASSERT_EQ_MSG(test, PTR_ERR(pdev), -EINVAL,
397f0a3958c972 Bartosz Golaszewski 2026-07-16  420  			    "Expected errno == -EINVAL, got: %pe", pdev);
397f0a3958c972 Bartosz Golaszewski 2026-07-16  421  }
397f0a3958c972 Bartosz Golaszewski 2026-07-16  422  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki