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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 6 Jan 2024 20:39:23 +0900
From: Krzysztof WilczyƄski <kw@...ux.com>
To: Harshit Mogalapalli <harshit.m.mogalapalli@...cle.com>
Cc: Lorenzo Pieralisi <lpieralisi@...nel.org>,
	Rob Herring <robh@...nel.org>, Bjorn Helgaas <bhelgaas@...gle.com>,
	Michal Simek <michal.simek@....com>,
	Thippeswamy Havalige <thippeswamy.havalige@....com>,
	Bharat Kumar Gogada <bharat.kumar.gogada@....com>,
	linux-pci@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
	linux-kernel@...r.kernel.org, dan.carpenter@...aro.org,
	kernel-janitors@...r.kernel.org, error27@...il.com
Subject: Re: [PATCH next] PCI: xilinx-xdma: Fix error code in
 xilinx_pl_dma_pcie_init_irq_domain()

Hello,

> Return -ENOMEM instead of zero(success) when it fails to get IRQ domain.
> 
> Fixes: 8d786149d78c ("PCI: xilinx-xdma: Add Xilinx XDMA Root Port driver")
> Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@...cle.com>
> ---
> This is found with smatch and the patch is only compile tested.
> ---
>  drivers/pci/controller/pcie-xilinx-dma-pl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/controller/pcie-xilinx-dma-pl.c b/drivers/pci/controller/pcie-xilinx-dma-pl.c
> index 2f7d676c683c..52f3211d11cd 100644
> --- a/drivers/pci/controller/pcie-xilinx-dma-pl.c
> +++ b/drivers/pci/controller/pcie-xilinx-dma-pl.c
> @@ -576,7 +576,7 @@ static int xilinx_pl_dma_pcie_init_irq_domain(struct pl_dma_pcie *port)
>  						  &intx_domain_ops, port);
>  	if (!port->intx_domain) {
>  		dev_err(dev, "Failed to get a INTx IRQ domain\n");
> -		return PTR_ERR(port->intx_domain);
> +		return -ENOMEM;
>  	}

This looks good.

However, there is probably another issue here on the failure path.  I don't
see any of_node_put() to release the pcie_intc_node taken at the top of the
xilinx_pl_dma_pcie_init_irq_domain() function.

I would imagine a similar approach to the error handling as what we can see
from xilinx_cpm_pcie_init_irq_domain() function in the older driver.

Thippeswamy, can you have a look and see if this can be improved?  I would
love to get a fix before Bjorn sends a Pull Request for the next release.

	Krzysztof

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