drivers/pci/endpoint/pci-ep-cfs.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
'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>
---
Compile tested only.
This change is possible since commits f2f36500a63b and f7f78098690d.
---
drivers/pci/endpoint/pci-ep-cfs.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/endpoint/pci-ep-cfs.c b/drivers/pci/endpoint/pci-ep-cfs.c
index ef50c82e647f..034a31c341c9 100644
--- a/drivers/pci/endpoint/pci-ep-cfs.c
+++ b/drivers/pci/endpoint/pci-ep-cfs.c
@@ -85,7 +85,7 @@ static void pci_secondary_epc_epf_unlink(struct config_item *epc_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,
};
@@ -149,7 +149,7 @@ static void pci_primary_epc_epf_unlink(struct config_item *epc_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,
};
@@ -257,7 +257,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,
};
@@ -508,7 +508,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,
@@ -662,7 +662,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,
};
--
2.52.0
On Sun, Dec 14, 2025 at 10:45:29AM +0100, Christophe JAILLET wrote:
> '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.
Sounds plausible, except that there's no apparent connection with scsi
(as suggested by the subject). Will wait for a revision that matches
history of this file.
> 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>
> ---
> Compile tested only.
>
> This change is possible since commits f2f36500a63b and f7f78098690d.
> ---
> drivers/pci/endpoint/pci-ep-cfs.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/pci/endpoint/pci-ep-cfs.c b/drivers/pci/endpoint/pci-ep-cfs.c
> index ef50c82e647f..034a31c341c9 100644
> --- a/drivers/pci/endpoint/pci-ep-cfs.c
> +++ b/drivers/pci/endpoint/pci-ep-cfs.c
> @@ -85,7 +85,7 @@ static void pci_secondary_epc_epf_unlink(struct config_item *epc_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,
> };
> @@ -149,7 +149,7 @@ static void pci_primary_epc_epf_unlink(struct config_item *epc_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,
> };
> @@ -257,7 +257,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,
> };
> @@ -508,7 +508,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,
> @@ -662,7 +662,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,
> };
> --
> 2.52.0
>
© 2016 - 2026 Red Hat, Inc.