EDAC: Add owner check to the x86 platform drivers
Change x86 EDAC platform drivers to verify the module owner at the beginning of their module init functions. This allows them to fail their init immediately when ghes_edac is enabled. Similar change can be made to other edac drivers if necessary. Also, remove ".c" from module names of pnp2_edac, sb_edac, and skx_edac. Signed-off-by: Toshi Kani <toshi.kani@hpe.com> Suggested-by: Borislav Petkov <bp@alien8.de> Cc: Mauro Carvalho Chehab <mchehab@kernel.org> Cc: Tony Luck <tony.luck@intel.com> Cc: linux-edac <linux-edac@vger.kernel.org> Link: http://lkml.kernel.org/r/20170823225447.15608-6-toshi.kani@hpe.com Signed-off-by: Borislav Petkov <bp@suse.de>
This commit is contained in:

committed by
Borislav Petkov

parent
3877c7d1e2
commit
301375e764
@@ -31,6 +31,8 @@
|
||||
|
||||
#include "edac_module.h"
|
||||
|
||||
#define EDAC_MOD_STR "skx_edac"
|
||||
|
||||
/*
|
||||
* Debug macros
|
||||
*/
|
||||
@@ -473,7 +475,7 @@ static int skx_register_mci(struct skx_imc *imc)
|
||||
mci->mtype_cap = MEM_FLAG_DDR4;
|
||||
mci->edac_ctl_cap = EDAC_FLAG_NONE;
|
||||
mci->edac_cap = EDAC_FLAG_NONE;
|
||||
mci->mod_name = "skx_edac.c";
|
||||
mci->mod_name = EDAC_MOD_STR;
|
||||
mci->dev_name = pci_name(imc->chan[0].cdev);
|
||||
mci->ctl_page_to_phys = NULL;
|
||||
|
||||
@@ -1044,12 +1046,17 @@ static int __init skx_init(void)
|
||||
{
|
||||
const struct x86_cpu_id *id;
|
||||
const struct munit *m;
|
||||
const char *owner;
|
||||
int rc = 0, i;
|
||||
u8 mc = 0, src_id, node_id;
|
||||
struct skx_dev *d;
|
||||
|
||||
edac_dbg(2, "\n");
|
||||
|
||||
owner = edac_get_owner();
|
||||
if (owner && strncmp(owner, EDAC_MOD_STR, sizeof(EDAC_MOD_STR)))
|
||||
return -EBUSY;
|
||||
|
||||
id = x86_match_cpu(skx_cpuids);
|
||||
if (!id)
|
||||
return -ENODEV;
|
||||
|
Reference in New Issue
Block a user