kernel: bump 5.4 to 5.4.32
Remove upstreamed: * 746-stable-net-dsa-mt7530-fix-null-pointer-dereferencing-in-por.patch Refreshed all generic patches. Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
This commit is contained in:
parent
88ecff8632
commit
20ee2055dc
@ -9,12 +9,12 @@ endif
|
||||
LINUX_VERSION-4.9 = .219
|
||||
LINUX_VERSION-4.14 = .176
|
||||
LINUX_VERSION-4.19 = .115
|
||||
LINUX_VERSION-5.4 = .31
|
||||
LINUX_VERSION-5.4 = .32
|
||||
|
||||
LINUX_KERNEL_HASH-4.9.219 = 6b17238cced3e1c2753d6d5b4f662bd347d4651f07c35506b849eb10aea7bc44
|
||||
LINUX_KERNEL_HASH-4.14.176 = bcae0956baaeb55dab5bad0401873fbc5baaa7fbe957ea6d27a5ab241cec5ca2
|
||||
LINUX_KERNEL_HASH-4.19.115 = 11b2d97c8ea5ceb40c5e1d0bb87ad5b2b8c84560181bc60c0d28ec3a3e3801c2
|
||||
LINUX_KERNEL_HASH-5.4.31 = a11083f8f809887f6a0f8d4467532385b99418f17998fe6e837807491c276eeb
|
||||
LINUX_KERNEL_HASH-5.4.32 = 192d99fab7a47a537493b6d7eddb52892b98f8ada655c0bbb419b360a995f2b3
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
@ -82,7 +82,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
static enum dsa_tag_protocol
|
||||
mtk_get_tag_protocol(struct dsa_switch *ds, int port)
|
||||
{
|
||||
@@ -1606,6 +1664,8 @@ static const struct dsa_switch_ops mt753
|
||||
@@ -1609,6 +1667,8 @@ static const struct dsa_switch_ops mt753
|
||||
.port_vlan_prepare = mt7530_port_vlan_prepare,
|
||||
.port_vlan_add = mt7530_port_vlan_add,
|
||||
.port_vlan_del = mt7530_port_vlan_del,
|
||||
|
||||
@ -1,39 +0,0 @@
|
||||
From 0452800f6db4ed0a42ffb15867c0acfd68829f6a Mon Sep 17 00:00:00 2001
|
||||
From: Chuanhong Guo <gch981213@gmail.com>
|
||||
Date: Fri, 3 Apr 2020 19:28:24 +0800
|
||||
Subject: net: dsa: mt7530: fix null pointer dereferencing in port5 setup
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The 2nd gmac of mediatek soc ethernet may not be connected to a PHY
|
||||
and a phy-handle isn't always available.
|
||||
Unfortunately, mt7530 dsa driver assumes that the 2nd gmac is always
|
||||
connected to switch port 5 and setup mt7530 according to phy address
|
||||
of 2nd gmac node, causing null pointer dereferencing when phy-handle
|
||||
isn't defined in dts.
|
||||
This commit fix this setup code by checking return value of
|
||||
of_parse_phandle before using it.
|
||||
|
||||
Fixes: 38f790a80560 ("net: dsa: mt7530: Add support for port 5")
|
||||
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
|
||||
Reviewed-by: Vivien Didelot <vivien.didelot@gmail.com>
|
||||
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Tested-by: René van Dorst <opensource@vdorst.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
drivers/net/dsa/mt7530.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -1411,6 +1411,9 @@ mt7530_setup(struct dsa_switch *ds)
|
||||
continue;
|
||||
|
||||
phy_node = of_parse_phandle(mac_np, "phy-handle", 0);
|
||||
+ if (!phy_node)
|
||||
+ continue;
|
||||
+
|
||||
if (phy_node->parent == priv->dev->of_node->parent) {
|
||||
interface = of_get_phy_mode(mac_np);
|
||||
id = of_mdio_parse_addr(ds->dev, phy_node);
|
||||
@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
depends on NETFILTER_ADVANCED
|
||||
help
|
||||
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
|
||||
@@ -1100,7 +1099,6 @@ config NETFILTER_XT_TARGET_SECMARK
|
||||
@@ -1112,7 +1111,6 @@ config NETFILTER_XT_TARGET_SECMARK
|
||||
|
||||
config NETFILTER_XT_TARGET_TCPMSS
|
||||
tristate '"TCPMSS" target support'
|
||||
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
EXPORT_SYMBOL(default_qdisc_ops);
|
||||
|
||||
/* Main transmission queue. */
|
||||
@@ -1034,12 +1034,12 @@ static void attach_one_default_qdisc(str
|
||||
@@ -1042,12 +1042,12 @@ static void attach_one_default_qdisc(str
|
||||
void *_unused)
|
||||
{
|
||||
struct Qdisc *qdisc;
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/sched/sch_generic.c
|
||||
+++ b/net/sched/sch_generic.c
|
||||
@@ -594,211 +594,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea
|
||||
@@ -602,211 +602,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea
|
||||
.owner = THIS_MODULE,
|
||||
};
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
*/
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -2667,6 +2667,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
@@ -2683,6 +2683,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/**
|
||||
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
|
||||
* @skb: buffer to alter
|
||||
@@ -2798,16 +2802,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
@@ -2814,16 +2818,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
}
|
||||
|
||||
|
||||
@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
help
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -3195,10 +3195,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||
@@ -3205,10 +3205,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||
if (dev_nit_active(dev))
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
@ -136,7 +136,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
#include <net/protocol.h>
|
||||
#include <net/dst.h>
|
||||
@@ -540,6 +541,22 @@ skb_fail:
|
||||
@@ -590,6 +591,22 @@ skb_fail:
|
||||
}
|
||||
EXPORT_SYMBOL(__napi_alloc_skb);
|
||||
|
||||
|
||||
@ -11,16 +11,15 @@
|
||||
struct nf_ct_event_notifier {
|
||||
int (*fcn)(unsigned int events, struct nf_ct_event *item);
|
||||
};
|
||||
@@ -80,7 +84,7 @@ int nf_conntrack_register_notifier(struc
|
||||
@@ -80,6 +84,7 @@ int nf_conntrack_register_notifier(struc
|
||||
struct nf_ct_event_notifier *nb);
|
||||
void nf_conntrack_unregister_notifier(struct net *net,
|
||||
struct nf_ct_event_notifier *nb);
|
||||
-
|
||||
+#endif
|
||||
|
||||
void nf_ct_deliver_cached_events(struct nf_conn *ct);
|
||||
int nf_conntrack_eventmask_report(unsigned int eventmask, struct nf_conn *ct,
|
||||
u32 portid, int report);
|
||||
@@ -105,12 +109,15 @@ static inline void
|
||||
@@ -105,11 +110,13 @@ static inline void
|
||||
nf_conntrack_event_cache(enum ip_conntrack_events event, struct nf_conn *ct)
|
||||
{
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
@ -31,50 +30,36 @@
|
||||
|
||||
if (!rcu_access_pointer(net->ct.nf_conntrack_event_cb))
|
||||
return;
|
||||
|
||||
+#endif
|
||||
+
|
||||
|
||||
e = nf_ct_ecache_find(ct);
|
||||
if (e == NULL)
|
||||
return;
|
||||
@@ -123,31 +130,28 @@ static inline int
|
||||
nf_conntrack_event_report(enum ip_conntrack_events event, struct nf_conn *ct,
|
||||
@@ -124,10 +131,12 @@ nf_conntrack_event_report(enum ip_conntr
|
||||
u32 portid, int report)
|
||||
{
|
||||
-#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
+#ifndef CONFIG_NF_CONNTRACK_CHAIN_EVENTS
|
||||
const struct net *net = nf_ct_net(ct);
|
||||
|
||||
if (!rcu_access_pointer(net->ct.nf_conntrack_event_cb))
|
||||
return 0;
|
||||
-
|
||||
- return nf_conntrack_eventmask_report(1 << event, ct, portid, report);
|
||||
-#else
|
||||
- return 0;
|
||||
#endif
|
||||
+
|
||||
+ return nf_conntrack_eventmask_report(1 << event, ct, portid, report);
|
||||
}
|
||||
+#endif
|
||||
|
||||
static inline int
|
||||
return nf_conntrack_eventmask_report(1 << event, ct, portid, report);
|
||||
#else
|
||||
@@ -139,10 +148,12 @@ static inline int
|
||||
nf_conntrack_event(enum ip_conntrack_events event, struct nf_conn *ct)
|
||||
{
|
||||
-#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
+#ifndef CONFIG_NF_CONNTRACK_CHAIN_EVENTS
|
||||
const struct net *net = nf_ct_net(ct);
|
||||
|
||||
if (!rcu_access_pointer(net->ct.nf_conntrack_event_cb))
|
||||
return 0;
|
||||
+#endif
|
||||
|
||||
- return nf_conntrack_eventmask_report(1 << event, ct, 0, 0);
|
||||
-#else
|
||||
- return 0;
|
||||
#endif
|
||||
+
|
||||
+ return nf_conntrack_eventmask_report(1 << event, ct, 0, 0);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
return nf_conntrack_eventmask_report(1 << event, ct, 0, 0);
|
||||
#else
|
||||
--- a/include/net/netns/conntrack.h
|
||||
+++ b/include/net/netns/conntrack.h
|
||||
@@ -112,7 +112,11 @@ struct netns_ct {
|
||||
@ -130,16 +115,13 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/slab.h>
|
||||
@@ -117,6 +120,38 @@ static void ecache_work(struct work_stru
|
||||
@@ -116,7 +119,35 @@ static void ecache_work(struct work_stru
|
||||
if (delay >= 0)
|
||||
schedule_delayed_work(&ctnet->ecache_dwork, delay);
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS
|
||||
+int
|
||||
+nf_conntrack_eventmask_report(unsigned int eventmask,
|
||||
+ struct nf_conn *ct,
|
||||
+ u32 portid,
|
||||
+ int report)
|
||||
+int nf_conntrack_eventmask_report(unsigned int eventmask, struct nf_conn *ct,
|
||||
+ u32 portid, int report)
|
||||
+{
|
||||
+ struct nf_conntrack_ecache *e;
|
||||
+ struct net *net = nf_ct_net(ct);
|
||||
@ -159,7 +141,7 @@
|
||||
+
|
||||
+ if (!((eventmask | missed) & e->ctmask))
|
||||
+ return 0;
|
||||
+
|
||||
|
||||
+ atomic_notifier_call_chain(&net->ct.nf_conntrack_chain, eventmask | missed, &item);
|
||||
+ }
|
||||
+
|
||||
@ -169,7 +151,7 @@
|
||||
int nf_conntrack_eventmask_report(unsigned int eventmask, struct nf_conn *ct,
|
||||
u32 portid, int report)
|
||||
{
|
||||
@@ -171,10 +206,52 @@ out_unlock:
|
||||
@@ -171,10 +202,52 @@ out_unlock:
|
||||
rcu_read_unlock();
|
||||
return ret;
|
||||
}
|
||||
@ -222,7 +204,7 @@
|
||||
void nf_ct_deliver_cached_events(struct nf_conn *ct)
|
||||
{
|
||||
struct net *net = nf_ct_net(ct);
|
||||
@@ -225,6 +302,7 @@ void nf_ct_deliver_cached_events(struct
|
||||
@@ -225,6 +298,7 @@ void nf_ct_deliver_cached_events(struct
|
||||
out_unlock:
|
||||
rcu_read_unlock();
|
||||
}
|
||||
@ -230,12 +212,13 @@
|
||||
EXPORT_SYMBOL_GPL(nf_ct_deliver_cached_events);
|
||||
|
||||
void nf_ct_expect_event_report(enum ip_conntrack_expect_events event,
|
||||
@@ -257,6 +335,12 @@ out_unlock:
|
||||
@@ -257,6 +331,13 @@ out_unlock:
|
||||
rcu_read_unlock();
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS
|
||||
+int nf_conntrack_register_notifier(struct net *net, struct notifier_block *nb)
|
||||
+int nf_conntrack_register_notifier(struct net *net,
|
||||
+ struct notifier_block *nb)
|
||||
+{
|
||||
+ return atomic_notifier_chain_register(&net->ct.nf_conntrack_chain, nb);
|
||||
+}
|
||||
@ -243,7 +226,7 @@
|
||||
int nf_conntrack_register_notifier(struct net *net,
|
||||
struct nf_ct_event_notifier *new)
|
||||
{
|
||||
@@ -277,8 +361,15 @@ out_unlock:
|
||||
@@ -277,8 +358,15 @@ out_unlock:
|
||||
mutex_unlock(&nf_ct_ecache_mutex);
|
||||
return ret;
|
||||
}
|
||||
@ -259,7 +242,7 @@
|
||||
void nf_conntrack_unregister_notifier(struct net *net,
|
||||
struct nf_ct_event_notifier *new)
|
||||
{
|
||||
@@ -292,6 +383,7 @@ void nf_conntrack_unregister_notifier(st
|
||||
@@ -292,6 +380,7 @@ void nf_conntrack_unregister_notifier(st
|
||||
mutex_unlock(&nf_ct_ecache_mutex);
|
||||
/* synchronize_rcu() is called from ctnetlink_exit. */
|
||||
}
|
||||
@ -269,27 +252,13 @@
|
||||
int nf_ct_expect_register_notifier(struct net *net,
|
||||
--- a/net/netfilter/nf_conntrack_netlink.c
|
||||
+++ b/net/netfilter/nf_conntrack_netlink.c
|
||||
@@ -28,6 +28,11 @@
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/interrupt.h>
|
||||
+
|
||||
+#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS
|
||||
+#include <linux/notifier.h>
|
||||
+#endif
|
||||
+
|
||||
#include <linux/slab.h>
|
||||
#include <linux/siphash.h>
|
||||
|
||||
@@ -676,14 +681,22 @@ static size_t ctnetlink_nlmsg_size(const
|
||||
;
|
||||
@@ -677,13 +677,20 @@ static size_t ctnetlink_nlmsg_size(const
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS
|
||||
+static int ctnetlink_conntrack_event(struct notifier_block *this,
|
||||
+ unsigned long events, void *ptr)
|
||||
+#else
|
||||
static int
|
||||
+#ifdef CONFIG_NF_CONNTRACK_CHAIN_EVENTS
|
||||
+ctnetlink_conntrack_event(struct notifier_block *this, unsigned long events, void *ptr)
|
||||
+#else
|
||||
ctnetlink_conntrack_event(unsigned int events, struct nf_ct_event *item)
|
||||
+#endif
|
||||
{
|
||||
@ -304,7 +273,7 @@
|
||||
struct nf_conn *ct = item->ct;
|
||||
struct sk_buff *skb;
|
||||
unsigned int type;
|
||||
@@ -3502,9 +3515,15 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
@@ -3502,9 +3509,15 @@ static int ctnetlink_stat_exp_cpu(struct
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NF_CONNTRACK_EVENTS
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
+++ b/drivers/thermal/Kconfig
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
|
||||
|
||||
menuconfig THERMAL
|
||||
- bool "Generic Thermal sysfs driver"
|
||||
+ tristate "Generic Thermal sysfs driver"
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
diff -Naupr linux-5.4.10_orig/drivers/net/Kconfig linux-5.4.10/drivers/net/Kconfig
|
||||
--- linux-5.4.10_orig/drivers/net/Kconfig 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/drivers/net/Kconfig 2020-01-10 15:16:47.222143243 +0200
|
||||
@@ -282,6 +282,125 @@ config RIONET_RX_SIZE
|
||||
--- a/drivers/net/Kconfig
|
||||
+++ b/drivers/net/Kconfig
|
||||
@@ -283,6 +283,125 @@ config RIONET_RX_SIZE
|
||||
depends on RIONET
|
||||
default "128"
|
||||
|
||||
@ -127,9 +126,8 @@ diff -Naupr linux-5.4.10_orig/drivers/net/Kconfig linux-5.4.10/drivers/net/Kconf
|
||||
config TUN
|
||||
tristate "Universal TUN/TAP device driver support"
|
||||
depends on INET
|
||||
diff -Naupr linux-5.4.10_orig/drivers/net/Makefile linux-5.4.10/drivers/net/Makefile
|
||||
--- linux-5.4.10_orig/drivers/net/Makefile 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/drivers/net/Makefile 2020-01-10 15:16:47.222143243 +0200
|
||||
--- a/drivers/net/Makefile
|
||||
+++ b/drivers/net/Makefile
|
||||
@@ -13,6 +13,7 @@ obj-$(CONFIG_DUMMY) += dummy.o
|
||||
obj-$(CONFIG_EQUALIZER) += eql.o
|
||||
obj-$(CONFIG_IFB) += ifb.o
|
||||
@ -138,9 +136,8 @@ diff -Naupr linux-5.4.10_orig/drivers/net/Makefile linux-5.4.10/drivers/net/Make
|
||||
obj-$(CONFIG_MACVLAN) += macvlan.o
|
||||
obj-$(CONFIG_MACVTAP) += macvtap.o
|
||||
obj-$(CONFIG_MII) += mii.o
|
||||
diff -Naupr linux-5.4.10_orig/drivers/net/imq.c linux-5.4.10/drivers/net/imq.c
|
||||
--- linux-5.4.10_orig/drivers/net/imq.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-5.4.10/drivers/net/imq.c 2020-01-10 15:21:17.815149199 +0200
|
||||
--- /dev/null
|
||||
+++ b/drivers/net/imq.c
|
||||
@@ -0,0 +1,963 @@
|
||||
+/*
|
||||
+ * Pseudo-driver for the intermediate queue device.
|
||||
@ -1105,9 +1102,8 @@ diff -Naupr linux-5.4.10_orig/drivers/net/imq.c linux-5.4.10/drivers/net/imq.c
|
||||
+MODULE_DESCRIPTION("Pseudo-driver for the intermediate queue device. See https://github.com/imq/linuximq/wiki for more information.");
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_ALIAS_RTNL_LINK("imq");
|
||||
diff -Naupr linux-5.4.10_orig/include/linux/imq.h linux-5.4.10/include/linux/imq.h
|
||||
--- linux-5.4.10_orig/include/linux/imq.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-5.4.10/include/linux/imq.h 2020-01-10 15:16:47.222143243 +0200
|
||||
--- /dev/null
|
||||
+++ b/include/linux/imq.h
|
||||
@@ -0,0 +1,13 @@
|
||||
+#ifndef _IMQ_H
|
||||
+#define _IMQ_H
|
||||
@ -1122,10 +1118,9 @@ diff -Naupr linux-5.4.10_orig/include/linux/imq.h linux-5.4.10/include/linux/imq
|
||||
+
|
||||
+#endif /* _IMQ_H */
|
||||
+
|
||||
diff -Naupr linux-5.4.10_orig/include/linux/netdevice.h linux-5.4.10/include/linux/netdevice.h
|
||||
--- linux-5.4.10_orig/include/linux/netdevice.h 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/include/linux/netdevice.h 2020-01-10 15:16:47.223143243 +0200
|
||||
@@ -1936,6 +1936,11 @@ struct net_device {
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -1938,6 +1938,11 @@ struct net_device {
|
||||
/*
|
||||
* Cache lines mostly used on receive path (including eth_type_trans())
|
||||
*/
|
||||
@ -1137,7 +1132,7 @@ diff -Naupr linux-5.4.10_orig/include/linux/netdevice.h linux-5.4.10/include/lin
|
||||
/* Interface address info used in eth_type_trans() */
|
||||
unsigned char *dev_addr;
|
||||
|
||||
@@ -4033,6 +4038,19 @@ static inline void netif_tx_unlock_bh(st
|
||||
@@ -4037,6 +4042,19 @@ static inline void netif_tx_unlock_bh(st
|
||||
} \
|
||||
}
|
||||
|
||||
@ -1157,9 +1152,8 @@ diff -Naupr linux-5.4.10_orig/include/linux/netdevice.h linux-5.4.10/include/lin
|
||||
static inline void netif_tx_disable(struct net_device *dev)
|
||||
{
|
||||
unsigned int i;
|
||||
diff -Naupr linux-5.4.10_orig/include/linux/netfilter/xt_IMQ.h linux-5.4.10/include/linux/netfilter/xt_IMQ.h
|
||||
--- linux-5.4.10_orig/include/linux/netfilter/xt_IMQ.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-5.4.10/include/linux/netfilter/xt_IMQ.h 2020-01-10 15:16:47.224143243 +0200
|
||||
--- /dev/null
|
||||
+++ b/include/linux/netfilter/xt_IMQ.h
|
||||
@@ -0,0 +1,9 @@
|
||||
+#ifndef _XT_IMQ_H
|
||||
+#define _XT_IMQ_H
|
||||
@ -1170,9 +1164,8 @@ diff -Naupr linux-5.4.10_orig/include/linux/netfilter/xt_IMQ.h linux-5.4.10/incl
|
||||
+
|
||||
+#endif /* _XT_IMQ_H */
|
||||
+
|
||||
diff -Naupr linux-5.4.10_orig/include/linux/netfilter_ipv4/ipt_IMQ.h linux-5.4.10/include/linux/netfilter_ipv4/ipt_IMQ.h
|
||||
--- linux-5.4.10_orig/include/linux/netfilter_ipv4/ipt_IMQ.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-5.4.10/include/linux/netfilter_ipv4/ipt_IMQ.h 2020-01-10 15:16:47.224143243 +0200
|
||||
--- /dev/null
|
||||
+++ b/include/linux/netfilter_ipv4/ipt_IMQ.h
|
||||
@@ -0,0 +1,10 @@
|
||||
+#ifndef _IPT_IMQ_H
|
||||
+#define _IPT_IMQ_H
|
||||
@ -1184,9 +1177,8 @@ diff -Naupr linux-5.4.10_orig/include/linux/netfilter_ipv4/ipt_IMQ.h linux-5.4.1
|
||||
+
|
||||
+#endif /* _IPT_IMQ_H */
|
||||
+
|
||||
diff -Naupr linux-5.4.10_orig/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-5.4.10/include/linux/netfilter_ipv6/ip6t_IMQ.h
|
||||
--- linux-5.4.10_orig/include/linux/netfilter_ipv6/ip6t_IMQ.h 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-5.4.10/include/linux/netfilter_ipv6/ip6t_IMQ.h 2020-01-10 15:16:47.224143243 +0200
|
||||
--- /dev/null
|
||||
+++ b/include/linux/netfilter_ipv6/ip6t_IMQ.h
|
||||
@@ -0,0 +1,10 @@
|
||||
+#ifndef _IP6T_IMQ_H
|
||||
+#define _IP6T_IMQ_H
|
||||
@ -1198,9 +1190,8 @@ diff -Naupr linux-5.4.10_orig/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-5.4.
|
||||
+
|
||||
+#endif /* _IP6T_IMQ_H */
|
||||
+
|
||||
diff -Naupr linux-5.4.10_orig/include/linux/skbuff.h linux-5.4.10/include/linux/skbuff.h
|
||||
--- linux-5.4.10_orig/include/linux/skbuff.h 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/include/linux/skbuff.h 2020-01-10 15:16:47.225143243 +0200
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -40,6 +40,9 @@
|
||||
#if IS_ENABLED(CONFIG_NF_CONNTRACK)
|
||||
#include <linux/netfilter/nf_conntrack_common.h>
|
||||
@ -1241,7 +1232,7 @@ diff -Naupr linux-5.4.10_orig/include/linux/skbuff.h linux-5.4.10/include/linux/
|
||||
#ifdef CONFIG_NET_CLS_ACT
|
||||
__u8 tc_skip_classify:1;
|
||||
__u8 tc_at_ingress:1;
|
||||
@@ -1023,6 +1035,10 @@ void skb_tx_error(struct sk_buff *skb);
|
||||
@@ -1025,6 +1037,10 @@ void skb_tx_error(struct sk_buff *skb);
|
||||
void consume_skb(struct sk_buff *skb);
|
||||
void __consume_stateless_skb(struct sk_buff *skb);
|
||||
void __kfree_skb(struct sk_buff *skb);
|
||||
@ -1252,7 +1243,7 @@ diff -Naupr linux-5.4.10_orig/include/linux/skbuff.h linux-5.4.10/include/linux/
|
||||
extern struct kmem_cache *skbuff_head_cache;
|
||||
|
||||
void kfree_skb_partial(struct sk_buff *skb, bool head_stolen);
|
||||
@@ -4216,6 +4232,10 @@ static inline void __nf_copy(struct sk_b
|
||||
@@ -4218,6 +4234,10 @@ static inline void __nf_copy(struct sk_b
|
||||
dst->_nfct = src->_nfct;
|
||||
nf_conntrack_get(skb_nfct(src));
|
||||
#endif
|
||||
@ -1263,9 +1254,8 @@ diff -Naupr linux-5.4.10_orig/include/linux/skbuff.h linux-5.4.10/include/linux/
|
||||
#if IS_ENABLED(CONFIG_NETFILTER_XT_TARGET_TRACE) || defined(CONFIG_NF_TABLES)
|
||||
if (copy)
|
||||
dst->nf_trace = src->nf_trace;
|
||||
diff -Naupr linux-5.4.10_orig/include/net/netfilter/nf_queue.h linux-5.4.10/include/net/netfilter/nf_queue.h
|
||||
--- linux-5.4.10_orig/include/net/netfilter/nf_queue.h 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/include/net/netfilter/nf_queue.h 2020-01-10 15:16:47.225143243 +0200
|
||||
--- a/include/net/netfilter/nf_queue.h
|
||||
+++ b/include/net/netfilter/nf_queue.h
|
||||
@@ -33,6 +33,12 @@ struct nf_queue_handler {
|
||||
void nf_register_queue_handler(struct net *net, const struct nf_queue_handler *qh);
|
||||
void nf_unregister_queue_handler(struct net *net);
|
||||
@ -1279,9 +1269,8 @@ diff -Naupr linux-5.4.10_orig/include/net/netfilter/nf_queue.h linux-5.4.10/incl
|
||||
|
||||
void nf_queue_entry_get_refs(struct nf_queue_entry *entry);
|
||||
void nf_queue_entry_release_refs(struct nf_queue_entry *entry);
|
||||
diff -Naupr linux-5.4.10_orig/include/net/pkt_sched.h linux-5.4.10/include/net/pkt_sched.h
|
||||
--- linux-5.4.10_orig/include/net/pkt_sched.h 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/include/net/pkt_sched.h 2020-01-10 15:16:47.225143243 +0200
|
||||
--- a/include/net/pkt_sched.h
|
||||
+++ b/include/net/pkt_sched.h
|
||||
@@ -115,6 +115,8 @@ bool sch_direct_xmit(struct sk_buff *skb
|
||||
|
||||
void __qdisc_run(struct Qdisc *q);
|
||||
@ -1291,10 +1280,9 @@ diff -Naupr linux-5.4.10_orig/include/net/pkt_sched.h linux-5.4.10/include/net/p
|
||||
static inline void qdisc_run(struct Qdisc *q)
|
||||
{
|
||||
if (qdisc_run_begin(q)) {
|
||||
diff -Naupr linux-5.4.10_orig/include/net/sch_generic.h linux-5.4.10/include/net/sch_generic.h
|
||||
--- linux-5.4.10_orig/include/net/sch_generic.h 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/include/net/sch_generic.h 2020-01-10 15:16:47.226143243 +0200
|
||||
@@ -810,6 +810,13 @@ static inline int qdisc_enqueue(struct s
|
||||
--- a/include/net/sch_generic.h
|
||||
+++ b/include/net/sch_generic.h
|
||||
@@ -795,6 +795,13 @@ static inline int qdisc_enqueue(struct s
|
||||
return sch->enqueue(skb, sch, to_free);
|
||||
}
|
||||
|
||||
@ -1308,9 +1296,8 @@ diff -Naupr linux-5.4.10_orig/include/net/sch_generic.h linux-5.4.10/include/net
|
||||
static inline void _bstats_update(struct gnet_stats_basic_packed *bstats,
|
||||
__u64 bytes, __u32 packets)
|
||||
{
|
||||
diff -Naupr linux-5.4.10_orig/include/uapi/linux/netfilter.h linux-5.4.10/include/uapi/linux/netfilter.h
|
||||
--- linux-5.4.10_orig/include/uapi/linux/netfilter.h 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/include/uapi/linux/netfilter.h 2020-01-10 15:16:47.226143243 +0200
|
||||
--- a/include/uapi/linux/netfilter.h
|
||||
+++ b/include/uapi/linux/netfilter.h
|
||||
@@ -14,7 +14,8 @@
|
||||
#define NF_QUEUE 3
|
||||
#define NF_REPEAT 4
|
||||
@ -1321,9 +1308,8 @@ diff -Naupr linux-5.4.10_orig/include/uapi/linux/netfilter.h linux-5.4.10/includ
|
||||
|
||||
/* we overload the higher bits for encoding auxiliary data such as the queue
|
||||
* number or errno values. Not nice, but better than additional function
|
||||
diff -Naupr linux-5.4.10_orig/net/core/dev.c linux-5.4.10/net/core/dev.c
|
||||
--- linux-5.4.10_orig/net/core/dev.c 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/net/core/dev.c 2020-01-10 15:16:47.227143243 +0200
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -137,6 +137,9 @@
|
||||
#include <linux/hrtimer.h>
|
||||
#include <linux/netfilter_ingress.h>
|
||||
@ -1334,7 +1320,7 @@ diff -Naupr linux-5.4.10_orig/net/core/dev.c linux-5.4.10/net/core/dev.c
|
||||
#include <linux/sctp.h>
|
||||
#include <net/udp_tunnel.h>
|
||||
#include <linux/net_namespace.h>
|
||||
@@ -3191,6 +3194,13 @@ static int xmit_one(struct sk_buff *skb,
|
||||
@@ -3192,6 +3195,13 @@ static int xmit_one(struct sk_buff *skb,
|
||||
unsigned int len;
|
||||
int rc;
|
||||
|
||||
@ -1348,7 +1334,7 @@ diff -Naupr linux-5.4.10_orig/net/core/dev.c linux-5.4.10/net/core/dev.c
|
||||
if (dev_nit_active(dev))
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
@@ -3230,6 +3240,8 @@ out:
|
||||
@@ -3231,6 +3241,8 @@ out:
|
||||
return skb;
|
||||
}
|
||||
|
||||
@ -1357,9 +1343,8 @@ diff -Naupr linux-5.4.10_orig/net/core/dev.c linux-5.4.10/net/core/dev.c
|
||||
static struct sk_buff *validate_xmit_vlan(struct sk_buff *skb,
|
||||
netdev_features_t features)
|
||||
{
|
||||
diff -Naupr linux-5.4.10_orig/net/core/skbuff.c linux-5.4.10/net/core/skbuff.c
|
||||
--- linux-5.4.10_orig/net/core/skbuff.c 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/net/core/skbuff.c 2020-01-10 15:27:54.348157926 +0200
|
||||
--- a/net/core/skbuff.c
|
||||
+++ b/net/core/skbuff.c
|
||||
@@ -86,6 +86,56 @@ static struct kmem_cache *skbuff_ext_cac
|
||||
int sysctl_max_skb_frags __read_mostly = MAX_SKB_FRAGS;
|
||||
EXPORT_SYMBOL(sysctl_max_skb_frags);
|
||||
@ -1470,10 +1455,9 @@ diff -Naupr linux-5.4.10_orig/net/core/skbuff.c linux-5.4.10/net/core/skbuff.c
|
||||
skb_extensions_init();
|
||||
}
|
||||
|
||||
diff -Naupr linux-5.4.10_orig/net/netfilter/Kconfig linux-5.4.10/net/netfilter/Kconfig
|
||||
--- linux-5.4.10_orig/net/netfilter/Kconfig 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/net/netfilter/Kconfig 2020-01-10 15:16:47.229143243 +0200
|
||||
@@ -929,6 +929,18 @@ config NETFILTER_XT_TARGET_LOG
|
||||
--- a/net/netfilter/Kconfig
|
||||
+++ b/net/netfilter/Kconfig
|
||||
@@ -941,6 +941,18 @@ config NETFILTER_XT_TARGET_LOG
|
||||
|
||||
To compile it as a module, choose M here. If unsure, say N.
|
||||
|
||||
@ -1492,10 +1476,9 @@ diff -Naupr linux-5.4.10_orig/net/netfilter/Kconfig linux-5.4.10/net/netfilter/K
|
||||
config NETFILTER_XT_TARGET_MARK
|
||||
tristate '"MARK" target support'
|
||||
depends on NETFILTER_ADVANCED
|
||||
diff -Naupr linux-5.4.10_orig/net/netfilter/Makefile linux-5.4.10/net/netfilter/Makefile
|
||||
--- linux-5.4.10_orig/net/netfilter/Makefile 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/net/netfilter/Makefile 2020-01-10 15:16:47.229143243 +0200
|
||||
@@ -142,6 +142,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CT) +=
|
||||
--- a/net/netfilter/Makefile
|
||||
+++ b/net/netfilter/Makefile
|
||||
@@ -145,6 +145,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CT) +=
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_DSCP) += xt_DSCP.o
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_HL) += xt_HL.o
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_HMARK) += xt_HMARK.o
|
||||
@ -1503,9 +1486,8 @@ diff -Naupr linux-5.4.10_orig/net/netfilter/Makefile linux-5.4.10/net/netfilter/
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_LED) += xt_LED.o
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_LOG) += xt_LOG.o
|
||||
obj-$(CONFIG_NETFILTER_XT_TARGET_NETMAP) += xt_NETMAP.o
|
||||
diff -Naupr linux-5.4.10_orig/net/netfilter/core.c linux-5.4.10/net/netfilter/core.c
|
||||
--- linux-5.4.10_orig/net/netfilter/core.c 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/net/netfilter/core.c 2020-01-10 15:16:47.229143243 +0200
|
||||
--- a/net/netfilter/core.c
|
||||
+++ b/net/netfilter/core.c
|
||||
@@ -519,6 +519,11 @@ int nf_hook_slow(struct sk_buff *skb, st
|
||||
if (ret == 0)
|
||||
ret = -EPERM;
|
||||
@ -1518,9 +1500,8 @@ diff -Naupr linux-5.4.10_orig/net/netfilter/core.c linux-5.4.10/net/netfilter/co
|
||||
case NF_QUEUE:
|
||||
ret = nf_queue(skb, state, s, verdict);
|
||||
if (ret == 1)
|
||||
diff -Naupr linux-5.4.10_orig/net/netfilter/nf_queue.c linux-5.4.10/net/netfilter/nf_queue.c
|
||||
--- linux-5.4.10_orig/net/netfilter/nf_queue.c 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/net/netfilter/nf_queue.c 2020-01-10 15:16:47.229143243 +0200
|
||||
--- a/net/netfilter/nf_queue.c
|
||||
+++ b/net/netfilter/nf_queue.c
|
||||
@@ -29,6 +29,23 @@
|
||||
* receives, no matter what.
|
||||
*/
|
||||
@ -1602,9 +1583,8 @@ diff -Naupr linux-5.4.10_orig/net/netfilter/nf_queue.c linux-5.4.10/net/netfilte
|
||||
err = nf_queue(skb, &entry->state, i, verdict);
|
||||
if (err == 1)
|
||||
goto next_hook;
|
||||
diff -Naupr linux-5.4.10_orig/net/netfilter/xt_IMQ.c linux-5.4.10/net/netfilter/xt_IMQ.c
|
||||
--- linux-5.4.10_orig/net/netfilter/xt_IMQ.c 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ linux-5.4.10/net/netfilter/xt_IMQ.c 2020-01-10 15:16:47.229143243 +0200
|
||||
--- /dev/null
|
||||
+++ b/net/netfilter/xt_IMQ.c
|
||||
@@ -0,0 +1,72 @@
|
||||
+/*
|
||||
+ * This target marks packets to be enqueued to an imq device
|
||||
@ -1678,9 +1658,8 @@ diff -Naupr linux-5.4.10_orig/net/netfilter/xt_IMQ.c linux-5.4.10/net/netfilter/
|
||||
+MODULE_ALIAS("ipt_IMQ");
|
||||
+MODULE_ALIAS("ip6t_IMQ");
|
||||
+
|
||||
diff -Naupr linux-5.4.10_orig/net/sched/sch_generic.c linux-5.4.10/net/sched/sch_generic.c
|
||||
--- linux-5.4.10_orig/net/sched/sch_generic.c 2020-01-09 11:25:53.000000000 +0200
|
||||
+++ linux-5.4.10/net/sched/sch_generic.c 2020-01-10 15:16:47.230143243 +0200
|
||||
--- a/net/sched/sch_generic.c
|
||||
+++ b/net/sched/sch_generic.c
|
||||
@@ -273,6 +273,14 @@ trace:
|
||||
return skb;
|
||||
}
|
||||
|
||||
@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -2633,7 +2633,7 @@ static inline int pskb_network_may_pull(
|
||||
@@ -2649,7 +2649,7 @@ static inline int pskb_network_may_pull(
|
||||
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
|
||||
*/
|
||||
#ifndef NET_SKB_PAD
|
||||
|
||||
@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -824,6 +824,7 @@ struct sk_buff {
|
||||
@@ -836,6 +836,7 @@ struct sk_buff {
|
||||
#ifdef CONFIG_TLS_DEVICE
|
||||
__u8 decrypted:1;
|
||||
#endif
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__u16 tc_index; /* traffic control index */
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -5460,6 +5460,9 @@ static enum gro_result dev_gro_receive(s
|
||||
@@ -5472,6 +5472,9 @@ static enum gro_result dev_gro_receive(s
|
||||
int same_flow;
|
||||
int grow;
|
||||
|
||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (netif_elide_gro(skb->dev))
|
||||
goto normal;
|
||||
|
||||
@@ -7253,6 +7256,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -7265,6 +7268,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info,
|
||||
@@ -7303,6 +7348,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -7315,6 +7360,7 @@ static int __netdev_upper_dev_link(struc
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -7396,6 +7442,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -7408,6 +7454,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
|
||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
|
||||
&changeupper_info.info);
|
||||
|
||||
@@ -8126,6 +8173,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -8138,6 +8185,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user