]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI: endpoint: Constify struct configfs_item_operations and configfs_group_operations
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 29 Dec 2025 11:13:29 +0000 (12:13 +0100)
committerManivannan Sadhasivam <mani@kernel.org>
Tue, 24 Feb 2026 10:32:51 +0000 (16:02 +0530)
'struct configfs_item_operations' and 'configfs_group_operations' are not
modified in this driver.

Constifying these structures moves some data to a read-only section, so
increases overall security, especially when the structure holds some
function pointers.

On a x86_64, with allmodconfig:
Before:
======
   text    data     bss     dec     hex filename
  27503   12184     256   39943    9c07 drivers/pci/endpoint/pci-ep-cfs.o

After:
=====
   text    data     bss     dec     hex filename
  27855   11832     256   39943    9c07 drivers/pci/endpoint/pci-ep-cfs.o

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/f1f05f1c10c6caf37dd620fa12f508c53536996b.1765705512.git.christophe.jaillet@wanadoo.fr
drivers/pci/endpoint/pci-ep-cfs.c

index 0f3921f28f17e5e9c07200d3bd0c09b0bad1bca7..653ffc72dd39f655e1c36b318b7bf2872e607d2f 100644 (file)
@@ -84,7 +84,7 @@ static void pci_secondary_epc_epf_unlink(struct config_item *epf_item,
        pci_epc_remove_epf(epc, epf, SECONDARY_INTERFACE);
 }
 
-static struct configfs_item_operations pci_secondary_epc_item_ops = {
+static const struct configfs_item_operations pci_secondary_epc_item_ops = {
        .allow_link     = pci_secondary_epc_epf_link,
        .drop_link      = pci_secondary_epc_epf_unlink,
 };
@@ -148,7 +148,7 @@ static void pci_primary_epc_epf_unlink(struct config_item *epf_item,
        pci_epc_remove_epf(epc, epf, PRIMARY_INTERFACE);
 }
 
-static struct configfs_item_operations pci_primary_epc_item_ops = {
+static const struct configfs_item_operations pci_primary_epc_item_ops = {
        .allow_link     = pci_primary_epc_epf_link,
        .drop_link      = pci_primary_epc_epf_unlink,
 };
@@ -256,7 +256,7 @@ static void pci_epc_epf_unlink(struct config_item *epc_item,
        pci_epc_remove_epf(epc, epf, PRIMARY_INTERFACE);
 }
 
-static struct configfs_item_operations pci_epc_item_ops = {
+static const struct configfs_item_operations pci_epc_item_ops = {
        .allow_link     = pci_epc_epf_link,
        .drop_link      = pci_epc_epf_unlink,
 };
@@ -507,7 +507,7 @@ static void pci_epf_release(struct config_item *item)
        kfree(epf_group);
 }
 
-static struct configfs_item_operations pci_epf_ops = {
+static const struct configfs_item_operations pci_epf_ops = {
        .allow_link             = pci_epf_vepf_link,
        .drop_link              = pci_epf_vepf_unlink,
        .release                = pci_epf_release,
@@ -657,7 +657,7 @@ static void pci_epf_drop(struct config_group *group, struct config_item *item)
        config_item_put(item);
 }
 
-static struct configfs_group_operations pci_epf_group_ops = {
+static const struct configfs_group_operations pci_epf_group_ops = {
        .make_group     = &pci_epf_make,
        .drop_item      = &pci_epf_drop,
 };