Thread (3 messages) 3 messages, 2 authors, 2020-07-31

Re: [PATCH net] bareudp: Disallow udp port 0.

From: Martin Varghese <hidden>
Date: 2020-07-31 02:50:41

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:
quoted
From: Martin Varghese <redacted>

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 <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help