]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
scsi: Constify struct pci_error_handlers
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 19 Jan 2025 20:29:39 +0000 (21:29 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 3 Feb 2025 22:35:58 +0000 (17:35 -0500)
'struct pci_error_handlers' are not modified in these drivers.

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
  39049    6429     112   45590    b216 drivers/scsi/aacraid/linit.o

After:
=====
   text    data     bss     dec     hex filename
  39113    6365     112   45590    b216 drivers/scsi/aacraid/linit.o

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/efdec8425981e10fc398fa2ac599c9c45d930561.1737318548.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/aacraid/linit.c
drivers/scsi/be2iscsi/be_main.c
drivers/scsi/bfa/bfad.c
drivers/scsi/csiostor/csio_init.c
drivers/scsi/elx/efct/efct_driver.c
drivers/scsi/mpi3mr/mpi3mr_os.c
drivers/scsi/mpt3sas/mpt3sas_scsih.c
drivers/scsi/qedi/qedi_main.c

index 91170a67cc912a5de21e90ff91fc8baa29a47e14..4b12e6dd8f07f7d63886aea0f1a487c8c4d653cb 100644 (file)
@@ -2029,7 +2029,7 @@ static void aac_pci_resume(struct pci_dev *pdev)
        dev_err(&pdev->dev, "aacraid: PCI error - resume\n");
 }
 
-static struct pci_error_handlers aac_pci_err_handler = {
+static const struct pci_error_handlers aac_pci_err_handler = {
        .error_detected         = aac_pci_error_detected,
        .mmio_enabled           = aac_pci_mmio_enabled,
        .slot_reset             = aac_pci_slot_reset,
index 76a1e373386efb22580da5aa6aaa5e50c5e78f10..a8b399ed98fc5d1b4e0bd0c0f68a7b5dea8d236a 100644 (file)
@@ -5776,7 +5776,7 @@ static void beiscsi_remove(struct pci_dev *pcidev)
 }
 
 
-static struct pci_error_handlers beiscsi_eeh_handlers = {
+static const struct pci_error_handlers beiscsi_eeh_handlers = {
        .error_detected = beiscsi_eeh_err_detected,
        .slot_reset = beiscsi_eeh_reset,
        .resume = beiscsi_eeh_resume,
index 6aa1d3a7e24bc8d4cc16b56dfa55d7c12eb2fd83..f015c53de0d44bf358ca065f6c3c6fa29fbd52d0 100644 (file)
@@ -1642,7 +1642,7 @@ MODULE_DEVICE_TABLE(pci, bfad_id_table);
 /*
  * PCI error recovery handlers.
  */
-static struct pci_error_handlers bfad_err_handler = {
+static const struct pci_error_handlers bfad_err_handler = {
        .error_detected = bfad_pci_error_detected,
        .slot_reset = bfad_pci_slot_reset,
        .mmio_enabled = bfad_pci_mmio_enabled,
index 9a3f2ed050bd8e059be06ddc5f35904590ced39b..79c8dafdd49ed2dde657eede55c417238c174562 100644 (file)
@@ -1162,7 +1162,7 @@ err_resume_exit:
        dev_err(&pdev->dev, "resume of device failed: %d\n", rv);
 }
 
-static struct pci_error_handlers csio_err_handler = {
+static const struct pci_error_handlers csio_err_handler = {
        .error_detected = csio_pci_error_detected,
        .slot_reset     = csio_pci_slot_reset,
        .resume         = csio_pci_resume,
index 8469c156ab3371dab4a9a4c61bc7bb21f93531db..59f2775937853428a97451f2957a5ea3e484fdb0 100644 (file)
@@ -735,7 +735,7 @@ efct_pci_io_resume(struct pci_dev *pdev)
 
 MODULE_DEVICE_TABLE(pci, efct_pci_table);
 
-static struct pci_error_handlers efct_pci_err_handler = {
+static const struct pci_error_handlers efct_pci_err_handler = {
        .error_detected = efct_pci_io_error_detected,
        .slot_reset = efct_pci_io_slot_reset,
        .resume = efct_pci_io_resume,
index b9a51d3f2024bb0a8e8b92261b61e26765e70a42..e3547ea4261395495a3bddb9fea1b79550e0b7c0 100644 (file)
@@ -5803,7 +5803,7 @@ static const struct pci_device_id mpi3mr_pci_id_table[] = {
 };
 MODULE_DEVICE_TABLE(pci, mpi3mr_pci_id_table);
 
-static struct pci_error_handlers mpi3mr_err_handler = {
+static const struct pci_error_handlers mpi3mr_err_handler = {
        .error_detected = mpi3mr_pcierr_error_detected,
        .mmio_enabled = mpi3mr_pcierr_mmio_enabled,
        .slot_reset = mpi3mr_pcierr_slot_reset,
index a456e5ec74d886c36e9564f273a08818dbfa3670..92572cde3485a9ab560d0adeb3473681930eecb8 100644 (file)
@@ -12710,7 +12710,7 @@ static const struct pci_device_id mpt3sas_pci_table[] = {
 };
 MODULE_DEVICE_TABLE(pci, mpt3sas_pci_table);
 
-static struct pci_error_handlers _mpt3sas_err_handler = {
+static const struct pci_error_handlers _mpt3sas_err_handler = {
        .error_detected = scsih_pci_error_detected,
        .mmio_enabled   = scsih_pci_mmio_enabled,
        .slot_reset     = scsih_pci_slot_reset,
index c9539897048abfc1d46634e867be690e2249c5e8..e87885cc701c29ed74a8398b1c1361e0d6279463 100644 (file)
@@ -2876,7 +2876,7 @@ MODULE_DEVICE_TABLE(pci, qedi_pci_tbl);
 
 static enum cpuhp_state qedi_cpuhp_state;
 
-static struct pci_error_handlers qedi_err_handler = {
+static const struct pci_error_handlers qedi_err_handler = {
        .error_detected = qedi_io_error_detected,
 };