Message ID | f83cd8469cc17391178e1181e8c26c4c1fb6028f.1731330634.git.christophe.jaillet@wanadoo.fr |
---|---|
State | New |
Headers | show |
Series | scsi: target: tcmu: Constify some structures | expand |
On 11.11.24 14:10, Christophe JAILLET wrote: > 'struct nla_policy' and 'struct match_table_t' are not modified in this > driver. > > Constifying these structures moves some data to a read-only section, so > increase overall security, especially when the structure holds some > function pointers, which is the case of struct nla_policy. > > On a x86_64, with allmodconfig: > Before: > ====== > text data bss dec hex filename > 93188 6933 338 100459 1886b drivers/target/target_core_user.o > > After: > ===== > text data bss dec hex filename > 93508 6581 338 100427 1884b drivers/target/target_core_user.o > > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > Compile tested only > --- > drivers/target/target_core_user.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c > index 717931267bda..0f5d820af119 100644 > --- a/drivers/target/target_core_user.c > +++ b/drivers/target/target_core_user.c > @@ -361,7 +361,7 @@ static const struct genl_multicast_group tcmu_mcgrps[] = { > [TCMU_MCGRP_CONFIG] = { .name = "config", }, > }; > > -static struct nla_policy tcmu_attr_policy[TCMU_ATTR_MAX+1] = { > +static const struct nla_policy tcmu_attr_policy[TCMU_ATTR_MAX + 1] = { > [TCMU_ATTR_DEVICE] = { .type = NLA_STRING }, > [TCMU_ATTR_MINOR] = { .type = NLA_U32 }, > [TCMU_ATTR_CMD_STATUS] = { .type = NLA_S32 }, > @@ -2430,7 +2430,7 @@ enum { > Opt_cmd_ring_size_mb, Opt_err, > }; > > -static match_table_t tokens = { > +static const match_table_t tokens = { > {Opt_dev_config, "dev_config=%s"}, > {Opt_dev_size, "dev_size=%s"}, > {Opt_hw_block_size, "hw_block_size=%d"}, Reviewed-by: Bodo Stroesser <bostroesser@gmail.com> Thanks, Bodo
Christophe, > 'struct nla_policy' and 'struct match_table_t' are not modified in this > driver. Applied to 6.13/scsi-staging, thanks!
diff --git a/drivers/target/target_core_user.c b/drivers/target/target_core_user.c index 717931267bda..0f5d820af119 100644 --- a/drivers/target/target_core_user.c +++ b/drivers/target/target_core_user.c @@ -361,7 +361,7 @@ static const struct genl_multicast_group tcmu_mcgrps[] = { [TCMU_MCGRP_CONFIG] = { .name = "config", }, }; -static struct nla_policy tcmu_attr_policy[TCMU_ATTR_MAX+1] = { +static const struct nla_policy tcmu_attr_policy[TCMU_ATTR_MAX + 1] = { [TCMU_ATTR_DEVICE] = { .type = NLA_STRING }, [TCMU_ATTR_MINOR] = { .type = NLA_U32 }, [TCMU_ATTR_CMD_STATUS] = { .type = NLA_S32 }, @@ -2430,7 +2430,7 @@ enum { Opt_cmd_ring_size_mb, Opt_err, }; -static match_table_t tokens = { +static const match_table_t tokens = { {Opt_dev_config, "dev_config=%s"}, {Opt_dev_size, "dev_size=%s"}, {Opt_hw_block_size, "hw_block_size=%d"},
'struct nla_policy' and 'struct match_table_t' are not modified in this driver. Constifying these structures moves some data to a read-only section, so increase overall security, especially when the structure holds some function pointers, which is the case of struct nla_policy. On a x86_64, with allmodconfig: Before: ====== text data bss dec hex filename 93188 6933 338 100459 1886b drivers/target/target_core_user.o After: ===== text data bss dec hex filename 93508 6581 338 100427 1884b drivers/target/target_core_user.o Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- Compile tested only --- drivers/target/target_core_user.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)