LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 0/2] net: Remove the ipx network layer header files
@ 2021-08-13 12:08 Cai Huoqing
  2021-08-13 12:08 ` [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h " Cai Huoqing
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Cai Huoqing @ 2021-08-13 12:08 UTC (permalink / raw)
  To: davem, yoshfuji, dsahern, kuba; +Cc: netdev, linux-kernel, Cai Huoqing

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
remove the ipx network layer header files

additionally, there is no module that depends on ipx.h
except a broken staging driver(r8188eu)

Cai Huoqing (2):
  net: Remove net/ipx.h and uapi/linux/ipx.h header files
  MAINTAINERS: Remove the ipx network layer info

 MAINTAINERS              |   5 --
 include/net/ipx.h        | 171 ---------------------------------------
 include/uapi/linux/ipx.h |  87 --------------------
 3 files changed, 263 deletions(-)
 delete mode 100644 include/net/ipx.h
 delete mode 100644 include/uapi/linux/ipx.h

-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h header files
  2021-08-13 12:08 [PATCH 0/2] net: Remove the ipx network layer header files Cai Huoqing
@ 2021-08-13 12:08 ` Cai Huoqing
  2021-09-01 16:02   ` Eugene Syromiatnikov
  2021-08-13 12:08 ` [PATCH 2/2] MAINTAINERS: Remove the ipx network layer info Cai Huoqing
  2021-08-14 19:30 ` [PATCH 0/2] net: Remove the ipx network layer header files patchwork-bot+netdevbpf
  2 siblings, 1 reply; 11+ messages in thread
From: Cai Huoqing @ 2021-08-13 12:08 UTC (permalink / raw)
  To: davem, yoshfuji, dsahern, kuba; +Cc: netdev, linux-kernel, Cai Huoqing

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 <caihuoqing@baidu.com>
---
 include/net/ipx.h        | 171 ---------------------------------------
 include/uapi/linux/ipx.h |  87 --------------------
 2 files changed, 258 deletions(-)
 delete mode 100644 include/net/ipx.h
 delete mode 100644 include/uapi/linux/ipx.h

diff --git a/include/net/ipx.h b/include/net/ipx.h
deleted file mode 100644
index 9d1342807b59..000000000000
--- a/include/net/ipx.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef _NET_INET_IPX_H_
-#define _NET_INET_IPX_H_
-/*
- *	The following information is in its entirety obtained from:
- *
- *	Novell 'IPX Router Specification' Version 1.10 
- *		Part No. 107-000029-001
- *
- *	Which is available from ftp.novell.com
- */
-
-#include <linux/netdevice.h>
-#include <net/datalink.h>
-#include <linux/ipx.h>
-#include <linux/list.h>
-#include <linux/slab.h>
-#include <linux/refcount.h>
-
-struct ipx_address {
-	__be32  net;
-	__u8    node[IPX_NODE_LEN]; 
-	__be16  sock;
-};
-
-#define ipx_broadcast_node	"\377\377\377\377\377\377"
-#define ipx_this_node           "\0\0\0\0\0\0"
-
-#define IPX_MAX_PPROP_HOPS 8
-
-struct ipxhdr {
-	__be16			ipx_checksum __packed;
-#define IPX_NO_CHECKSUM	cpu_to_be16(0xFFFF)
-	__be16			ipx_pktsize __packed;
-	__u8			ipx_tctrl;
-	__u8			ipx_type;
-#define IPX_TYPE_UNKNOWN	0x00
-#define IPX_TYPE_RIP		0x01	/* may also be 0 */
-#define IPX_TYPE_SAP		0x04	/* may also be 0 */
-#define IPX_TYPE_SPX		0x05	/* SPX protocol */
-#define IPX_TYPE_NCP		0x11	/* $lots for docs on this (SPIT) */
-#define IPX_TYPE_PPROP		0x14	/* complicated flood fill brdcast */
-	struct ipx_address	ipx_dest __packed;
-	struct ipx_address	ipx_source __packed;
-};
-
-/* From af_ipx.c */
-extern int sysctl_ipx_pprop_broadcasting;
-
-struct ipx_interface {
-	/* IPX address */
-	__be32			if_netnum;
-	unsigned char		if_node[IPX_NODE_LEN];
-	refcount_t		refcnt;
-
-	/* physical device info */
-	struct net_device	*if_dev;
-	struct datalink_proto	*if_dlink;
-	__be16			if_dlink_type;
-
-	/* socket support */
-	unsigned short		if_sknum;
-	struct hlist_head	if_sklist;
-	spinlock_t		if_sklist_lock;
-
-	/* administrative overhead */
-	int			if_ipx_offset;
-	unsigned char		if_internal;
-	unsigned char		if_primary;
-	
-	struct list_head	node; /* node in ipx_interfaces list */
-};
-
-struct ipx_route {
-	__be32			ir_net;
-	struct ipx_interface	*ir_intrfc;
-	unsigned char		ir_routed;
-	unsigned char		ir_router_node[IPX_NODE_LEN];
-	struct list_head	node; /* node in ipx_routes list */
-	refcount_t		refcnt;
-};
-
-struct ipx_cb {
-	u8	ipx_tctrl;
-	__be32	ipx_dest_net;
-	__be32	ipx_source_net;
-	struct {
-		__be32 netnum;
-		int index;
-	} last_hop;
-};
-
-#include <net/sock.h>
-
-struct ipx_sock {
-	/* struct sock has to be the first member of ipx_sock */
-	struct sock		sk;
-	struct ipx_address	dest_addr;
-	struct ipx_interface	*intrfc;
-	__be16			port;
-#ifdef CONFIG_IPX_INTERN
-	unsigned char		node[IPX_NODE_LEN];
-#endif
-	unsigned short		type;
-	/*
-	 * To handle special ncp connection-handling sockets for mars_nwe,
- 	 * the connection number must be stored in the socket.
-	 */
-	unsigned short		ipx_ncp_conn;
-};
-
-static inline struct ipx_sock *ipx_sk(struct sock *sk)
-{
-	return (struct ipx_sock *)sk;
-}
-
-#define IPX_SKB_CB(__skb) ((struct ipx_cb *)&((__skb)->cb[0]))
-
-#define IPX_MIN_EPHEMERAL_SOCKET	0x4000
-#define IPX_MAX_EPHEMERAL_SOCKET	0x7fff
-
-extern struct list_head ipx_routes;
-extern rwlock_t ipx_routes_lock;
-
-extern struct list_head ipx_interfaces;
-struct ipx_interface *ipx_interfaces_head(void);
-extern spinlock_t ipx_interfaces_lock;
-
-extern struct ipx_interface *ipx_primary_net;
-
-int ipx_proc_init(void);
-void ipx_proc_exit(void);
-
-const char *ipx_frame_name(__be16);
-const char *ipx_device_name(struct ipx_interface *intrfc);
-
-static __inline__ void ipxitf_hold(struct ipx_interface *intrfc)
-{
-	refcount_inc(&intrfc->refcnt);
-}
-
-void ipxitf_down(struct ipx_interface *intrfc);
-struct ipx_interface *ipxitf_find_using_net(__be32 net);
-int ipxitf_send(struct ipx_interface *intrfc, struct sk_buff *skb, char *node);
-__be16 ipx_cksum(struct ipxhdr *packet, int length);
-int ipxrtr_add_route(__be32 network, struct ipx_interface *intrfc,
-		     unsigned char *node);
-void ipxrtr_del_routes(struct ipx_interface *intrfc);
-int ipxrtr_route_packet(struct sock *sk, struct sockaddr_ipx *usipx,
-			struct msghdr *msg, size_t len, int noblock);
-int ipxrtr_route_skb(struct sk_buff *skb);
-struct ipx_route *ipxrtr_lookup(__be32 net);
-int ipxrtr_ioctl(unsigned int cmd, void __user *arg);
-
-static __inline__ void ipxitf_put(struct ipx_interface *intrfc)
-{
-	if (refcount_dec_and_test(&intrfc->refcnt))
-		ipxitf_down(intrfc);
-}
-
-static __inline__ void ipxrtr_hold(struct ipx_route *rt)
-{
-	        refcount_inc(&rt->refcnt);
-}
-
-static __inline__ void ipxrtr_put(struct ipx_route *rt)
-{
-	        if (refcount_dec_and_test(&rt->refcnt))
-			                kfree(rt);
-}
-#endif /* _NET_INET_IPX_H_ */
diff --git a/include/uapi/linux/ipx.h b/include/uapi/linux/ipx.h
deleted file mode 100644
index 3168137adae8..000000000000
--- a/include/uapi/linux/ipx.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _IPX_H_
-#define _IPX_H_
-#include <linux/libc-compat.h>	/* for compatibility with glibc netipx/ipx.h */
-#include <linux/types.h>
-#include <linux/sockios.h>
-#include <linux/socket.h>
-#define IPX_NODE_LEN	6
-#define IPX_MTU		576
-
-#if __UAPI_DEF_SOCKADDR_IPX
-struct sockaddr_ipx {
-	__kernel_sa_family_t sipx_family;
-	__be16		sipx_port;
-	__be32		sipx_network;
-	unsigned char 	sipx_node[IPX_NODE_LEN];
-	__u8		sipx_type;
-	unsigned char	sipx_zero;	/* 16 byte fill */
-};
-#endif /* __UAPI_DEF_SOCKADDR_IPX */
-
-/*
- * So we can fit the extra info for SIOCSIFADDR into the address nicely
- */
-#define sipx_special	sipx_port
-#define sipx_action	sipx_zero
-#define IPX_DLTITF	0
-#define IPX_CRTITF	1
-
-#if __UAPI_DEF_IPX_ROUTE_DEFINITION
-struct ipx_route_definition {
-	__be32        ipx_network;
-	__be32        ipx_router_network;
-	unsigned char ipx_router_node[IPX_NODE_LEN];
-};
-#endif /* __UAPI_DEF_IPX_ROUTE_DEFINITION */
-
-#if __UAPI_DEF_IPX_INTERFACE_DEFINITION
-struct ipx_interface_definition {
-	__be32        ipx_network;
-	unsigned char ipx_device[16];
-	unsigned char ipx_dlink_type;
-#define IPX_FRAME_NONE		0
-#define IPX_FRAME_SNAP		1
-#define IPX_FRAME_8022		2
-#define IPX_FRAME_ETHERII	3
-#define IPX_FRAME_8023		4
-#define IPX_FRAME_TR_8022       5 /* obsolete */
-	unsigned char ipx_special;
-#define IPX_SPECIAL_NONE	0
-#define IPX_PRIMARY		1
-#define IPX_INTERNAL		2
-	unsigned char ipx_node[IPX_NODE_LEN];
-};
-#endif /* __UAPI_DEF_IPX_INTERFACE_DEFINITION */
-
-#if __UAPI_DEF_IPX_CONFIG_DATA
-struct ipx_config_data {
-	unsigned char	ipxcfg_auto_select_primary;
-	unsigned char	ipxcfg_auto_create_interfaces;
-};
-#endif /* __UAPI_DEF_IPX_CONFIG_DATA */
-
-/*
- * OLD Route Definition for backward compatibility.
- */
-
-#if __UAPI_DEF_IPX_ROUTE_DEF
-struct ipx_route_def {
-	__be32		ipx_network;
-	__be32		ipx_router_network;
-#define IPX_ROUTE_NO_ROUTER	0
-	unsigned char	ipx_router_node[IPX_NODE_LEN];
-	unsigned char	ipx_device[16];
-	unsigned short	ipx_flags;
-#define IPX_RT_SNAP		8
-#define IPX_RT_8022		4
-#define IPX_RT_BLUEBOOK		2
-#define IPX_RT_ROUTED		1
-};
-#endif /* __UAPI_DEF_IPX_ROUTE_DEF */
-
-#define SIOCAIPXITFCRT		(SIOCPROTOPRIVATE)
-#define SIOCAIPXPRISLT		(SIOCPROTOPRIVATE + 1)
-#define SIOCIPXCFGDATA		(SIOCPROTOPRIVATE + 2)
-#define SIOCIPXNCPCONN		(SIOCPROTOPRIVATE + 3)
-#endif /* _IPX_H_ */
-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 2/2] MAINTAINERS: Remove the ipx network layer info
  2021-08-13 12:08 [PATCH 0/2] net: Remove the ipx network layer header files Cai Huoqing
  2021-08-13 12:08 ` [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h " Cai Huoqing
@ 2021-08-13 12:08 ` Cai Huoqing
  2021-08-14 19:30 ` [PATCH 0/2] net: Remove the ipx network layer header files patchwork-bot+netdevbpf
  2 siblings, 0 replies; 11+ messages in thread
From: Cai Huoqing @ 2021-08-13 12:08 UTC (permalink / raw)
  To: davem, yoshfuji, dsahern, kuba; +Cc: netdev, linux-kernel, Cai Huoqing

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
remove the ipx network layer info from MAINTAINERS.
additionally, there is no module that depends on ipx.h
except a broken staging driver(r8188eu)

Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
---
 MAINTAINERS | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index efac6221afe1..169352637fc2 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -9788,11 +9788,6 @@ M:	David Sterba <dsterba@suse.com>
 S:	Odd Fixes
 F:	drivers/tty/ipwireless/
 
-IPX NETWORK LAYER
-L:	netdev@vger.kernel.org
-S:	Obsolete
-F:	include/uapi/linux/ipx.h
-
 IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY)
 M:	Marc Zyngier <maz@kernel.org>
 S:	Maintained
