aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-12-23 11:15:02 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-12-23 11:15:02 +0000
commit720afadc7a5069c6580fd2b5140732565261bebf (patch)
tree70f1eb3594e9a01715c4a7a0b5772d683da8c48d /target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch
parent8996164e5665fbe08919fd7ebf850b082f4e347a (diff)
downloadupstream-720afadc7a5069c6580fd2b5140732565261bebf.tar.gz
upstream-720afadc7a5069c6580fd2b5140732565261bebf.tar.bz2
upstream-720afadc7a5069c6580fd2b5140732565261bebf.zip
kernel: backport all current pppoe kernel fixes to 3.18
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 47963
Diffstat (limited to 'target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch')
-rw-r--r--target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch b/target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch
new file mode 100644
index 0000000000..ffdba4d923
--- /dev/null
+++ b/target/linux/generic/patches-3.18/081-07-ppp-remove-PPPOX_ZOMBIE-socket-state.patch
@@ -0,0 +1,51 @@
+From: Guillaume Nault <g.nault@alphalink.fr>
+Date: Thu, 19 Nov 2015 12:53:21 +0100
+Subject: [PATCH] ppp: remove PPPOX_ZOMBIE socket state
+
+PPPOX_ZOMBIE is never set anymore.
+
+Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+
+--- a/drivers/net/ppp/pppoe.c
++++ b/drivers/net/ppp/pppoe.c
+@@ -311,7 +311,7 @@ static void pppoe_flush_dev(struct net_d
+ lock_sock(sk);
+
+ if (po->pppoe_dev == dev &&
+- sk->sk_state & (PPPOX_CONNECTED | PPPOX_BOUND | PPPOX_ZOMBIE)) {
++ sk->sk_state & (PPPOX_CONNECTED | PPPOX_BOUND)) {
+ pppox_unbind_sock(sk);
+ sk->sk_state_change(sk);
+ po->pppoe_dev = NULL;
+@@ -775,7 +775,7 @@ static int pppoe_ioctl(struct socket *so
+ struct pppox_sock *relay_po;
+
+ err = -EBUSY;
+- if (sk->sk_state & (PPPOX_BOUND | PPPOX_ZOMBIE | PPPOX_DEAD))
++ if (sk->sk_state & (PPPOX_BOUND | PPPOX_DEAD))
+ break;
+
+ err = -ENOTCONN;
+--- a/drivers/net/ppp/pppox.c
++++ b/drivers/net/ppp/pppox.c
+@@ -58,7 +58,7 @@ void pppox_unbind_sock(struct sock *sk)
+ {
+ /* Clear connection to ppp device, if attached. */
+
+- if (sk->sk_state & (PPPOX_BOUND | PPPOX_CONNECTED | PPPOX_ZOMBIE)) {
++ if (sk->sk_state & (PPPOX_BOUND | PPPOX_CONNECTED)) {
+ ppp_unregister_channel(&pppox_sk(sk)->chan);
+ sk->sk_state = PPPOX_DEAD;
+ }
+--- a/include/linux/if_pppox.h
++++ b/include/linux/if_pppox.h
+@@ -91,7 +91,6 @@ enum {
+ PPPOX_CONNECTED = 1, /* connection established ==TCP_ESTABLISHED */
+ PPPOX_BOUND = 2, /* bound to ppp device */
+ PPPOX_RELAY = 4, /* forwarding is enabled */
+- PPPOX_ZOMBIE = 8, /* dead, but still bound to ppp device */
+ PPPOX_DEAD = 16 /* dead, useless, please clean me up!*/
+ };
+