Message ID | 20240122194801.152658-3-jhs@mojatatu.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Introducing P4TC | expand |
On Mon, Jan 22, 2024 at 02:47:48PM -0500, Jamal Hadi Salim wrote: > @@ -1439,7 +1439,7 @@ tc_action_load_ops(struct net *net, struct nlattr *nla, > NL_SET_ERR_MSG(extack, "TC action kind must be specified"); > return ERR_PTR(err); > } > - if (nla_strscpy(act_name, kind, IFNAMSIZ) < 0) { > + if (nla_strscpy(act_name, kind, ACTNAMSIZ) < 0) { > NL_SET_ERR_MSG(extack, "TC action name too long"); > return ERR_PTR(err); > } Subsquent lines here are: } else { if (strscpy(act_name, "police", IFNAMSIZ) < 0) { ^^^^^^^^ NL_SET_ERR_MSG(extack, "TC action name too long"); I know it won't make a difference in the end but it would be nice to keep it consistent.
On Thu, Feb 01, 2024 at 05:16:44AM -0800, Marcelo Ricardo Leitner wrote: > On Mon, Jan 22, 2024 at 02:47:48PM -0500, Jamal Hadi Salim wrote: > > @@ -1439,7 +1439,7 @@ tc_action_load_ops(struct net *net, struct nlattr *nla, > > NL_SET_ERR_MSG(extack, "TC action kind must be specified"); > > return ERR_PTR(err); > > } > > - if (nla_strscpy(act_name, kind, IFNAMSIZ) < 0) { > > + if (nla_strscpy(act_name, kind, ACTNAMSIZ) < 0) { > > NL_SET_ERR_MSG(extack, "TC action name too long"); > > return ERR_PTR(err); > > } > > Subsquent lines here are: > } else { > if (strscpy(act_name, "police", IFNAMSIZ) < 0) { > ^^^^^^^^ > NL_SET_ERR_MSG(extack, "TC action name too long"); > > I know it won't make a difference in the end but it would be nice to > keep it consistent. > Despite this, please add my tag in the next iteration: Reviewed-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
On Thu, Feb 1, 2024 at 8:16 AM Marcelo Ricardo Leitner <mleitner@redhat.com> wrote: > > On Mon, Jan 22, 2024 at 02:47:48PM -0500, Jamal Hadi Salim wrote: > > @@ -1439,7 +1439,7 @@ tc_action_load_ops(struct net *net, struct nlattr *nla, > > NL_SET_ERR_MSG(extack, "TC action kind must be specified"); > > return ERR_PTR(err); > > } > > - if (nla_strscpy(act_name, kind, IFNAMSIZ) < 0) { > > + if (nla_strscpy(act_name, kind, ACTNAMSIZ) < 0) { > > NL_SET_ERR_MSG(extack, "TC action name too long"); > > return ERR_PTR(err); > > } > > Subsquent lines here are: > } else { > if (strscpy(act_name, "police", IFNAMSIZ) < 0) { > ^^^^^^^^ > NL_SET_ERR_MSG(extack, "TC action name too long"); > > I know it won't make a difference in the end but it would be nice to > keep it consistent. Agreed. It was an oversight. Will fix it in the next version. Thanks for the rest of your reviews Marcelo! cheers, jamal
diff --git a/include/net/act_api.h b/include/net/act_api.h index ab28c2254..eb39a2101 100644 --- a/include/net/act_api.h +++ b/include/net/act_api.h @@ -106,7 +106,7 @@ typedef void (*tc_action_priv_destructor)(void *priv); struct tc_action_ops { struct list_head head; struct list_head p4_head; - char kind[IFNAMSIZ]; + char kind[ACTNAMSIZ]; enum tca_id id; /* identifier should match kind */ unsigned int net_id; size_t size; diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h index ea277039f..dd313a727 100644 --- a/include/uapi/linux/pkt_cls.h +++ b/include/uapi/linux/pkt_cls.h @@ -6,6 +6,7 @@ #include <linux/pkt_sched.h> #define TC_COOKIE_MAX_SIZE 16 +#define ACTNAMSIZ 64 /* Action attributes */ enum { diff --git a/net/sched/act_api.c b/net/sched/act_api.c index e4a1b8f5a..2ff61be8e 100644 --- a/net/sched/act_api.c +++ b/net/sched/act_api.c @@ -476,7 +476,7 @@ static size_t tcf_action_shared_attrs_size(const struct tc_action *act) rcu_read_unlock(); return nla_total_size(0) /* action number nested */ - + nla_total_size(IFNAMSIZ) /* TCA_ACT_KIND */ + + nla_total_size(ACTNAMSIZ) /* TCA_ACT_KIND */ + cookie_len /* TCA_ACT_COOKIE */ + nla_total_size(sizeof(struct nla_bitfield32)) /* TCA_ACT_HW_STATS */ + nla_total_size(0) /* TCA_ACT_STATS nested */ @@ -1424,7 +1424,7 @@ tc_action_load_ops(struct net *net, struct nlattr *nla, bool police = flags & TCA_ACT_FLAGS_POLICE; struct nlattr *tb[TCA_ACT_MAX + 1]; struct tc_action_ops *a_o; - char act_name[IFNAMSIZ]; + char act_name[ACTNAMSIZ]; struct nlattr *kind; int err; @@ -1439,7 +1439,7 @@ tc_action_load_ops(struct net *net, struct nlattr *nla, NL_SET_ERR_MSG(extack, "TC action kind must be specified"); return ERR_PTR(err); } - if (nla_strscpy(act_name, kind, IFNAMSIZ) < 0) { + if (nla_strscpy(act_name, kind, ACTNAMSIZ) < 0) { NL_SET_ERR_MSG(extack, "TC action name too long"); return ERR_PTR(err); }