* [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG
@ 2018-02-13 16:51 David Ahern
2018-02-13 16:52 ` [PATCH net-next 1/4] net: Make dn_ptr depend on CONFIG_DECNET David Ahern
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: David Ahern @ 2018-02-13 16:51 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
Found these in a branch from 3-years ago. Still relevant today.
Make decnet, ax25, and atalk ptrs in net_device based on their
respective CONFIG.
David Ahern (4):
net: Make dn_ptr depend on CONFIG_DECNET
net: Make ax25_ptr depend on CONFIG_AX25
net: Make atalk_ptr depend on ATALK or IRDA
net: Remove atalk header from socket.c
include/linux/atalk.h | 2 ++
include/linux/netdevice.h | 6 ++++++
include/net/ax25.h | 2 ++
net/core/dev.c | 3 ++-
net/socket.c | 1 -
5 files changed, 12 insertions(+), 2 deletions(-)
--
2.11.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH net-next 1/4] net: Make dn_ptr depend on CONFIG_DECNET
2018-02-13 16:51 [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG David Ahern
@ 2018-02-13 16:52 ` David Ahern
2018-02-13 16:52 ` [PATCH net-next 2/4] net: Make ax25_ptr depend on CONFIG_AX25 David Ahern
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: David Ahern @ 2018-02-13 16:52 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
Signed-off-by: David Ahern <dsahern@gmail.com>
---
include/linux/netdevice.h | 2 ++
net/core/dev.c | 3 ++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 4c77f39ebd65..f99cf3bb4690 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1800,7 +1800,9 @@ struct net_device {
#endif
void *atalk_ptr;
struct in_device __rcu *ip_ptr;
+#if IS_ENABLED(CONFIG_DECNET)
struct dn_dev __rcu *dn_ptr;
+#endif
struct inet6_dev __rcu *ip6_ptr;
void *ax25_ptr;
struct wireless_dev *ieee80211_ptr;
diff --git a/net/core/dev.c b/net/core/dev.c
index dda9d7b9a840..f8c105c22b7f 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -8134,8 +8134,9 @@ void netdev_run_todo(void)
BUG_ON(!list_empty(&dev->ptype_specific));
WARN_ON(rcu_access_pointer(dev->ip_ptr));
WARN_ON(rcu_access_pointer(dev->ip6_ptr));
+#if IS_ENABLED(CONFIG_DECNET)
WARN_ON(dev->dn_ptr);
-
+#endif
if (dev->priv_destructor)
dev->priv_destructor(dev);
if (dev->needs_free_netdev)
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net-next 2/4] net: Make ax25_ptr depend on CONFIG_AX25
2018-02-13 16:51 [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG David Ahern
2018-02-13 16:52 ` [PATCH net-next 1/4] net: Make dn_ptr depend on CONFIG_DECNET David Ahern
@ 2018-02-13 16:52 ` David Ahern
2018-02-13 16:52 ` [PATCH net-next 3/4] net: Make atalk_ptr depend on ATALK or IRDA David Ahern
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: David Ahern @ 2018-02-13 16:52 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
Signed-off-by: David Ahern <dsahern@gmail.com>
---
include/linux/netdevice.h | 2 ++
include/net/ax25.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index f99cf3bb4690..8e2e86c851f4 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1804,7 +1804,9 @@ struct net_device {
struct dn_dev __rcu *dn_ptr;
#endif
struct inet6_dev __rcu *ip6_ptr;
+#if IS_ENABLED(CONFIG_AX25)
void *ax25_ptr;
+#endif
struct wireless_dev *ieee80211_ptr;
struct wpan_dev *ieee802154_ptr;
#if IS_ENABLED(CONFIG_MPLS_ROUTING)
diff --git a/include/net/ax25.h b/include/net/ax25.h
index 76fb39c272a7..c91bc87931c7 100644
--- a/include/net/ax25.h
+++ b/include/net/ax25.h
@@ -318,10 +318,12 @@ void ax25_digi_invert(const ax25_digi *, ax25_digi *);
extern ax25_dev *ax25_dev_list;
extern spinlock_t ax25_dev_lock;
+#if IS_ENABLED(CONFIG_AX25)
static inline ax25_dev *ax25_dev_ax25dev(struct net_device *dev)
{
return dev->ax25_ptr;
}
+#endif
ax25_dev *ax25_addr_ax25dev(ax25_address *);
void ax25_dev_device_up(struct net_device *);
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net-next 3/4] net: Make atalk_ptr depend on ATALK or IRDA
2018-02-13 16:51 [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG David Ahern
2018-02-13 16:52 ` [PATCH net-next 1/4] net: Make dn_ptr depend on CONFIG_DECNET David Ahern
2018-02-13 16:52 ` [PATCH net-next 2/4] net: Make ax25_ptr depend on CONFIG_AX25 David Ahern
@ 2018-02-13 16:52 ` David Ahern
2018-02-13 16:52 ` [PATCH net-next 4/4] net: Remove atalk header from socket.c David Ahern
2018-02-13 19:56 ` [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG David Miller
4 siblings, 0 replies; 6+ messages in thread
From: David Ahern @ 2018-02-13 16:52 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
From: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
include/linux/atalk.h | 2 ++
include/linux/netdevice.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/include/linux/atalk.h b/include/linux/atalk.h
index 4d356e168692..40373920ea58 100644
--- a/include/linux/atalk.h
+++ b/include/linux/atalk.h
@@ -113,10 +113,12 @@ extern void aarp_proto_init(void);
/* Inter module exports */
/* Give a device find its atif control structure */
+#if IS_ENABLED(CONFIG_IRDA) || IS_ENABLED(CONFIG_ATALK)
static inline struct atalk_iface *atalk_find_dev(struct net_device *dev)
{
return dev->atalk_ptr;
}
+#endif
extern struct atalk_addr *atalk_find_dev_addr(struct net_device *dev);
extern struct net_device *atrtr_get_dev(struct atalk_addr *sa);
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 8e2e86c851f4..cc39f49cc95c 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1798,7 +1798,9 @@ struct net_device {
#if IS_ENABLED(CONFIG_TIPC)
struct tipc_bearer __rcu *tipc_ptr;
#endif
+#if IS_ENABLED(CONFIG_IRDA) || IS_ENABLED(CONFIG_ATALK)
void *atalk_ptr;
+#endif
struct in_device __rcu *ip_ptr;
#if IS_ENABLED(CONFIG_DECNET)
struct dn_dev __rcu *dn_ptr;
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net-next 4/4] net: Remove atalk header from socket.c
2018-02-13 16:51 [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG David Ahern
` (2 preceding siblings ...)
2018-02-13 16:52 ` [PATCH net-next 3/4] net: Make atalk_ptr depend on ATALK or IRDA David Ahern
@ 2018-02-13 16:52 ` David Ahern
2018-02-13 19:56 ` [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG David Miller
4 siblings, 0 replies; 6+ messages in thread
From: David Ahern @ 2018-02-13 16:52 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
Signed-off-by: David Ahern <dsahern@gmail.com>
---
net/socket.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/net/socket.c b/net/socket.c
index a93c99b518ca..302fa3fc17b7 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -104,7 +104,6 @@
#include <linux/ipv6_route.h>
#include <linux/route.h>
#include <linux/sockios.h>
-#include <linux/atalk.h>
#include <net/busy_poll.h>
#include <linux/errqueue.h>
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG
2018-02-13 16:51 [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG David Ahern
` (3 preceding siblings ...)
2018-02-13 16:52 ` [PATCH net-next 4/4] net: Remove atalk header from socket.c David Ahern
@ 2018-02-13 19:56 ` David Miller
4 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2018-02-13 19:56 UTC (permalink / raw)
To: dsahern; +Cc: netdev
From: David Ahern <dsahern@gmail.com>
Date: Tue, 13 Feb 2018 08:51:59 -0800
> Found these in a branch from 3-years ago. Still relevant today.
> Make decnet, ax25, and atalk ptrs in net_device based on their
> respective CONFIG.
Looks good, series applied.
That decnet pointer WARN_ON() in net/core/dev.c can problem be simply
removed.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-02-13 19:56 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-13 16:51 [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG David Ahern
2018-02-13 16:52 ` [PATCH net-next 1/4] net: Make dn_ptr depend on CONFIG_DECNET David Ahern
2018-02-13 16:52 ` [PATCH net-next 2/4] net: Make ax25_ptr depend on CONFIG_AX25 David Ahern
2018-02-13 16:52 ` [PATCH net-next 3/4] net: Make atalk_ptr depend on ATALK or IRDA David Ahern
2018-02-13 16:52 ` [PATCH net-next 4/4] net: Remove atalk header from socket.c David Ahern
2018-02-13 19:56 ` [PATCH net-next 0/4] net: dev: Make protocol ptr dependent on CONFIG David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.