On Thu, Jul 30, 2020 at 04:20:30PM -0700, Jakub Kicinski wrote: > On Thu, 30 Jul 2020 22:33:51 +0530 Martin Varghese wrote: > > From: Martin Varghese <martin.vargh...@nokia.com> > > > > Kernel does not support udp destination port 0 on wire. Hence > > bareudp device with udp destination port 0 must be disallowed. > > > > Fixes: 571912c69f0e ("net: UDP tunnel encapsulation module for tunnelling > > different protocols like MPLS, IP, NSH etc.") > > Signed-off-by: Martin Varghese <martin.vargh...@nokia.com> > > --- > > drivers/net/bareudp.c | 7 ++++++- > > 1 file changed, 6 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/bareudp.c b/drivers/net/bareudp.c > > index 88e7900853db..08b195d32cbe 100644 > > --- a/drivers/net/bareudp.c > > +++ b/drivers/net/bareudp.c > > @@ -578,8 +578,13 @@ static int bareudp2info(struct nlattr *data[], struct > > bareudp_conf *conf, > > return -EINVAL; > > } > > > > - if (data[IFLA_BAREUDP_PORT]) > > + if (data[IFLA_BAREUDP_PORT]) { > > conf->port = nla_get_u16(data[IFLA_BAREUDP_PORT]); > > + if (!conf->port) { > > + NL_SET_ERR_MSG(extack, "udp port 0 not supported"); > > + return -EINVAL; > > + } > > + } > > Please use one of the NLA_POLICY_**-ies, probably NLA_POLICY_MIN() ? > That's better for documenting, exporting for user space, and will also > point the user space to the attribute in exack automatically.
Ok, I will check how to do this way. Thanks for the feedback. Regards, Martin