Re: [PATCH] net: Remove the source address setting in connect() for UDP

From: Enke Chen (enkechen)
Date: Tue Sep 10 2019 - 20:03:25 EST


Hi, David:

Do you still have concerns about backward compatibility of the fix?

I really do not see how existing, working applications would be negatively impacted
by the fix.

Thanks. -- Enke

ï-----Original Message-----
From: "Enke Chen (enkechen)" <enkechen@xxxxxxxxx>
Date: Friday, September 6, 2019 at 12:23 AM
To: David Miller <davem@xxxxxxxxxxxxx>
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>, "Enke Chen (enkechen)" <enkechen@xxxxxxxxx>
Subject: Re: [PATCH] net: Remove the source address setting in connect() for UDP

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.