-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/2] net: Remove the ipx network layer header files
  2021-08-13 12:08 [PATCH 0/2] net: Remove the ipx network layer header files Cai Huoqing
  2021-08-13 12:08 ` [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h " Cai Huoqing
  2021-08-13 12:08 ` [PATCH 2/2] MAINTAINERS: Remove the ipx network layer info Cai Huoqing
@ 2021-08-14 19:30 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 11+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-08-14 19:30 UTC (permalink / raw)
  To: Cai Huoqing; +Cc: davem, yoshfuji, dsahern, kuba, netdev, linux-kernel

Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Fri, 13 Aug 2021 20:08:01 +0800 you 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
> remove the ipx network layer header files
> 
> [...]

Here is the summary with links:
  - [1/2] net: Remove net/ipx.h and uapi/linux/ipx.h header files
    https://git.kernel.org/netdev/net-next/c/6c9b40844751
  - [2/2] MAINTAINERS: Remove the ipx network layer info
    https://git.kernel.org/netdev/net-next/c/e4637f621203

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h header files
  2021-08-13 12:08 ` [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h " Cai Huoqing
@ 2021-09-01 16:02   ` Eugene Syromiatnikov
  2021-09-01 16:52     ` Eugene Syromiatnikov
  0 siblings, 1 reply; 11+ messages in thread
From: Eugene Syromiatnikov @ 2021-09-01 16:02 UTC (permalink / raw)
  To: Cai Huoqing; +Cc: davem, yoshfuji, dsahern, kuba, netdev, linux-kernel, ldv

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 <caihuoqing@baidu.com>

This removal breaks audit[1] and potentially breaks strace[2][3], at least.

[1] https://github.com/linux-audit/audit-userspace/blob/ce58837d44b7d9fcb4e140c23f68e0c94d95ab6e/auparse/interpret.c#L48
[2] https://gitlab.com/strace/strace/-/blob/9fe63f42df8badd22fb7eef9c12fc07ed7106d6b/src/net.c#L34
[3] https://gitlab.com/strace/strace/-/blob/9fe63f42df8badd22fb7eef9c12fc07ed7106d6b/src/sockaddr.c#L30


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h header files
  2021-09-01 16:02   ` Eugene Syromiatnikov
