Commit 057adb78 authored by Dan Carpenter's avatar Dan Carpenter Committed by Heyuan Wang
Browse files

PCI: keystone: Fix if-statement expression in ks_pcie_quirk()

mainline inclusion
from mainline-v6.12-rc1
commit 6188a1c762eb9bbd444f47696eda77a5eae6207a
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAVU7T
CVE: CVE-2024-47667

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6188a1c762eb9bbd444f47696eda77a5eae6207a

--------------------------------

This code accidentally uses && where || was intended.  It potentially
results in a NULL dereference.

Thus, fix the if-statement expression to use the correct condition.

Fixes: 86f271f22bbb ("PCI: keystone: Add workaround for Errata #i2037 (AM65x SR 1.0)")
Link: https://lore.kernel.org/linux-pci/1b762a93-e1b2-4af3-8c04-c8843905c279@stanley.mountain


Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
[kwilczynski: commit log]
Signed-off-by: default avatarKrzysztof Wilczyński <kwilczynski@kernel.org>
Reviewed-by: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: default avatarSiddharth Vadapalli <s-vadapalli@ti.com>
Signed-off-by: default avatarHeyuan Wang <wangheyuan2@h-partners.com>
parent 12b717d5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -605,7 +605,7 @@ static void ks_pcie_quirk(struct pci_dev *dev)
	 */
	if (pci_match_id(am6_pci_devids, bridge)) {
		bridge_dev = pci_get_host_bridge_device(dev);
		if (!bridge_dev && !bridge_dev->parent)
		if (!bridge_dev || !bridge_dev->parent)
			return;

		ks_pcie = dev_get_drvdata(bridge_dev->parent);