kernel_optimize_test/drivers/edac
Borislav Petkov eae95da7fc EDAC/amd64: Fix PCI component registration
commit 706657b1febf446a9ba37dc51b89f46604f57ee9 upstream.

In order to setup its PCI component, the driver needs any node private
instance in order to get a reference to the PCI device and hand that
into edac_pci_create_generic_ctl(). For convenience, it uses the 0th
memory controller descriptor under the assumption that if any, the 0th
will be always present.

However, this assumption goes wrong when the 0th node doesn't have
memory and the driver doesn't initialize an instance for it:

  EDAC amd64: F17h detected (node 0).
  ...
  EDAC amd64: Node 0: No DIMMs detected.

But looking up node instances is not really needed - all one needs is
the pointer to the proper device which gets discovered during instance
init.

So stash that pointer into a variable and use it when setting up the
EDAC PCI component.

Clear that variable when the driver needs to unwind due to some
instances failing init to avoid any registration imbalance.

Cc: <stable@vger.kernel.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20201122150815.13808-1-bp@alien8.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:54:11 +01:00
..
al_mc_edac.c EDAC/al-mc-edac: Add Amazon's Annapurna Labs Memory Controller driver 2020-08-17 10:10:29 +02:00
altera_edac.c EDAC/altera: Use the Altera System Manager driver 2019-11-22 10:18:29 +01:00
altera_edac.h
amd64_edac_dbg.c
amd64_edac_inj.c
amd64_edac.c EDAC/amd64: Fix PCI component registration 2020-12-30 11:54:11 +01:00
amd64_edac.h EDAC/amd64: Add AMD family 17h model 60h PCI IDs 2020-05-22 18:43:13 +02:00
amd76x_edac.c
amd8111_edac.c
amd8111_edac.h
amd8131_edac.c EDAC/amd8131: Remove defined but not used bridge_str 2020-04-24 09:08:47 +02:00
amd8131_edac.h
armada_xp_edac.c EDAC/armada_xp: Fix some log messages 2020-04-14 11:28:09 +02:00
aspeed_edac.c EDAC/aspeed: Use module_platform_driver() to simplify 2020-09-18 09:14:01 +02:00
bluefield_edac.c
cell_edac.c
cpc925_edac.c
debugfs.c
dmc520_edac.c EDAC: Add EDAC driver for DMC520 2020-02-19 21:00:27 +01:00
e7xxx_edac.c
e752x_edac.c EDAC: Replace HTTP links with HTTPS ones 2020-08-17 09:31:19 +02:00
edac_device_sysfs.c EDAC: Fix reference count leaks 2020-06-17 15:38:35 +02:00
edac_device.c
edac_device.h
edac_mc_sysfs.c EDAC/mc_sysfs: Add missing newlines when printing {max,dimm}_location 2020-09-18 09:14:01 +02:00
edac_mc.c EDAC/mc: Call edac_inc_ue_error() before panic 2020-06-15 11:19:52 -07:00
edac_mc.h EDAC/mc: Determine mci pointer from the error descriptor 2020-02-17 13:05:10 +01:00
edac_module.c
edac_module.h EDAC/mc: Change mci device removal to use put_device() 2020-02-17 12:32:44 +01:00
edac_pci_sysfs.c EDAC: Fix reference count leaks 2020-06-17 15:38:35 +02:00
edac_pci.c
edac_pci.h
fsl_ddr_edac.c
fsl_ddr_edac.h
ghes_edac.c EFI changes for v5.10: 2020-10-12 13:26:49 -07:00
highbank_l2_edac.c
highbank_mc_edac.c
i7core_edac.c * Add Amazon's Annapurna Labs memory controller EDAC driver, by Talel 2020-10-12 10:12:26 -07:00
i10nm_base.c EDAC/i10nm: Use readl() to access MMIO registers 2020-12-30 11:54:11 +01:00
i3000_edac.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
i3200_edac.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
i5000_edac.c EDAC: Replace EDAC_DIMM_PTR() macro with edac_get_dimm() function 2019-11-09 10:32:32 +01:00
i5100_edac.c EDAC/i5100: Fix error handling order in i5100_init_one() 2020-09-01 12:10:19 +02:00
i5400_edac.c EDAC: Replace HTTP links with HTTPS ones 2020-08-17 09:31:19 +02:00
i7300_edac.c EDAC: Replace HTTP links with HTTPS ones 2020-08-17 09:31:19 +02:00
i82443bxgx_edac.c
i82860_edac.c
i82875p_edac.c
i82975x_edac.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
ie31200_edac.c EDAC: Replace HTTP links with HTTPS ones 2020-08-17 09:31:19 +02:00
Kconfig EDAC/al-mc-edac: Add Amazon's Annapurna Labs Memory Controller driver 2020-08-17 10:10:29 +02:00
layerscape_edac.c
Makefile EDAC/al-mc-edac: Add Amazon's Annapurna Labs Memory Controller driver 2020-08-17 10:10:29 +02:00
mce_amd.c EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId 2020-12-30 11:53:16 +01:00
mce_amd.h x86/mce/amd, edac: Remove report_gart_errors 2020-04-14 15:53:46 +02:00
mpc85xx_edac.c
mpc85xx_edac.h
mv64x60_edac.c
mv64x60_edac.h
octeon_edac-l2c.c
octeon_edac-lmc.c
octeon_edac-pc.c
octeon_edac-pci.c
pasemi_edac.c
pnd2_edac.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pnd2_edac.h
ppc4xx_edac.c
ppc4xx_edac.h
qcom_edac.c
r82600_edac.c
sb_edac.c * Add Amazon's Annapurna Labs memory controller EDAC driver, by Talel 2020-10-12 10:12:26 -07:00
sifive_edac.c A garden variety of small fixes all over the place. 2020-01-27 09:16:22 -08:00
skx_base.c EDAC, {skx,i10nm}: Use CPU stepping macro to pass configurations 2020-06-15 14:50:39 -07:00
skx_common.c EDAC/{i7core,sb,pnd2,skx}: Fix error event severity 2020-08-18 15:40:30 +02:00
skx_common.h Merge branches 'edac-i10nm' and 'edac-misc' into edac-updates-for-5.8 2020-06-01 11:39:15 +02:00
synopsys_edac.c EDAC/synopsys: Do not dump uninitialized pinf->col 2020-03-17 14:32:31 +01:00
thunderx_edac.c EDAC/thunderx: Make symbol lmc_dfs_ents static 2020-08-17 10:35:46 +02:00
ti_edac.c EDAC/ti: Fix handling of platform_get_irq() error 2020-09-01 20:43:20 +02:00
wq.c
x38_edac.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
xgene_edac.c EDAC/xgene: Remove set but not used address local var 2020-04-14 14:35:19 +02:00