@ 2021-09-01 16:52     ` Eugene Syromiatnikov
  2021-09-01 17:36       ` Steve Grubb
  0 siblings, 1 reply; 11+ messages in thread
From: Eugene Syromiatnikov @ 2021-09-01 16:52 UTC (permalink / raw)
  To: Cai Huoqing
  Cc: linux-audit, strace development discussions, linux-api, davem,
	yoshfuji, dsahern, kuba, netdev, linux-kernel, ldv

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 <caihuoqing@baidu.com>
> 
> This removal breaks audit[1] and potentially breaks strace[2][3], at least.
> 
> [1] https://github.com/linux-audit/audit-userspace/blob/ce58837d44b7d9fcb4e140c23f68e0c94d95ab6e/auparse/interpret.c#L48
> [2] https://gitlab.com/strace/strace/-/blob/9fe63f42df8badd22fb7eef9c12fc07ed7106d6b/src/net.c#L34
> [3] https://gitlab.com/strace/strace/-/blob/9fe63f42df8badd22fb7eef9c12fc07ed7106d6b/src/sockaddr.c#L30


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h header files
  2021-09-01 16:52     ` Eugene Syromiatnikov
@ 2021-09-01 17:36       ` Steve Grubb
  2021-09-02 13:35         ` Cai Huoqing
  0 siblings, 1 reply; 11+ messages in thread
From: Steve Grubb @ 2021-09-01 17:36 UTC (permalink / raw)
  To: Cai Huoqing, Eugene Syromiatnikov
  Cc: linux-audit, strace development discussions, linux-api, davem,
	yoshfuji, dsahern, kuba, netdev, linux-kernel, ldv

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 <caihuoqing@baidu.com>
> > 
> > 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

> > [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





^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h header files
  2021-09-01 17:36       ` Steve Grubb
