Skip to content

Commit ac2fbe0

Browse files
tititiou36bp3tk0v
authored andcommitted
EDAC/igen6: Constify struct res_config
The res_config structs are not modified in this driver. Constifying these structures moves some data to a read-only section, so increase overall security, especially when the structure holds some function pointers. On a x86_64, with allmodconfig, as an example: Before: ====== text data bss dec hex filename 36777 2479 4304 43560 aa28 drivers/edac/igen6_edac.o After: ===== text data bss dec hex filename 37297 1959 4304 43560 aa28 drivers/edac/igen6_edac.o Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> Link: https://lore.kernel.org/r/a06153870951a64b438e76adf97d440e02c1a1fc.1738355198.git.christophe.jaillet@wanadoo.fr
1 parent 12378e1 commit ac2fbe0

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

drivers/edac/igen6_edac.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@
125125
#define MEM_SLICE_HASH_MASK(v) (GET_BITFIELD(v, 6, 19) << 6)
126126
#define MEM_SLICE_HASH_LSB_MASK_BIT(v) GET_BITFIELD(v, 24, 26)
127127

128-
static struct res_config {
128+
static const struct res_config {
129129
bool machine_check;
130130
int num_imc;
131131
u32 imc_base;
@@ -472,7 +472,7 @@ static u64 rpl_p_err_addr(u64 ecclog)
472472
return ECC_ERROR_LOG_ADDR45(ecclog);
473473
}
474474

475-
static struct res_config ehl_cfg = {
475+
static const struct res_config ehl_cfg = {
476476
.num_imc = 1,
477477
.imc_base = 0x5000,
478478
.ibecc_base = 0xdc00,
@@ -482,7 +482,7 @@ static struct res_config ehl_cfg = {
482482
.err_addr_to_imc_addr = ehl_err_addr_to_imc_addr,
483483
};
484484

485-
static struct res_config icl_cfg = {
485+
static const struct res_config icl_cfg = {
486486
.num_imc = 1,
487487
.imc_base = 0x5000,
488488
.ibecc_base = 0xd800,
@@ -492,7 +492,7 @@ static struct res_config icl_cfg = {
492492
.err_addr_to_imc_addr = ehl_err_addr_to_imc_addr,
493493
};
494494

495-
static struct res_config tgl_cfg = {
495+
static const struct res_config tgl_cfg = {
496496
.machine_check = true,
497497
.num_imc = 2,
498498
.imc_base = 0x5000,
@@ -506,7 +506,7 @@ static struct res_config tgl_cfg = {
506506
.err_addr_to_imc_addr = tgl_err_addr_to_imc_addr,
507507
};
508508

509-
static struct res_config adl_cfg = {
509+
static const struct res_config adl_cfg = {
510510
.machine_check = true,
511511
.num_imc = 2,
512512
.imc_base = 0xd800,
@@ -517,7 +517,7 @@ static struct res_config adl_cfg = {
517517
.err_addr_to_imc_addr = adl_err_addr_to_imc_addr,
518518
};
519519

520-
static struct res_config adl_n_cfg = {
520+
static const struct res_config adl_n_cfg = {
521521
.machine_check = true,
522522
.num_imc = 1,
523523
.imc_base = 0xd800,
@@ -528,7 +528,7 @@ static struct res_config adl_n_cfg = {
528528
.err_addr_to_imc_addr = adl_err_addr_to_imc_addr,
529529
};
530530

531-
static struct res_config rpl_p_cfg = {
531+
static const struct res_config rpl_p_cfg = {
532532
.machine_check = true,
533533
.num_imc = 2,
534534
.imc_base = 0xd800,
@@ -540,7 +540,7 @@ static struct res_config rpl_p_cfg = {
540540
.err_addr_to_imc_addr = adl_err_addr_to_imc_addr,
541541
};
542542

543-
static struct res_config mtl_ps_cfg = {
543+
static const struct res_config mtl_ps_cfg = {
544544
.machine_check = true,
545545
.num_imc = 2,
546546
.imc_base = 0xd800,
@@ -551,7 +551,7 @@ static struct res_config mtl_ps_cfg = {
551551
.err_addr_to_imc_addr = adl_err_addr_to_imc_addr,
552552
};
553553

554-
static struct res_config mtl_p_cfg = {
554+
static const struct res_config mtl_p_cfg = {
555555
.machine_check = true,
556556
.num_imc = 2,
557557
.imc_base = 0xd800,
@@ -1374,7 +1374,7 @@ static void unregister_err_handler(void)
13741374
unregister_nmi_handler(NMI_SERR, IGEN6_NMI_NAME);
13751375
}
13761376

1377-
static void opstate_set(struct res_config *cfg, const struct pci_device_id *ent)
1377+
static void opstate_set(const struct res_config *cfg, const struct pci_device_id *ent)
13781378
{
13791379
/*
13801380
* Quirk: Certain SoCs' error reporting interrupts don't work.

0 commit comments

Comments
 (0)