summaryrefslogtreecommitdiffstats
path: root/main/linux-grsec/0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/linux-grsec/0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch')
-rw-r--r--main/linux-grsec/0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch68
1 files changed, 0 insertions, 68 deletions
diff --git a/main/linux-grsec/0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch b/main/linux-grsec/0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
deleted file mode 100644
index 7357a330f..000000000
--- a/main/linux-grsec/0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 1225b1090991bdcab819bdab96be329397563f1c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
-Date: Thu, 23 May 2013 11:30:23 +0300
-Subject: [PATCH 1/6] net: inform NETDEV_CHANGE callbacks which flags were
- changed
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-In certain cases (like the follow up commit to arp.c) will need to
-check which flags actually changed to avoid excessive work.
-
-Ben Hutchings nicely worded why to put these transient flags to
-struct net_device for the time being:
-> It's inelegant to put transient data associated with an event in a
-> persistent data structure. On the other hand, having every user cache
-> the old state is pretty awful as well.
->
-> Really, netdev notifiers should be changed to accept a structure that
-> encapsulates the changes rather than just a pointer to the net_device.
-> But making such a change would be an enormous pain and error-prone
-> because notifier functions aren't type-safe.
->
-> As an interim solution, I think either the general flags_changed or
-> old_flags would be preferable to defining extra transient flags.
-
-Signed-off-by: Timo Teräs <timo.teras@iki.fi>
-Acked-by: Ben Hutchings <bhutchings@solarflare.com>
----
- include/linux/netdevice.h | 4 +++-
- net/core/dev.c | 5 ++++-
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
-index 6151e90..8b3c649 100644
---- a/include/linux/netdevice.h
-+++ b/include/linux/netdevice.h
-@@ -1112,7 +1112,9 @@ struct net_device {
- /* Hardware header description */
- const struct header_ops *header_ops;
-
-- unsigned int flags; /* interface flags (a la BSD) */
-+ unsigned int flags; /* interface flags (a la BSD) */
-+ unsigned int flags_changed; /* flags that are being changed
-+ * valid during NETDEV_CHANGE notifier */
- unsigned int priv_flags; /* Like 'flags' but invisible to userspace.
- * See if.h for definitions. */
- unsigned short gflags;
-diff --git a/net/core/dev.c b/net/core/dev.c
-index 9a278e9..2f3feae 100644
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -4683,8 +4683,11 @@ void __dev_notify_flags(struct net_device *dev, unsigned int old_flags)
- }
-
- if (dev->flags & IFF_UP &&
-- (changes & ~(IFF_UP | IFF_PROMISC | IFF_ALLMULTI | IFF_VOLATILE)))
-+ (changes & ~(IFF_UP | IFF_PROMISC | IFF_ALLMULTI | IFF_VOLATILE))) {
-+ dev->flags_changed = changes;
- call_netdevice_notifiers(NETDEV_CHANGE, dev);
-+ dev->flags_changed = 0;
-+ }
- }
-
- /**
---
-1.8.2.3
-