summaryrefslogtreecommitdiff
path: root/target/linux/generic
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2016-03-18 23:41:21 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2016-03-18 23:41:21 +0000
commitfcbc97ad78f76de01964dd32dd4dcfa7f088d036 (patch)
tree529c90e30f06974d5671c6ac33c8a5238ce4e581 /target/linux/generic
parent6d933987db7be48d8b1637b32026ba0e6d8f27fa (diff)
downloadmtk-20170518-fcbc97ad78f76de01964dd32dd4dcfa7f088d036.zip
mtk-20170518-fcbc97ad78f76de01964dd32dd4dcfa7f088d036.tar.gz
mtk-20170518-fcbc97ad78f76de01964dd32dd4dcfa7f088d036.tar.bz2
kernel: update kernel 4.1 to version 4.1.20
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 49035
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/patches-4.1/040-fs-overlay-fix-stacking.patch2
-rw-r--r--target/linux/generic/patches-4.1/080-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch8
-rw-r--r--target/linux/generic/patches-4.1/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch26
-rw-r--r--target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch6
-rw-r--r--target/linux/generic/patches-4.1/532-jffs2_eofdetect.patch2
-rw-r--r--target/linux/generic/patches-4.1/650-pppoe_header_pad.patch4
-rw-r--r--target/linux/generic/patches-4.1/655-increase_skb_pad.patch2
-rw-r--r--target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch2
-rw-r--r--target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch2
-rw-r--r--target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch18
-rw-r--r--target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch12
-rw-r--r--target/linux/generic/patches-4.1/721-phy_packets.patch8
-rw-r--r--target/linux/generic/patches-4.1/902-debloat_proc.patch4
13 files changed, 50 insertions, 46 deletions
diff --git a/target/linux/generic/patches-4.1/040-fs-overlay-fix-stacking.patch b/target/linux/generic/patches-4.1/040-fs-overlay-fix-stacking.patch
index b3bb5c7..6c13e5f 100644
--- a/target/linux/generic/patches-4.1/040-fs-overlay-fix-stacking.patch
+++ b/target/linux/generic/patches-4.1/040-fs-overlay-fix-stacking.patch
@@ -21,7 +21,7 @@ Cc: <stable@vger.kernel.org> # v4.2+
--- a/fs/overlayfs/inode.c
+++ b/fs/overlayfs/inode.c
-@@ -362,6 +362,9 @@ struct inode *ovl_d_select_inode(struct
+@@ -375,6 +375,9 @@ struct inode *ovl_d_select_inode(struct
ovl_path_upper(dentry, &realpath);
}
diff --git a/target/linux/generic/patches-4.1/080-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch b/target/linux/generic/patches-4.1/080-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch
index 7de8987..629731c 100644
--- a/target/linux/generic/patches-4.1/080-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch
+++ b/target/linux/generic/patches-4.1/080-ipv6-ip6_fragment-fix-headroom-tests-and-skb-leak.patch
@@ -44,7 +44,7 @@ Closes 20532
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
-@@ -584,20 +584,22 @@ int ip6_fragment(struct sock *sk, struct
+@@ -587,20 +587,22 @@ int ip6_fragment(struct sock *sk, struct
}
mtu -= hlen + sizeof(struct frag_hdr);
@@ -69,7 +69,7 @@ Closes 20532
goto slow_path_clean;
/* Partially cloned skb? */
-@@ -614,8 +616,6 @@ int ip6_fragment(struct sock *sk, struct
+@@ -617,8 +619,6 @@ int ip6_fragment(struct sock *sk, struct
err = 0;
offset = 0;
@@ -78,7 +78,7 @@ Closes 20532
/* BUILD HEADER */
*prevhdr = NEXTHDR_FRAGMENT;
-@@ -623,8 +623,11 @@ int ip6_fragment(struct sock *sk, struct
+@@ -626,8 +626,11 @@ int ip6_fragment(struct sock *sk, struct
if (!tmp_hdr) {
IP6_INC_STATS(net, ip6_dst_idev(skb_dst(skb)),
IPSTATS_MIB_FRAGFAILS);
@@ -91,7 +91,7 @@ Closes 20532
__skb_pull(skb, hlen);
fh = (struct frag_hdr *)__skb_push(skb, sizeof(struct frag_hdr));
-@@ -722,7 +725,6 @@ slow_path:
+@@ -725,7 +728,6 @@ slow_path:
*/
*prevhdr = NEXTHDR_FRAGMENT;
diff --git a/target/linux/generic/patches-4.1/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch b/target/linux/generic/patches-4.1/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch
index 09cbe0c..bd0718d 100644
--- a/target/linux/generic/patches-4.1/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch
+++ b/target/linux/generic/patches-4.1/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch
@@ -47,7 +47,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/usb/cdc_ncm.c
+++ b/drivers/net/usb/cdc_ncm.c
-@@ -684,10 +684,12 @@ static void cdc_ncm_free(struct cdc_ncm_
+@@ -685,6 +685,8 @@ static void cdc_ncm_free(struct cdc_ncm_
ctx->tx_curr_skb = NULL;
}
@@ -56,12 +56,16 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
kfree(ctx);
}
+@@ -715,7 +717,7 @@ static const struct net_device_ops cdc_n
+ .ndo_validate_addr = eth_validate_addr,
+ };
+
-int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_altsetting)
+int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_altsetting, int drvflags)
{
const struct usb_cdc_union_desc *union_desc = NULL;
struct cdc_ncm_ctx *ctx;
-@@ -855,6 +857,17 @@ advance:
+@@ -883,6 +885,17 @@ advance:
/* finish setting up the device specific data */
cdc_ncm_setup(dev);
@@ -79,7 +83,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* override ethtool_ops */
dev->net->ethtool_ops = &cdc_ncm_ethtool_ops;
-@@ -954,8 +967,11 @@ static int cdc_ncm_bind(struct usbnet *d
+@@ -985,8 +998,11 @@ static int cdc_ncm_bind(struct usbnet *d
if (cdc_ncm_select_altsetting(intf) != CDC_NCM_COMM_ALTSETTING_NCM)
return -ENODEV;
@@ -93,7 +97,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/*
* We should get an event when network connection is "connected" or
-@@ -986,6 +1002,14 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
+@@ -1017,6 +1033,14 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
struct usb_cdc_ncm_nth16 *nth16 = (void *)skb->data;
size_t ndpoffset = le16_to_cpu(nth16->wNdpIndex);
@@ -108,7 +112,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* follow the chain of NDPs, looking for a match */
while (ndpoffset) {
ndp16 = (struct usb_cdc_ncm_ndp16 *)(skb->data + ndpoffset);
-@@ -995,7 +1019,8 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
+@@ -1026,7 +1050,8 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
}
/* align new NDP */
@@ -118,7 +122,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* verify that there is room for the NDP and the datagram (reserve) */
if ((ctx->tx_max - skb->len - reserve) < ctx->max_ndp_size)
-@@ -1008,7 +1033,11 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
+@@ -1039,7 +1064,11 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
nth16->wNdpIndex = cpu_to_le16(skb->len);
/* push a new empty NDP */
@@ -131,7 +135,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
ndp16->dwSignature = sign;
ndp16->wLength = cpu_to_le16(sizeof(struct usb_cdc_ncm_ndp16) + sizeof(struct usb_cdc_ncm_dpe16));
return ndp16;
-@@ -1023,6 +1052,15 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
+@@ -1054,6 +1083,15 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
struct sk_buff *skb_out;
u16 n = 0, index, ndplen;
u8 ready2send = 0;
@@ -147,7 +151,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* if there is a remaining skb, it gets priority */
if (skb != NULL) {
-@@ -1077,7 +1115,7 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
+@@ -1108,7 +1146,7 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
cdc_ncm_align_tail(skb_out, ctx->tx_modulus, ctx->tx_remainder, ctx->tx_max);
/* check if we had enough room left for both NDP and frame */
@@ -156,7 +160,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (n == 0) {
/* won't fit, MTU problem? */
dev_kfree_skb_any(skb);
-@@ -1150,6 +1188,17 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
+@@ -1181,6 +1219,17 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
/* variables will be reset at next call */
}
@@ -217,10 +221,10 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
u32 tx_timer_pending;
u32 tx_curr_frame_num;
-@@ -133,7 +138,7 @@ struct cdc_ncm_ctx {
- };
+@@ -134,7 +139,7 @@ struct cdc_ncm_ctx {
u8 cdc_ncm_select_altsetting(struct usb_interface *intf);
+ int cdc_ncm_change_mtu(struct net_device *net, int new_mtu);
-int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_altsetting);
+int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_altsetting, int drvflags);
void cdc_ncm_unbind(struct usbnet *dev, struct usb_interface *intf);
diff --git a/target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch b/target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
index 935c731..2cd5a04 100644
--- a/target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
+++ b/target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
@@ -48,7 +48,7 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
-@@ -820,6 +820,7 @@ static const struct usb_device_id produc
+@@ -821,6 +821,7 @@ static const struct usb_device_id produc
{QMI_GOBI_DEVICE(0x05c6, 0x9245)}, /* Samsung Gobi 2000 Modem device (VL176) */
{QMI_GOBI_DEVICE(0x03f0, 0x251d)}, /* HP Gobi 2000 Modem device (VP412) */
{QMI_GOBI_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */
@@ -56,7 +56,7 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
{QMI_GOBI_DEVICE(0x05c6, 0x9265)}, /* Asus Gobi 2000 Modem device (VR305) */
{QMI_GOBI_DEVICE(0x05c6, 0x9235)}, /* Top Global Gobi 2000 Modem device (VR306) */
{QMI_GOBI_DEVICE(0x05c6, 0x9275)}, /* iRex Technologies Gobi 2000 Modem device (VR307) */
-@@ -851,10 +852,24 @@ static const struct usb_device_id produc
+@@ -852,10 +853,24 @@ static const struct usb_device_id produc
};
MODULE_DEVICE_TABLE(usb, products);
@@ -81,7 +81,7 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
/* Workaround to enable dynamic IDs. This disables usbnet
* blacklisting functionality. Which, if required, can be
-@@ -866,6 +881,12 @@ static int qmi_wwan_probe(struct usb_int
+@@ -867,6 +882,12 @@ static int qmi_wwan_probe(struct usb_int
id->driver_info = (unsigned long)&qmi_wwan_info;
}
diff --git a/target/linux/generic/patches-4.1/532-jffs2_eofdetect.patch b/target/linux/generic/patches-4.1/532-jffs2_eofdetect.patch
index 9cbe183..8ce53d8 100644
--- a/target/linux/generic/patches-4.1/532-jffs2_eofdetect.patch
+++ b/target/linux/generic/patches-4.1/532-jffs2_eofdetect.patch
@@ -1,6 +1,6 @@
--- a/fs/jffs2/build.c
+++ b/fs/jffs2/build.c
-@@ -114,6 +114,16 @@ static int jffs2_build_filesystem(struct
+@@ -116,6 +116,16 @@ static int jffs2_build_filesystem(struct
dbg_fsbuild("scanned flash completely\n");
jffs2_dbg_dump_block_lists_nolock(c);
diff --git a/target/linux/generic/patches-4.1/650-pppoe_header_pad.patch b/target/linux/generic/patches-4.1/650-pppoe_header_pad.patch
index adba206..409de58 100644
--- a/target/linux/generic/patches-4.1/650-pppoe_header_pad.patch
+++ b/target/linux/generic/patches-4.1/650-pppoe_header_pad.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/ppp/pppoe.c
+++ b/drivers/net/ppp/pppoe.c
-@@ -877,7 +877,7 @@ static int pppoe_sendmsg(struct socket *
+@@ -879,7 +879,7 @@ static int pppoe_sendmsg(struct socket *
goto end;
@@ -9,7 +9,7 @@
0, GFP_KERNEL);
if (!skb) {
error = -ENOMEM;
-@@ -885,7 +885,7 @@ static int pppoe_sendmsg(struct socket *
+@@ -887,7 +887,7 @@ static int pppoe_sendmsg(struct socket *
}
/* Reserve space for headers. */
diff --git a/target/linux/generic/patches-4.1/655-increase_skb_pad.patch b/target/linux/generic/patches-4.1/655-increase_skb_pad.patch
index c4aee07..ad872ff 100644
--- a/target/linux/generic/patches-4.1/655-increase_skb_pad.patch
+++ b/target/linux/generic/patches-4.1/655-increase_skb_pad.patch
@@ -1,6 +1,6 @@
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2027,7 +2027,7 @@ static inline int pskb_network_may_pull(
+@@ -2028,7 +2028,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
diff --git a/target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch b/target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch
index 72e5c26..762ba25 100644
--- a/target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch
+++ b/target/linux/generic/patches-4.1/656-skb_reduce_truesize-helper.patch
@@ -14,7 +14,7 @@ when needed.
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2072,6 +2072,24 @@ static inline void pskb_trim_unique(stru
+@@ -2073,6 +2073,24 @@ static inline void pskb_trim_unique(stru
BUG_ON(err);
}
diff --git a/target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch b/target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch
index 3cbbae3..7e42cdd 100644
--- a/target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch
+++ b/target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch
@@ -42,7 +42,7 @@
struct Qdisc_class_common {
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
-@@ -737,7 +737,7 @@ static void attach_one_default_qdisc(str
+@@ -739,7 +739,7 @@ static void attach_one_default_qdisc(str
if (dev->tx_queue_len) {
qdisc = qdisc_create_dflt(dev_queue,
diff --git a/target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 0c453ff..2892109 100644
--- a/target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/patches-4.1/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -143,7 +143,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = {
.__refcnt = ATOMIC_INIT(1),
-@@ -1634,6 +1651,11 @@ int ip6_route_info_create(struct fib6_co
+@@ -1632,6 +1649,11 @@ int ip6_route_info_create(struct fib6_co
rt->dst.output = ip6_pkt_prohibit_out;
rt->dst.input = ip6_pkt_prohibit;
break;
@@ -155,7 +155,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
case RTN_THROW:
default:
rt->dst.error = (cfg->fc_type == RTN_THROW) ? -EAGAIN
-@@ -2225,6 +2247,17 @@ static int ip6_pkt_prohibit_out(struct s
+@@ -2223,6 +2245,17 @@ static int ip6_pkt_prohibit_out(struct s
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
}
@@ -173,7 +173,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/*
* Allocate a dst for local (unicast / anycast) address.
*/
-@@ -2451,7 +2484,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -2449,7 +2482,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT ||
@@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
-@@ -2793,6 +2827,9 @@ static int rt6_fill_node(struct net *net
+@@ -2791,6 +2825,9 @@ static int rt6_fill_node(struct net *net
case -EACCES:
rtm->rtm_type = RTN_PROHIBIT;
break;
@@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
case -EAGAIN:
rtm->rtm_type = RTN_THROW;
break;
-@@ -3050,6 +3087,8 @@ static int ip6_route_dev_notify(struct n
+@@ -3048,6 +3085,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
-@@ -3266,6 +3305,17 @@ static int __net_init ip6_route_net_init
+@@ -3264,6 +3303,17 @@ static int __net_init ip6_route_net_init
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true);
@@ -220,7 +220,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif
net->ipv6.sysctl.flush_delay = 0;
-@@ -3284,6 +3334,8 @@ out:
+@@ -3282,6 +3332,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -229,7 +229,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
-@@ -3301,6 +3353,7 @@ static void __net_exit ip6_route_net_exi
+@@ -3299,6 +3351,7 @@ static void __net_exit ip6_route_net_exi
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry);
@@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
}
-@@ -3397,6 +3450,9 @@ int __init ip6_route_init(void)
+@@ -3395,6 +3448,9 @@ int __init ip6_route_init(void)
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
diff --git a/target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index fb6a355..716fb95 100644
--- a/target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/patches-4.1/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4036,6 +4036,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4041,6 +4041,9 @@ static enum gro_result dev_gro_receive(s
enum gro_result ret;
int grow;
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (!(skb->dev->features & NETIF_F_GRO))
goto normal;
-@@ -5185,6 +5188,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5190,6 +5193,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *private)
-@@ -5245,6 +5290,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5250,6 +5295,7 @@ static int __netdev_upper_dev_link(struc
goto rollback_lower_mesh;
}
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
return 0;
-@@ -5362,6 +5408,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5367,6 +5413,7 @@ void netdev_upper_dev_unlink(struct net_
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
__netdev_adjacent_dev_unlink(dev, i->dev);
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
}
EXPORT_SYMBOL(netdev_upper_dev_unlink);
-@@ -5901,6 +5948,7 @@ int dev_set_mac_address(struct net_devic
+@@ -5906,6 +5953,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
@@ -113,7 +113,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
#endif
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -615,7 +615,8 @@ struct sk_buff {
+@@ -616,7 +616,8 @@ struct sk_buff {
__u8 ipvs_property:1;
__u8 inner_protocol_type:1;
__u8 remcsum_offload:1;
diff --git a/target/linux/generic/patches-4.1/721-phy_packets.patch b/target/linux/generic/patches-4.1/721-phy_packets.patch
index a511c66..3a963b5 100644
--- a/target/linux/generic/patches-4.1/721-phy_packets.patch
+++ b/target/linux/generic/patches-4.1/721-phy_packets.patch
@@ -41,7 +41,7 @@
*/
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2058,6 +2058,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2059,6 +2059,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}
@@ -52,7 +52,7 @@
/**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter
-@@ -2184,16 +2188,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2185,16 +2189,6 @@ static inline struct sk_buff *dev_alloc_
}
@@ -86,7 +86,7 @@
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -2645,10 +2645,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -2650,10 +2650,20 @@ static int xmit_one(struct sk_buff *skb,
if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
dev_queue_xmit_nit(skb, dev);
@@ -121,7 +121,7 @@
#include <net/protocol.h>
#include <net/dst.h>
-@@ -568,6 +569,22 @@ struct sk_buff *__napi_alloc_skb(struct
+@@ -570,6 +571,22 @@ struct sk_buff *__napi_alloc_skb(struct
}
EXPORT_SYMBOL(__napi_alloc_skb);
diff --git a/target/linux/generic/patches-4.1/902-debloat_proc.patch b/target/linux/generic/patches-4.1/902-debloat_proc.patch
index b6883a6..b0dce81 100644
--- a/target/linux/generic/patches-4.1/902-debloat_proc.patch
+++ b/target/linux/generic/patches-4.1/902-debloat_proc.patch
@@ -1,6 +1,6 @@
--- a/fs/locks.c
+++ b/fs/locks.c
-@@ -2674,6 +2674,8 @@ static const struct file_operations proc
+@@ -2683,6 +2683,8 @@ static const struct file_operations proc
static int __init proc_locks_init(void)
{
@@ -239,7 +239,7 @@
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -415,6 +415,9 @@ static struct pernet_operations ip_rt_pr
+@@ -416,6 +416,9 @@ static struct pernet_operations ip_rt_pr
static int __init ip_rt_proc_init(void)
{