drivers/ntb/core.c | 4 ++-- drivers/ntb/ntb_transport.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
'struct bus_type' is not modified in this driver.
Constifying this structure 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:
Before:
======
text data bss dec hex filename
69682 4593 152 74427 122bb drivers/ntb/ntb_transport.o
5847 448 32 6327 18b7 drivers/ntb/core.o
After:
=====
text data bss dec hex filename
69858 4433 152 74443 122cb drivers/ntb/ntb_transport.o
6007 288 32 6327 18b7 drivers/ntb/core.o
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
Compile tested-only.
---
drivers/ntb/core.c | 4 ++--
drivers/ntb/ntb_transport.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/ntb/core.c b/drivers/ntb/core.c
index d702bee78082..ed6f4adc6130 100644
--- a/drivers/ntb/core.c
+++ b/drivers/ntb/core.c
@@ -72,7 +72,7 @@ MODULE_VERSION(DRIVER_VERSION);
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESCRIPTION);
-static struct bus_type ntb_bus;
+static const struct bus_type ntb_bus;
static void ntb_dev_release(struct device *dev);
int __ntb_register_client(struct ntb_client *client, struct module *mod,
@@ -298,7 +298,7 @@ static void ntb_dev_release(struct device *dev)
complete(&ntb->released);
}
-static struct bus_type ntb_bus = {
+static const struct bus_type ntb_bus = {
.name = "ntb",
.probe = ntb_probe,
.remove = ntb_remove,
diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
index 77e55debeed6..a79f68e18d3f 100644
--- a/drivers/ntb/ntb_transport.c
+++ b/drivers/ntb/ntb_transport.c
@@ -314,7 +314,7 @@ static void ntb_transport_bus_remove(struct device *dev)
put_device(dev);
}
-static struct bus_type ntb_transport_bus = {
+static const struct bus_type ntb_transport_bus = {
.name = "ntb_transport",
.match = ntb_transport_bus_match,
.probe = ntb_transport_bus_probe,
--
2.45.2
On 7/20/24 3:59 AM, Christophe JAILLET wrote:
> 'struct bus_type' is not modified in this driver.
>
> Constifying this structure 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:
> Before:
> ======
> text data bss dec hex filename
> 69682 4593 152 74427 122bb drivers/ntb/ntb_transport.o
> 5847 448 32 6327 18b7 drivers/ntb/core.o
>
> After:
> =====
> text data bss dec hex filename
> 69858 4433 152 74443 122cb drivers/ntb/ntb_transport.o
> 6007 288 32 6327 18b7 drivers/ntb/core.o
>
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
> ---
> Compile tested-only.
> ---
> drivers/ntb/core.c | 4 ++--
> drivers/ntb/ntb_transport.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/ntb/core.c b/drivers/ntb/core.c
> index d702bee78082..ed6f4adc6130 100644
> --- a/drivers/ntb/core.c
> +++ b/drivers/ntb/core.c
> @@ -72,7 +72,7 @@ MODULE_VERSION(DRIVER_VERSION);
> MODULE_AUTHOR(DRIVER_AUTHOR);
> MODULE_DESCRIPTION(DRIVER_DESCRIPTION);
>
> -static struct bus_type ntb_bus;
> +static const struct bus_type ntb_bus;
> static void ntb_dev_release(struct device *dev);
>
> int __ntb_register_client(struct ntb_client *client, struct module *mod,
> @@ -298,7 +298,7 @@ static void ntb_dev_release(struct device *dev)
> complete(&ntb->released);
> }
>
> -static struct bus_type ntb_bus = {
> +static const struct bus_type ntb_bus = {
> .name = "ntb",
> .probe = ntb_probe,
> .remove = ntb_remove,
> diff --git a/drivers/ntb/ntb_transport.c b/drivers/ntb/ntb_transport.c
> index 77e55debeed6..a79f68e18d3f 100644
> --- a/drivers/ntb/ntb_transport.c
> +++ b/drivers/ntb/ntb_transport.c
> @@ -314,7 +314,7 @@ static void ntb_transport_bus_remove(struct device *dev)
> put_device(dev);
> }
>
> -static struct bus_type ntb_transport_bus = {
> +static const struct bus_type ntb_transport_bus = {
> .name = "ntb_transport",
> .match = ntb_transport_bus_match,
> .probe = ntb_transport_bus_probe,
© 2016 - 2025 Red Hat, Inc.