lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sat, 24 Feb 2024 20:12:36 +0800
From: Yang Xiwen <forbidden405@...look.com>
To: kernel test robot <lkp@...el.com>,
 Yang Xiwen via B4 Relay <devnull+forbidden405.outlook.com@...nel.org>,
 Rob Herring <robh+dt@...nel.org>, Krzysztof Kozlowski <krzk@...nel.org>,
 Conor Dooley <conor+dt@...nel.org>,
 Geert Uytterhoeven <geert+renesas@...der.be>,
 Philipp Zabel <p.zabel@...gutronix.de>
Cc: oe-kbuild-all@...ts.linux.dev, devicetree@...r.kernel.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] drivers: bus: simple-pm-bus: Get and deassert resets
 exclusively

On 2/24/2024 7:32 AM, kernel test robot wrote:
> Hi Yang,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on 8d3dea210042f54b952b481838c1e7dfc4ec751d]
>
> url:    https://github.com/intel-lab-lkp/linux/commits/Yang-Xiwen-via-B4-Relay/dt-bindings-simple-pm-bus-Add-optional-resets/20240223-115400
> base:   8d3dea210042f54b952b481838c1e7dfc4ec751d
> patch link:    https://lore.kernel.org/r/20240223-b4-bus-v1-2-2803c3ac4673%40outlook.com
> patch subject: [PATCH 2/2] drivers: bus: simple-pm-bus: Get and deassert resets exclusively
> config: i386-randconfig-061-20240223 (https://download.01.org/0day-ci/archive/20240224/202402240740.rPfLNrGO-lkp@intel.com/config)
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240224/202402240740.rPfLNrGO-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@...el.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202402240740.rPfLNrGO-lkp@intel.com/
>
> sparse warnings: (new ones prefixed by >>)
>>> drivers/bus/simple-pm-bus.c:67:50: sparse: sparse: incorrect type in argument 1 (different modifiers) @@     expected struct device *dev @@     got struct device const *dev @@
>     drivers/bus/simple-pm-bus.c:67:50: sparse:     expected struct device *dev
>     drivers/bus/simple-pm-bus.c:67:50: sparse:     got struct device const *dev
>
> vim +67 drivers/bus/simple-pm-bus.c
>
>      26	
>      27	static int simple_pm_bus_probe(struct platform_device *pdev)
>      28	{
>      29		const struct device *dev = &pdev->dev;
>      30		const struct of_dev_auxdata *lookup = dev_get_platdata(dev);
>      31		struct device_node *np = dev->of_node;
>      32		const struct of_device_id *match;
>      33		struct simple_pm_bus *bus;
>      34	
>      35		/*
>      36		 * Allow user to use driver_override to bind this driver to a
>      37		 * transparent bus device which has a different compatible string
>      38		 * that's not listed in simple_pm_bus_of_match. We don't want to do any
>      39		 * of the simple-pm-bus tasks for these devices, so return early.
>      40		 */
>      41		if (pdev->driver_override)
>      42			return 0;
>      43	
>      44		match = of_match_device(dev->driver->of_match_table, dev);
>      45		/*
>      46		 * These are transparent bus devices (not simple-pm-bus matches) that
>      47		 * have their child nodes populated automatically.  So, don't need to
>      48		 * do anything more. We only match with the device if this driver is
>      49		 * the most specific match because we don't want to incorrectly bind to
>      50		 * a device that has a more specific driver.
>      51		 */
>      52		if (match && match->data) {
>      53			if (of_property_match_string(np, "compatible", match->compatible) == 0)
>      54				return 0;
>      55			else
>      56				return -ENODEV;
>      57		}
>      58	
>      59		bus = devm_kzalloc(&pdev->dev, sizeof(*bus), GFP_KERNEL);
>      60		if (!bus)
>      61			return -ENOMEM;
>      62	
>      63		bus->num_clks = devm_clk_bulk_get_all(&pdev->dev, &bus->clks);
>      64		if (bus->num_clks < 0)
>      65			return dev_err_probe(&pdev->dev, bus->num_clks, "failed to get clocks\n");
>      66	
>    > 67		bus->rsts = devm_reset_control_array_get(dev, false, true);


Fixed in v2 before reporting.


>      68		if (IS_ERR(bus->rsts))
>      69			return dev_err_probe(&pdev->dev, PTR_ERR(bus->rsts), "failed to get resets\n");
>      70	
>      71		dev_set_drvdata(&pdev->dev, bus);
>      72	
>      73		dev_dbg(&pdev->dev, "%s\n", __func__);
>      74	
>      75		pm_runtime_enable(&pdev->dev);
>      76	
>      77		if (np)
>      78			of_platform_populate(np, NULL, lookup, &pdev->dev);
>      79	
>      80		return 0;
>      81	}
>      82	
>

-- 
Regards,
Yang Xiwen


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