[<prev] [next>] [day] [month] [year] [list]
Message-ID: <70c5fd68fcc4d3ba1f18002012fae19acf4ce50b.1767007414.git.christophe.jaillet@wanadoo.fr>
Date: Mon, 29 Dec 2025 12:23:51 +0100
From: Christophe JAILLET <christophe.jaillet@...adoo.fr>
To: Andreas Hindborg <a.hindborg@...nel.org>,
Breno Leitao <leitao@...ian.org>
Cc: linux-kernel@...r.kernel.org,
kernel-janitors@...r.kernel.org,
Christophe JAILLET <christophe.jaillet@...adoo.fr>
Subject: [PATCH] samples: configfs: Constify struct configfs_item_operations and configfs_group_operations
'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
7507 6504 64 14075 36fb samples/configfs/configfs_sample.o
After:
=====
text data bss dec hex filename
7827 6184 64 14075 36fb samples/configfs/configfs_sample.o
Signed-off-by: Christophe JAILLET <christophe.jaillet@...adoo.fr>
---
Compile tested only.
This change is possible since commits f2f36500a63b and f7f78098690d.
---
samples/configfs/configfs_sample.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/samples/configfs/configfs_sample.c b/samples/configfs/configfs_sample.c
index fd5d163828c5..c1b108ec4ea0 100644
--- a/samples/configfs/configfs_sample.c
+++ b/samples/configfs/configfs_sample.c
@@ -158,7 +158,7 @@ static void simple_child_release(struct config_item *item)
kfree(to_simple_child(item));
}
-static struct configfs_item_operations simple_child_item_ops = {
+static const struct configfs_item_operations simple_child_item_ops = {
.release = simple_child_release,
};
@@ -215,7 +215,7 @@ static void simple_children_release(struct config_item *item)
kfree(to_simple_children(item));
}
-static struct configfs_item_operations simple_children_item_ops = {
+static const struct configfs_item_operations simple_children_item_ops = {
.release = simple_children_release,
};
@@ -223,7 +223,7 @@ static struct configfs_item_operations simple_children_item_ops = {
* Note that, since no extra work is required on ->drop_item(),
* no ->drop_item() is provided.
*/
-static struct configfs_group_operations simple_children_group_ops = {
+static const struct configfs_group_operations simple_children_group_ops = {
.make_item = simple_children_make_item,
};
@@ -292,7 +292,7 @@ static struct configfs_attribute *group_children_attrs[] = {
* Note that, since no extra work is required on ->drop_item(),
* no ->drop_item() is provided.
*/
-static struct configfs_group_operations group_children_group_ops = {
+static const struct configfs_group_operations group_children_group_ops = {
.make_group = group_children_make_group,
};
--
2.52.0
Powered by blists - more mailing lists