Re: [PATCH] net: Remove the source address setting in connect() for UDP
From: Enke Chen (enkechen)
Date: Fri Sep 06 2019 - 03:23:50 EST
Hi, David:
Yes, I understand the code has been there for a long time. But the issues are real, and it's really nasty when
You run into them. As I described in the patch log, there is no backward compatibility Issue for fixing it.
---
There is no backward compatibility issue here as the source address setting
in connect() is not needed anyway.
- No impact on the source address selection when the source address
is explicitly specified by "bind()", or by the "IP_PKTINFO" option.
- In the case that the source address is not explicitly specified,
the selection of the source address would be more accurate and
reliable based on the up-to-date routing table.
---
Thanks. -- Enke
ï-----Original Message-----
From: <linux-kernel-owner@xxxxxxxxxxxxxxx> on behalf of David Miller <davem@xxxxxxxxxxxxx>
Date: Friday, September 6, 2019 at 12:14 AM
To: "Enke Chen (enkechen)" <enkechen@xxxxxxxxx>
Cc: "kuznet@xxxxxxxxxxxxx" <kuznet@xxxxxxxxxxxxx>, "yoshfuji@xxxxxxxxxxxxxx" <yoshfuji@xxxxxxxxxxxxxx>, "netdev@xxxxxxxxxxxxxxx" <netdev@xxxxxxxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>, "xe-linux-external(mailer list)" <xe-linux-external@xxxxxxxxx>
Subject: Re: [PATCH] net: Remove the source address setting in connect() for UDP
From: Enke Chen <enkechen@xxxxxxxxx>
Date: Thu, 5 Sep 2019 19:54:37 -0700
> The connect() system call for a UDP socket is for setting the destination
> address and port. But the current code mistakenly sets the source address
> for the socket as well. Remove the source address setting in connect() for
> UDP in this patch.
Do you have any idea how many decades of precedence this behavior has and
therefore how much you potentially will break userspace?
This boat has sailed a long time ago I'm afraid.