@ 2021-09-02 13:35         ` Cai Huoqing
  2021-09-02 16:08           ` Eugene Syromiatnikov
  0 siblings, 1 reply; 11+ messages in thread
From: Cai Huoqing @ 2021-09-02 13:35 UTC (permalink / raw)
  To: Steve Grubb
  Cc: linux-audit, strace development discussions, linux-api, davem,
	yoshfuji, dsahern, kuba, netdev, linux-kernel, ldv

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 <caihuoqing@baidu.com>
> > > 
> > > 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.

-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
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h header files
  2021-09-02 13:35         ` Cai Huoqing
@ 2021-09-02 16:08           ` Eugene Syromiatnikov
  2021-09-22 17:01             ` Paul Cercueil
  0 siblings, 1 reply; 11+ messages in thread
From: Eugene Syromiatnikov @ 2021-09-02 16:08 UTC (permalink / raw)
  To: Cai Huoqing
  Cc: Steve Grubb, linux-audit, strace development discussions,
	linux-api, davem, yoshfuji, dsahern, kuba, netdev, linux-kernel,
	ldv

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 <caihuoqing@baidu.com>
> > > > 
> > > > 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
> > 
> > 
> > 
> > 
> 


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h header files
  2021-09-02 16:08           ` Eugene Syromiatnikov
