On 02.06.2024 16:18, Christophe JAILLET wrote: > "struct devlink_dpipe_table_ops" only contains some function pointers. > > Update "struct devlink_dpipe_table" and the 'table_ops' parameter of > devl_dpipe_table_register() so that structures in drivers can be > constified. > > Constifying these structures will move some data to a read-only section, so > increase overall security. > > Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> > --- Reviewed-by: Wojciech Drewek <wojciech.drewek@xxxxxxxxx> > include/net/devlink.h | 4 ++-- > net/devlink/dpipe.c | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/include/net/devlink.h b/include/net/devlink.h > index 35eb0f884386..db5eff6cb60f 100644 > --- a/include/net/devlink.h > +++ b/include/net/devlink.h > @@ -352,7 +352,7 @@ struct devlink_dpipe_table { > bool resource_valid; > u64 resource_id; > u64 resource_units; > - struct devlink_dpipe_table_ops *table_ops; > + const struct devlink_dpipe_table_ops *table_ops; > struct rcu_head rcu; > }; > > @@ -1751,7 +1751,7 @@ void devl_sb_unregister(struct devlink *devlink, unsigned int sb_index); > void devlink_sb_unregister(struct devlink *devlink, unsigned int sb_index); > int devl_dpipe_table_register(struct devlink *devlink, > const char *table_name, > - struct devlink_dpipe_table_ops *table_ops, > + const struct devlink_dpipe_table_ops *table_ops, > void *priv, bool counter_control_extern); > void devl_dpipe_table_unregister(struct devlink *devlink, > const char *table_name); > diff --git a/net/devlink/dpipe.c b/net/devlink/dpipe.c > index a72a9292efc5..55009b377447 100644 > --- a/net/devlink/dpipe.c > +++ b/net/devlink/dpipe.c > @@ -839,7 +839,7 @@ EXPORT_SYMBOL_GPL(devlink_dpipe_table_counter_enabled); > */ > int devl_dpipe_table_register(struct devlink *devlink, > const char *table_name, > - struct devlink_dpipe_table_ops *table_ops, > + const struct devlink_dpipe_table_ops *table_ops, > void *priv, bool counter_control_extern) > { > struct devlink_dpipe_table *table;