Subject: Re: [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h header files

From: Eugene Syromiatnikov <[email-masked]>
Date: Thu, 2 Sep 2021 18:08:40 +0200

On Thu, Sep 02, 2021 at 09:35:29PM +0800, Cai Huoqing wrote:
> On 01 Sep 21 13:36:54, Steve Grubb wrote:
> > Hello,
> > 
> > Thanks for the heads up.
> > 
> > On Wednesday, September 1, 2021 12:52:02 PM EDT Eugene Syromiatnikov wrote:
> > > Adding linux-audit, strace-devel, and linux-api to CC:.
> > > 
> > > On Wed, Sep 01, 2021 at 06:02:44PM +0200, Eugene Syromiatnikov wrote:
> > > > On Fri, Aug 13, 2021 at 08:08:02PM +0800, Cai Huoqing wrote:
> > > > > commit <47595e32869f> ("<MAINTAINERS: Mark some staging directories>")
> > > > > indicated the ipx network layer as obsolete in Jan 2018,
> > > > > updated in the MAINTAINERS file
> > > > > 
> > > > > now, after being exposed for 3 years to refactoring, so to
> > > > > delete uapi/linux/ipx.h and net/ipx.h header files for good.
> > > > > additionally, there is no module that depends on ipx.h except
> > > > > a broken staging driver(r8188eu)
> > > > > 
> > > > > Signed-off-by: Cai Huoqing <[email-masked]>
> > > > 
> > > > This removal breaks audit[1] and potentially breaks strace[2][3], at
> > > > least.
> > 
> > I wouldn't say breaks so much as needs coordination with. :-)   If ipx is 
> > being dropped in its entirety, I can just make that part of the code 
> > conditional to the header existing.
> > 
> > -Steve
> IPX is marked obsolete for serveral years. so remove it and the
> dependency in linux tree.
> I'm sorry to not thinking about linux-audit and strace.
> Might you remove the dependency or make the part of the code.
> Many thanks.

Unfortunately, that is not how UAPI works.  That change breaks building
of the existing code;  one cannot change already released versions
of either audit, strace, or any other userspace program that happens
to unconditionally include <linux/ipx.h> without any fallback (like
<netipx/ipx.h> provided by glibc).

> 
> -Cai
> > 
> > > > [1]
> > > > https://github.com/linux-audit/audit-userspace/blob/ce58837d44b7d9fcb4e1
> > > > 40c23f68e0c94d95ab6e/auparse/interpret.c#L48 [2]
> > > > https://gitlab.com/strace/strace/-/blob/9fe63f42df8badd22fb7eef9c12fc07e
> > > > d7106d6b/src/net.c#L34 [3]
> > > > https://gitlab.com/strace/strace/-/blob/9fe63f42df8badd22fb7eef9c12fc07e
> > > > d7106d6b/src/sockaddr.c#L30
> > 
> > 
> > 
> > 
>