@ 2021-09-22 17:01             ` Paul Cercueil
  2021-09-22 17:25               ` Steve Grubb
  0 siblings, 1 reply; 11+ messages in thread
From: Paul Cercueil @ 2021-09-22 17:01 UTC (permalink / raw)
  To: Eugene Syromiatnikov
  Cc: Cai Huoqing, Steve Grubb, linux-audit,
	strace development discussions, linux-api, davem, yoshfuji,
	dsahern, kuba, netdev, linux-kernel, ldv

Hi,

>>  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).

Also, the <netipx/ipx.h> fallback is only provided by glibc (and maybe 
uclibc?). With this patch, it is now impossible to compile even the 
very latest version of "strace" with a musl toolchain.

Cheers,
-Paul



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h header files
  2021-09-22 17:01             ` Paul Cercueil
@ 2021-09-22 17:25               ` Steve Grubb
  0 siblings, 0 replies; 11+ messages in thread
From: Steve Grubb @ 2021-09-22 17:25 UTC (permalink / raw)
  To: Eugene Syromiatnikov, Paul Cercueil
  Cc: Cai Huoqing, linux-audit, strace development discussions,
	linux-api, davem, yoshfuji, dsahern, kuba, netdev, linux-kernel,
	ldv

On Wednesday, September 22, 2021 1:01:58 PM EDT Paul Cercueil wrote:
> >> 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).
> 
> Also, the <netipx/ipx.h> fallback is only provided by glibc (and maybe
> uclibc?). With this patch, it is now impossible to compile even the
> very latest version of "strace" with a musl toolchain.

I've made support for ipx optional in audit user space a couple weeks back. 
It's no longer a problem for us.

-Steve



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-09-22 17:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-13 12:08 [PATCH 0/2] net: Remove the ipx network layer header files Cai Huoqing
2021-08-13 12:08 ` [PATCH 1/2] net: Remove net/ipx.h and uapi/linux/ipx.h " Cai Huoqing
2021-09-01 16:02   ` Eugene Syromiatnikov
2021-09-01 16:52     ` Eugene Syromiatnikov
2021-09-01 17:36       ` Steve Grubb
2021-09-02 13:35         ` Cai Huoqing
2021-09-02 16:08           ` Eugene Syromiatnikov
2021-09-22 17:01             ` Paul Cercueil
2021-09-22 17:25               ` Steve Grubb
2021-08-13 12:08 ` [PATCH 2/2] MAINTAINERS: Remove the ipx network layer info Cai Huoqing
2021-08-14 19:30 ` [PATCH 0/2] net: Remove the ipx network layer header files patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).