From e72b2464b15f4a8dbe2d443a57ff7aa761990da8 Mon Sep 17 00:00:00 2001 From: Stijn Segers Date: Fri, 2 Mar 2018 08:31:03 +0100 Subject: kernel: bump 4.4 to 4.4.119 This bumps the 4.4. kernel in master to 4.4.119. Includes more Meltdown & Spectre mitigation. * Refresh patches. * Refresh x86/config for RETPOLINE. * Deleted 8049-PCI-layerscape-Add-fsl-ls2085a-pcie-compatible-ID.patch (accepted upstream) * Deleted 8050-PCI-layerscape-Fix-MSG-TLP-drop-setting.patch (accepted upstream) * Deleted 650-pppoe_header_pad.patch (does not apply anymore (code was replaced)). Bumps from 4.4.112 to 4.4.115 were handled by Kevin Darbyshire-Bryant. Compile-tested on: ar71xx & oxnas. Signed-off-by: Stijn Segers Tested-by: Rosen Penev --- .../pending-4.4/001-mtdsplit_backport.patch | 2 +- .../051-0005-ovl-proper-cleanup-of-workdir.patch | 2 +- .../pending-4.4/201-extra_optimization.patch | 2 +- .../pending-4.4/202-reduce_module_size.patch | 2 +- .../generic/pending-4.4/204-module_strip.patch | 19 +++++----- .../generic/pending-4.4/208-disable-modorder.patch | 4 +-- .../generic/pending-4.4/221-module_exports.patch | 2 +- ...bi-auto-create-ubiblock-device-for-rootfs.patch | 4 +-- ...-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch | 4 +-- ...610-netfilter_match_bypass_default_checks.patch | 14 ++++---- .../generic/pending-4.4/650-pppoe_header_pad.patch | 20 ----------- .../666-Add-support-for-MAP-E-FMRs-mesh-mode.patch | 40 +++++++++++----------- ...80-NET-skip-GRO-for-foreign-MAC-addresses.patch | 10 +++--- .../generic/pending-4.4/834-ledtrig-libata.patch | 8 ++--- .../pending-4.4/901-debloat_sock_diag.patch | 2 +- .../generic/pending-4.4/902-debloat_proc.patch | 2 +- .../generic/pending-4.4/995-mangle_bootargs.patch | 2 +- 17 files changed, 61 insertions(+), 78 deletions(-) delete mode 100644 target/linux/generic/pending-4.4/650-pppoe_header_pad.patch (limited to 'target/linux/generic') diff --git a/target/linux/generic/pending-4.4/001-mtdsplit_backport.patch b/target/linux/generic/pending-4.4/001-mtdsplit_backport.patch index f0839b6..b5c485f 100644 --- a/target/linux/generic/pending-4.4/001-mtdsplit_backport.patch +++ b/target/linux/generic/pending-4.4/001-mtdsplit_backport.patch @@ -129,7 +129,7 @@ return __mtdsplit_parse_uimage(master, pparts, data, --- a/drivers/mtd/mtdsplit/mtdsplit_wrgg.c +++ b/drivers/mtd/mtdsplit/mtdsplit_wrgg.c -@@ -40,8 +40,8 @@ struct wrgg03_header { +@@ -51,8 +51,8 @@ struct wrg_header { static int mtdsplit_parse_wrgg(struct mtd_info *master, diff --git a/target/linux/generic/pending-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch b/target/linux/generic/pending-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch index eb095b7..7225fc8 100644 --- a/target/linux/generic/pending-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch +++ b/target/linux/generic/pending-4.4/051-0005-ovl-proper-cleanup-of-workdir.patch @@ -53,7 +53,7 @@ Cc: err = ovl_check_whiteouts(realpath->dentry, rdd); fput(realfile); -@@ -569,3 +569,64 @@ void ovl_cleanup_whiteouts(struct dentry +@@ -573,3 +573,64 @@ void ovl_cleanup_whiteouts(struct dentry } mutex_unlock(&upper->d_inode->i_mutex); } diff --git a/target/linux/generic/pending-4.4/201-extra_optimization.patch b/target/linux/generic/pending-4.4/201-extra_optimization.patch index 2f83442..b4235a1 100644 --- a/target/linux/generic/pending-4.4/201-extra_optimization.patch +++ b/target/linux/generic/pending-4.4/201-extra_optimization.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -624,12 +624,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni +@@ -626,12 +626,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context) ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE diff --git a/target/linux/generic/pending-4.4/202-reduce_module_size.patch b/target/linux/generic/pending-4.4/202-reduce_module_size.patch index d68c463..1aabf3e 100644 --- a/target/linux/generic/pending-4.4/202-reduce_module_size.patch +++ b/target/linux/generic/pending-4.4/202-reduce_module_size.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -403,7 +403,7 @@ KBUILD_CFLAGS_KERNEL := +@@ -405,7 +405,7 @@ KBUILD_CFLAGS_KERNEL := KBUILD_AFLAGS := -D__ASSEMBLY__ $(call cc-option,-fno-PIE) KBUILD_AFLAGS_MODULE := -DMODULE KBUILD_CFLAGS_MODULE := -DMODULE diff --git a/target/linux/generic/pending-4.4/204-module_strip.patch b/target/linux/generic/pending-4.4/204-module_strip.patch index d4c8039..a661f98 100644 --- a/target/linux/generic/pending-4.4/204-module_strip.patch +++ b/target/linux/generic/pending-4.4/204-module_strip.patch @@ -89,7 +89,7 @@ Signed-off-by: Felix Fietkau --- a/init/Kconfig +++ b/init/Kconfig -@@ -2026,6 +2026,13 @@ config MODULE_COMPRESS_XZ +@@ -2033,6 +2033,13 @@ config MODULE_COMPRESS_XZ endchoice @@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau config MODULES_TREE_LOOKUP --- a/kernel/module.c +++ b/kernel/module.c -@@ -2871,6 +2871,7 @@ static struct module *setup_load_info(st +@@ -2880,6 +2880,7 @@ static void check_modinfo_retpoline(stru static int check_modinfo(struct module *mod, struct load_info *info, int flags) { @@ -113,7 +113,7 @@ Signed-off-by: Felix Fietkau const char *modmagic = get_modinfo(info, "vermagic"); int err; -@@ -2900,6 +2901,7 @@ static int check_modinfo(struct module * +@@ -2911,6 +2912,7 @@ static int check_modinfo(struct module * pr_warn("%s: module is from the staging directory, the quality " "is unknown, you have been warned.\n", mod->name); } @@ -123,7 +123,7 @@ Signed-off-by: Felix Fietkau set_license(mod, get_modinfo(info, "license")); --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c -@@ -1963,7 +1963,9 @@ static void read_symbols(char *modname) +@@ -1964,7 +1964,9 @@ static void read_symbols(char *modname) symname = remove_dot(info.strtab + sym->st_name); handle_modversions(mod, &info, sym, symname); @@ -133,7 +133,7 @@ Signed-off-by: Felix Fietkau } if (!is_vmlinux(modname) || (is_vmlinux(modname) && vmlinux_section_warnings)) -@@ -2107,7 +2109,9 @@ static void add_header(struct buffer *b, +@@ -2108,7 +2110,9 @@ static void add_header(struct buffer *b, buf_printf(b, "#include \n"); buf_printf(b, "#include \n"); buf_printf(b, "\n"); @@ -143,7 +143,7 @@ Signed-off-by: Felix Fietkau buf_printf(b, "\n"); buf_printf(b, "__visible struct module __this_module\n"); buf_printf(b, "__attribute__((section(\".gnu.linkonce.this_module\"))) = {\n"); -@@ -2124,16 +2128,20 @@ static void add_header(struct buffer *b, +@@ -2125,8 +2129,10 @@ static void add_header(struct buffer *b, static void add_intree_flag(struct buffer *b, int is_intree) { @@ -153,6 +153,9 @@ Signed-off-by: Felix Fietkau +#endif } + /* Cannot check for assembler */ +@@ -2139,10 +2145,12 @@ static void add_retpoline(struct buffer + static void add_staging_flag(struct buffer *b, const char *name) { +#ifndef CONFIG_MODULE_STRIPPED @@ -164,7 +167,7 @@ Signed-off-by: Felix Fietkau } /* In kernel, this size is defined in linux/module.h; -@@ -2237,11 +2245,13 @@ static void add_depends(struct buffer *b +@@ -2246,11 +2254,13 @@ static void add_depends(struct buffer *b static void add_srcversion(struct buffer *b, struct module *mod) { @@ -178,7 +181,7 @@ Signed-off-by: Felix Fietkau } static void write_if_changed(struct buffer *b, const char *fname) -@@ -2475,7 +2485,9 @@ int main(int argc, char **argv) +@@ -2485,7 +2495,9 @@ int main(int argc, char **argv) add_staging_flag(&buf, mod->name); err |= add_versions(&buf, mod); add_depends(&buf, mod, modules); diff --git a/target/linux/generic/pending-4.4/208-disable-modorder.patch b/target/linux/generic/pending-4.4/208-disable-modorder.patch index 00d6e41..1707d52 100644 --- a/target/linux/generic/pending-4.4/208-disable-modorder.patch +++ b/target/linux/generic/pending-4.4/208-disable-modorder.patch @@ -5,7 +5,7 @@ Signed-off-by: Felix Fietkau --- --- a/Makefile +++ b/Makefile -@@ -1121,7 +1121,6 @@ all: modules +@@ -1123,7 +1123,6 @@ all: modules PHONY += modules modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau @$(kecho) ' Building modules, stage 2.'; $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild -@@ -1151,7 +1150,6 @@ _modinst_: +@@ -1153,7 +1152,6 @@ _modinst_: rm -f $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \ fi diff --git a/target/linux/generic/pending-4.4/221-module_exports.patch b/target/linux/generic/pending-4.4/221-module_exports.patch index 510a86c..44c0a6d 100644 --- a/target/linux/generic/pending-4.4/221-module_exports.patch +++ b/target/linux/generic/pending-4.4/221-module_exports.patch @@ -54,7 +54,7 @@ } --- a/scripts/Makefile.build +++ b/scripts/Makefile.build -@@ -299,7 +299,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $( +@@ -372,7 +372,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $( # Linker scripts preprocessor (.lds.S -> .lds) # --------------------------------------------------------------------------- quiet_cmd_cpp_lds_S = LDS $@ diff --git a/target/linux/generic/pending-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch b/target/linux/generic/pending-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch index da31112..462f7f4 100644 --- a/target/linux/generic/pending-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch +++ b/target/linux/generic/pending-4.4/491-ubi-auto-create-ubiblock-device-for-rootfs.patch @@ -11,7 +11,7 @@ Signed-off-by: Daniel Golle --- a/drivers/mtd/ubi/block.c +++ b/drivers/mtd/ubi/block.c -@@ -628,6 +628,44 @@ static void __init ubiblock_create_from_ +@@ -636,6 +636,44 @@ static void __init ubiblock_create_from_ } } @@ -56,7 +56,7 @@ Signed-off-by: Daniel Golle static void ubiblock_remove_all(void) { struct ubiblock *next; -@@ -658,6 +696,10 @@ int __init ubiblock_init(void) +@@ -668,6 +706,10 @@ int __init ubiblock_init(void) */ ubiblock_create_from_param(); diff --git a/target/linux/generic/pending-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch b/target/linux/generic/pending-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch index f55e8e3..9fbfc79 100644 --- a/target/linux/generic/pending-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch +++ b/target/linux/generic/pending-4.4/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch @@ -19,7 +19,7 @@ Signed-off-by: Daniel Golle #include "ubi-media.h" #include "ubi.h" -@@ -448,6 +449,15 @@ int ubiblock_create(struct ubi_volume_in +@@ -447,6 +448,15 @@ int ubiblock_create(struct ubi_volume_in add_disk(dev->gd); dev_info(disk_to_dev(dev->gd), "created from ubi%d:%d(%s)", dev->ubi_num, dev->vol_id, vi->name); @@ -32,6 +32,6 @@ Signed-off-by: Daniel Golle + ROOT_DEV = MKDEV(gd->major, gd->first_minor); + } + + mutex_unlock(&devices_mutex); return 0; - out_free_queue: diff --git a/target/linux/generic/pending-4.4/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/pending-4.4/610-netfilter_match_bypass_default_checks.patch index 8b96639..dce8020 100644 --- a/target/linux/generic/pending-4.4/610-netfilter_match_bypass_default_checks.patch +++ b/target/linux/generic/pending-4.4/610-netfilter_match_bypass_default_checks.patch @@ -50,16 +50,16 @@ static bool ip_checkentry(const struct ipt_ip *ip) { -@@ -664,6 +690,8 @@ find_check_entry(struct ipt_entry *e, st - struct xt_mtchk_param mtpar; +@@ -655,6 +681,8 @@ find_check_entry(struct ipt_entry *e, st struct xt_entry_match *ematch; + unsigned long pcnt; + ip_checkdefault(&e->ip); + - e->counters.pcnt = xt_percpu_counter_alloc(); - if (IS_ERR_VALUE(e->counters.pcnt)) + pcnt = xt_percpu_counter_alloc(); + if (IS_ERR_VALUE(pcnt)) return -ENOMEM; -@@ -948,6 +976,7 @@ copy_entries_to_user(unsigned int total_ +@@ -953,6 +981,7 @@ copy_entries_to_user(unsigned int total_ const struct xt_table_info *private = table->private; int ret = 0; const void *loc_cpu_entry; @@ -67,7 +67,7 @@ counters = alloc_counters(table); if (IS_ERR(counters)) -@@ -975,6 +1004,14 @@ copy_entries_to_user(unsigned int total_ +@@ -980,6 +1009,14 @@ copy_entries_to_user(unsigned int total_ goto free_counters; } @@ -82,7 +82,7 @@ for (i = sizeof(struct ipt_entry); i < e->target_offset; i += m->u.match_size) { -@@ -1380,12 +1417,15 @@ compat_copy_entry_to_user(struct ipt_ent +@@ -1385,12 +1422,15 @@ compat_copy_entry_to_user(struct ipt_ent compat_uint_t origsize; const struct xt_entry_match *ematch; int ret = 0; diff --git a/target/linux/generic/pending-4.4/650-pppoe_header_pad.patch b/target/linux/generic/pending-4.4/650-pppoe_header_pad.patch deleted file mode 100644 index 409de58..0000000 --- a/target/linux/generic/pending-4.4/650-pppoe_header_pad.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/drivers/net/ppp/pppoe.c -+++ b/drivers/net/ppp/pppoe.c -@@ -879,7 +879,7 @@ static int pppoe_sendmsg(struct socket * - goto end; - - -- skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32, -+ skb = sock_wmalloc(sk, total_len + dev->hard_header_len + 32 + NET_SKB_PAD, - 0, GFP_KERNEL); - if (!skb) { - error = -ENOMEM; -@@ -887,7 +887,7 @@ static int pppoe_sendmsg(struct socket * - } - - /* Reserve space for headers. */ -- skb_reserve(skb, dev->hard_header_len); -+ skb_reserve(skb, dev->hard_header_len + NET_SKB_PAD); - skb_reset_network_header(skb); - - skb->dev = dev; diff --git a/target/linux/generic/pending-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch index 303d831..fe59979 100644 --- a/target/linux/generic/pending-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch +++ b/target/linux/generic/pending-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch @@ -16,7 +16,7 @@ Signed-off-by: Steven Barth --- a/include/net/ip6_tunnel.h +++ b/include/net/ip6_tunnel.h -@@ -15,6 +15,18 @@ +@@ -17,6 +17,18 @@ /* determine capability on a per-packet basis */ #define IP6_TNL_F_CAP_PER_PACKET 0x40000 @@ -35,7 +35,7 @@ Signed-off-by: Steven Barth struct __ip6_tnl_parm { char name[IFNAMSIZ]; /* name of tunnel device */ int link; /* ifindex of underlying L2 interface */ -@@ -25,6 +37,7 @@ struct __ip6_tnl_parm { +@@ -27,6 +39,7 @@ struct __ip6_tnl_parm { __u32 flags; /* tunnel flags */ struct in6_addr laddr; /* local tunnel end-point address */ struct in6_addr raddr; /* remote tunnel end-point address */ @@ -94,7 +94,7 @@ Signed-off-by: Steven Barth } static int ip6_tnl_dev_init(struct net_device *dev); -@@ -230,20 +230,29 @@ EXPORT_SYMBOL_GPL(ip6_tnl_dst_init); +@@ -139,20 +139,29 @@ static struct net_device_stats *ip6_get_ static struct ip6_tnl * ip6_tnl_lookup(struct net *net, const struct in6_addr *remote, const struct in6_addr *local) { @@ -129,7 +129,7 @@ Signed-off-by: Steven Barth for_each_ip6_tunnel_rcu(ip6n->tnls_r_l[hash]) { if (ipv6_addr_equal(local, &t->parms.laddr) && ipv6_addr_any(&t->parms.raddr) && -@@ -251,7 +260,7 @@ ip6_tnl_lookup(struct net *net, const st +@@ -160,7 +169,7 @@ ip6_tnl_lookup(struct net *net, const st return t; } @@ -138,7 +138,7 @@ Signed-off-by: Steven Barth for_each_ip6_tunnel_rcu(ip6n->tnls_r_l[hash]) { if (ipv6_addr_equal(remote, &t->parms.raddr) && ipv6_addr_any(&t->parms.laddr) && -@@ -287,7 +296,7 @@ ip6_tnl_bucket(struct ip6_tnl_net *ip6n, +@@ -196,7 +205,7 @@ ip6_tnl_bucket(struct ip6_tnl_net *ip6n, if (!ipv6_addr_any(remote) || !ipv6_addr_any(local)) { prio = 1; @@ -147,7 +147,7 @@ Signed-off-by: Steven Barth } return &ip6n->tnls[prio][h]; } -@@ -460,6 +469,12 @@ ip6_tnl_dev_uninit(struct net_device *de +@@ -369,6 +378,12 @@ ip6_tnl_dev_uninit(struct net_device *de struct net *net = t->net; struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id); @@ -160,7 +160,7 @@ Signed-off-by: Steven Barth if (dev == ip6n->fb_tnl_dev) RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL); else -@@ -856,6 +871,108 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t, +@@ -765,6 +780,108 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t, } EXPORT_SYMBOL_GPL(ip6_tnl_rcv_ctl); @@ -269,7 +269,7 @@ Signed-off-by: Steven Barth /** * ip6_tnl_rcv - decapsulate IPv6 packet and retransmit it locally * @skb: received socket buffer -@@ -901,6 +1018,26 @@ static int ip6_tnl_rcv(struct sk_buff *s +@@ -810,6 +927,26 @@ static int ip6_tnl_rcv(struct sk_buff *s skb_reset_network_header(skb); skb->protocol = htons(protocol); memset(skb->cb, 0, sizeof(struct inet6_skb_parm)); @@ -296,7 +296,7 @@ Signed-off-by: Steven Barth __skb_tunnel_rx(skb, t->dev, t->net); -@@ -1248,6 +1385,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1145,6 +1282,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str __u32 mtu; u8 tproto; int err; @@ -304,7 +304,7 @@ Signed-off-by: Steven Barth tproto = ACCESS_ONCE(t->parms.proto); if ((tproto != IPPROTO_IPV6 && tproto != 0) || -@@ -1278,6 +1416,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1175,6 +1313,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK) fl6.flowi6_mark = skb->mark; @@ -323,7 +323,7 @@ Signed-off-by: Steven Barth err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu); if (err != 0) { if (err == -EMSGSIZE) -@@ -1392,6 +1542,14 @@ ip6_tnl_change(struct ip6_tnl *t, const +@@ -1289,6 +1439,14 @@ ip6_tnl_change(struct ip6_tnl *t, const t->parms.flowinfo = p->flowinfo; t->parms.link = p->link; t->parms.proto = p->proto; @@ -335,10 +335,10 @@ Signed-off-by: Steven Barth + } + t->parms.fmrs = p->fmrs; + - ip6_tnl_dst_reset(t); + dst_cache_reset(&t->dst_cache); ip6_tnl_link_config(t); return 0; -@@ -1430,6 +1588,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ +@@ -1327,6 +1485,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ p->flowinfo = u->flowinfo; p->link = u->link; p->proto = u->proto; @@ -346,7 +346,7 @@ Signed-off-by: Steven Barth memcpy(p->name, u->name, sizeof(u->name)); } -@@ -1725,6 +1884,15 @@ static int ip6_tnl_validate(struct nlatt +@@ -1622,6 +1781,15 @@ static int ip6_tnl_validate(struct nlatt return 0; } @@ -362,7 +362,7 @@ Signed-off-by: Steven Barth static void ip6_tnl_netlink_parms(struct nlattr *data[], struct __ip6_tnl_parm *parms) { -@@ -1756,6 +1924,46 @@ static void ip6_tnl_netlink_parms(struct +@@ -1653,6 +1821,46 @@ static void ip6_tnl_netlink_parms(struct if (data[IFLA_IPTUN_PROTO]) parms->proto = nla_get_u8(data[IFLA_IPTUN_PROTO]); @@ -409,7 +409,7 @@ Signed-off-by: Steven Barth } static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev, -@@ -1808,6 +2016,12 @@ static void ip6_tnl_dellink(struct net_d +@@ -1705,6 +1913,12 @@ static void ip6_tnl_dellink(struct net_d static size_t ip6_tnl_get_size(const struct net_device *dev) { @@ -422,7 +422,7 @@ Signed-off-by: Steven Barth return /* IFLA_IPTUN_LINK */ nla_total_size(4) + -@@ -1825,6 +2039,24 @@ static size_t ip6_tnl_get_size(const str +@@ -1722,6 +1936,24 @@ static size_t ip6_tnl_get_size(const str nla_total_size(4) + /* IFLA_IPTUN_PROTO */ nla_total_size(1) + @@ -447,7 +447,7 @@ Signed-off-by: Steven Barth 0; } -@@ -1832,6 +2064,9 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -1729,6 +1961,9 @@ static int ip6_tnl_fill_info(struct sk_b { struct ip6_tnl *tunnel = netdev_priv(dev); struct __ip6_tnl_parm *parm = &tunnel->parms; @@ -457,7 +457,7 @@ Signed-off-by: Steven Barth if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || -@@ -1840,8 +2075,27 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -1737,8 +1972,27 @@ static int ip6_tnl_fill_info(struct sk_b nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) || nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || @@ -486,7 +486,7 @@ Signed-off-by: Steven Barth return 0; nla_put_failure: -@@ -1865,6 +2119,7 @@ static const struct nla_policy ip6_tnl_p +@@ -1762,6 +2016,7 @@ static const struct nla_policy ip6_tnl_p [IFLA_IPTUN_FLOWINFO] = { .type = NLA_U32 }, [IFLA_IPTUN_FLAGS] = { .type = NLA_U32 }, [IFLA_IPTUN_PROTO] = { .type = NLA_U8 }, diff --git a/target/linux/generic/pending-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index d91db1f..7c96f4f 100644 --- a/target/linux/generic/pending-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4260,6 +4260,9 @@ static enum gro_result dev_gro_receive(s +@@ -4271,6 +4271,9 @@ static enum gro_result dev_gro_receive(s enum gro_result ret; int grow; @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau if (!(skb->dev->features & NETIF_F_GRO)) goto normal; -@@ -5426,6 +5429,48 @@ static void __netdev_adjacent_dev_unlink +@@ -5437,6 +5440,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *private) -@@ -5497,6 +5542,7 @@ static int __netdev_upper_dev_link(struc +@@ -5508,6 +5553,7 @@ static int __netdev_upper_dev_link(struc goto rollback_lower_mesh; } @@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); return 0; -@@ -5623,6 +5669,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -5634,6 +5680,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, i->ref_nr); @@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } -@@ -6163,6 +6210,7 @@ int dev_set_mac_address(struct net_devic +@@ -6174,6 +6221,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-4.4/834-ledtrig-libata.patch b/target/linux/generic/pending-4.4/834-ledtrig-libata.patch index c3d187a..ad63634 100644 --- a/target/linux/generic/pending-4.4/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-4.4/834-ledtrig-libata.patch @@ -69,7 +69,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -4780,6 +4793,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4781,6 +4794,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle qc = __ata_qc_from_tag(ap, tag); qc->tag = tag; -@@ -5677,6 +5693,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5678,6 +5694,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -5698,6 +5717,12 @@ static void ata_host_release(struct devi +@@ -5699,6 +5718,12 @@ static void ata_host_release(struct devi kfree(ap->pmp_link); kfree(ap->slave_link); @@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -6144,7 +6169,23 @@ int ata_host_register(struct ata_host *h +@@ -6145,7 +6170,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } diff --git a/target/linux/generic/pending-4.4/901-debloat_sock_diag.patch b/target/linux/generic/pending-4.4/901-debloat_sock_diag.patch index fa9f37b..4733d1b 100644 --- a/target/linux/generic/pending-4.4/901-debloat_sock_diag.patch +++ b/target/linux/generic/pending-4.4/901-debloat_sock_diag.patch @@ -39,7 +39,7 @@ --- a/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig -@@ -414,6 +414,7 @@ config INET_LRO +@@ -415,6 +415,7 @@ config INET_LRO config INET_DIAG tristate "INET: socket monitoring interface" diff --git a/target/linux/generic/pending-4.4/902-debloat_proc.patch b/target/linux/generic/pending-4.4/902-debloat_proc.patch index 4f874e5..931f43f 100644 --- a/target/linux/generic/pending-4.4/902-debloat_proc.patch +++ b/target/linux/generic/pending-4.4/902-debloat_proc.patch @@ -251,7 +251,7 @@ --- a/ipc/msg.c +++ b/ipc/msg.c -@@ -1068,6 +1068,9 @@ void __init msg_init(void) +@@ -1071,6 +1071,9 @@ void __init msg_init(void) { msg_init_ns(&init_ipc_ns); diff --git a/target/linux/generic/pending-4.4/995-mangle_bootargs.patch b/target/linux/generic/pending-4.4/995-mangle_bootargs.patch index e008dd9..8213703 100644 --- a/target/linux/generic/pending-4.4/995-mangle_bootargs.patch +++ b/target/linux/generic/pending-4.4/995-mangle_bootargs.patch @@ -40,7 +40,7 @@ setup_per_cpu_areas(); --- a/init/Kconfig +++ b/init/Kconfig -@@ -1648,6 +1648,15 @@ config EMBEDDED +@@ -1655,6 +1655,15 @@ config EMBEDDED an embedded system so certain expert options are available for configuration. -- cgit v1.1