[PATCH] scsi: target: tcmu: Constify some structures

Christophe JAILLET posted 1 patch 1 week, 5 days ago
drivers/target/target_core_user.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] scsi: target: tcmu: Constify some structures
Posted by Christophe JAILLET 1 week, 5 days ago
'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"},
-- 
2.47.0
Re: [PATCH] scsi: target: tcmu: Constify some structures
Posted by Martin K. Petersen 2 days, 14 hours ago
Christophe,

> 'struct nla_policy' and 'struct match_table_t' are not modified in this
> driver.

Applied to 6.13/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering
Re: [PATCH] scsi: target: tcmu: Constify some structures
Posted by Bodo Stroesser 1 week, 4 days ago
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