kernel: bump to version 4.14.25
authorKabuli Chana <newtownBuild@gmail.com>
Fri, 9 Mar 2018 17:33:04 +0000 (10:33 -0700)
committerHauke Mehrtens <hauke@hauke-m.de>
Fri, 9 Mar 2018 21:12:48 +0000 (22:12 +0100)
compile/test target mvebu/rango

Signed-off-by: Kabuli Chana <newtownBuild@gmail.com>
27 files changed:
include/kernel-version.mk
target/linux/generic/backport-4.14/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch
target/linux/generic/backport-4.14/270-uapi-libc-compat-add-fallback-for-unsupported-libcs.patch [deleted file]
target/linux/generic/backport-4.14/303-netfilter-nf_tables-remove-multihook-chains-and-fami.patch
target/linux/generic/backport-4.14/321-netfilter-nf_tables-add-flow-table-netlink-frontend.patch
target/linux/generic/backport-4.14/327-netfilter-nf_tables-remove-nhooks-field-from-struct-.patch
target/linux/generic/backport-4.14/328-netfilter-nf_tables-fix-a-typo-in-nf_tables_getflowt.patch
target/linux/generic/backport-4.14/331-netfilter-nf_tables-no-need-for-struct-nft_af_info-t.patch
target/linux/generic/backport-4.14/333-netfilter-nf_tables-fix-chain-filter-in-nf_tables_du.patch [deleted file]
target/linux/generic/backport-4.14/334-netfilter-nf_tables-fix-potential-NULL-ptr-deref-in-.patch
target/linux/generic/backport-4.14/335-netfilter-nf_tables-add-single-table-list-for-all-fa.patch
target/linux/generic/backport-4.14/336-netfilter-exit_net-cleanup-check-added.patch
target/linux/generic/backport-4.14/337-netfilter-nf_tables-get-rid-of-pernet-families.patch
target/linux/generic/backport-4.14/338-netfilter-nf_tables-get-rid-of-struct-nft_af_info-ab.patch
target/linux/generic/backport-4.14/342-netfilter-nf_tables-fix-flowtable-free.patch
target/linux/generic/backport-4.14/357-netfilter-nf_flow_table-move-init-code-to-nf_flow_ta.patch
target/linux/generic/hack-4.14/661-use_fq_codel_by_default.patch
target/linux/generic/hack-4.14/721-phy_packets.patch
target/linux/generic/hack-4.14/902-debloat_proc.patch
target/linux/generic/pending-4.14/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/mediatek/patches-4.14/0035-net-mediatek-disable-RX-VLan-offloading.patch
target/linux/mediatek/patches-4.14/0043-net-next-mediatek-enable-special-tag-indication-for-.patch
target/linux/mediatek/patches-4.14/0046-net-mediatek-add-irq-delay.patch
target/linux/mediatek/patches-4.14/0048-net-core-add-RPS-balancer.patch
target/linux/mediatek/patches-4.14/0051-net-mediatek-increase-tx_timeout.patch

index 13c055f4b09f53401e05ef525db69a1fbf9c1914..b7479df8a5f2d92bbe1b9cfb53d8b1ed13815543 100644 (file)
@@ -5,12 +5,12 @@ LINUX_RELEASE?=1
 LINUX_VERSION-3.18 = .71
 LINUX_VERSION-4.4 = .119
 LINUX_VERSION-4.9 = .85
-LINUX_VERSION-4.14 = .23
+LINUX_VERSION-4.14 = .25
 
 LINUX_KERNEL_HASH-3.18.71 = 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
 LINUX_KERNEL_HASH-4.4.119 = 4f1f9b7b6b2ee93597239d89bb3b6b60c71ebd8c91d706fadd36f515c68443e6
 LINUX_KERNEL_HASH-4.9.85 = 80fe13eee45bd0d5aee6193281dc85dad14500e27d238dc45ebcbcc77cd965c1
-LINUX_KERNEL_HASH-4.14.23 = 9a97b5555a2baaed9aa7711524ae3b9179579efb902d76a814a916aefe5712ca
+LINUX_KERNEL_HASH-4.14.25 = 6dcfbf79c068e51c1b06edb1ce58ddc9ca351f862bf2a144e96106ec3f21e587
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
index 03c0b5365595ece073ccf5faa8d14bb5ae3a3244..89117bd87482635ee010dd8a98179cd0a24288ef 100644 (file)
@@ -74,7 +74,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
                    sk->sk_gso_max_size - 1 - MAX_TCP_HEADER);
  
        /* Goal is to send at least one packet per ms,
-@@ -2145,7 +2145,7 @@ static bool tcp_small_queue_check(struct
+@@ -2172,7 +2172,7 @@ static bool tcp_small_queue_check(struct
  {
        unsigned int limit;
  
diff --git a/target/linux/generic/backport-4.14/270-uapi-libc-compat-add-fallback-for-unsupported-libcs.patch b/target/linux/generic/backport-4.14/270-uapi-libc-compat-add-fallback-for-unsupported-libcs.patch
deleted file mode 100644 (file)
index 530a9e8..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-From c6bdd0d302119819de72439972d0462c26ef9eda Mon Sep 17 00:00:00 2001
-From: Felix Janda <felix.janda@posteo.de>
-Date: Sun, 12 Nov 2017 13:30:17 -0500
-Subject: uapi libc compat: add fallback for unsupported libcs
-
-libc-compat.h aims to prevent symbol collisions between uapi and libc
-headers for each supported libc. This requires continuous coordination
-between them.
-
-The goal of this commit is to improve the situation for libcs (such as
-musl) which are not yet supported and/or do not wish to be explicitly
-supported, while not affecting supported libcs. More precisely, with
-this commit, unsupported libcs can request the suppression of any
-specific uapi definition by defining the correspondings _UAPI_DEF_*
-macro as 0. This can fix symbol collisions for them, as long as the
-libc headers are included before the uapi headers. Inclusion in the
-other order is outside the scope of this commit.
-
-All infrastructure in order to enable this fallback for unsupported
-libcs is already in place, except that libc-compat.h unconditionally
-defines all _UAPI_DEF_* macros to 1 for all unsupported libcs so that
-any previous definitions are ignored. In order to fix this, this commit
-merely makes these definitions conditional.
-
-This commit together with the musl libc commit
-
-http://git.musl-libc.org/cgit/musl/commit/?id=04983f2272382af92eb8f8838964ff944fbb8258
-
-fixes for example the following compiler errors when <linux/in6.h> is
-included after musl's <netinet/in.h>:
-
-./linux/in6.h:32:8: error: redefinition of 'struct in6_addr'
-./linux/in6.h:49:8: error: redefinition of 'struct sockaddr_in6'
-./linux/in6.h:59:8: error: redefinition of 'struct ipv6_mreq'
-
-The comments referencing glibc are still correct, but this file is not
-only used for glibc any more.
-
-Signed-off-by: Felix Janda <felix.janda@posteo.de>
-Reviewed-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- include/uapi/linux/libc-compat.h | 55 +++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 54 insertions(+), 1 deletion(-)
-
---- a/include/uapi/linux/libc-compat.h
-+++ b/include/uapi/linux/libc-compat.h
-@@ -168,46 +168,99 @@
- /* If we did not see any headers from any supported C libraries,
-  * or we are being included in the kernel, then define everything
-- * that we need. */
-+ * that we need. Check for previous __UAPI_* definitions to give
-+ * unsupported C libraries a way to opt out of any kernel definition. */
- #else /* !defined(__GLIBC__) */
- /* Definitions for if.h */
-+#ifndef __UAPI_DEF_IF_IFCONF
- #define __UAPI_DEF_IF_IFCONF 1
-+#endif
-+#ifndef __UAPI_DEF_IF_IFMAP
- #define __UAPI_DEF_IF_IFMAP 1
-+#endif
-+#ifndef __UAPI_DEF_IF_IFNAMSIZ
- #define __UAPI_DEF_IF_IFNAMSIZ 1
-+#endif
-+#ifndef __UAPI_DEF_IF_IFREQ
- #define __UAPI_DEF_IF_IFREQ 1
-+#endif
- /* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
-+#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS
- #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
-+#endif
- /* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
-+#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
- #define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
-+#endif
- /* Definitions for in.h */
-+#ifndef __UAPI_DEF_IN_ADDR
- #define __UAPI_DEF_IN_ADDR            1
-+#endif
-+#ifndef __UAPI_DEF_IN_IPPROTO
- #define __UAPI_DEF_IN_IPPROTO         1
-+#endif
-+#ifndef __UAPI_DEF_IN_PKTINFO
- #define __UAPI_DEF_IN_PKTINFO         1
-+#endif
-+#ifndef __UAPI_DEF_IP_MREQ
- #define __UAPI_DEF_IP_MREQ            1
-+#endif
-+#ifndef __UAPI_DEF_SOCKADDR_IN
- #define __UAPI_DEF_SOCKADDR_IN                1
-+#endif
-+#ifndef __UAPI_DEF_IN_CLASS
- #define __UAPI_DEF_IN_CLASS           1
-+#endif
- /* Definitions for in6.h */
-+#ifndef __UAPI_DEF_IN6_ADDR
- #define __UAPI_DEF_IN6_ADDR           1
-+#endif
-+#ifndef __UAPI_DEF_IN6_ADDR_ALT
- #define __UAPI_DEF_IN6_ADDR_ALT               1
-+#endif
-+#ifndef __UAPI_DEF_SOCKADDR_IN6
- #define __UAPI_DEF_SOCKADDR_IN6               1
-+#endif
-+#ifndef __UAPI_DEF_IPV6_MREQ
- #define __UAPI_DEF_IPV6_MREQ          1
-+#endif
-+#ifndef __UAPI_DEF_IPPROTO_V6
- #define __UAPI_DEF_IPPROTO_V6         1
-+#endif
-+#ifndef __UAPI_DEF_IPV6_OPTIONS
- #define __UAPI_DEF_IPV6_OPTIONS               1
-+#endif
-+#ifndef __UAPI_DEF_IN6_PKTINFO
- #define __UAPI_DEF_IN6_PKTINFO                1
-+#endif
-+#ifndef __UAPI_DEF_IP6_MTUINFO
- #define __UAPI_DEF_IP6_MTUINFO                1
-+#endif
- /* Definitions for ipx.h */
-+#ifndef __UAPI_DEF_SOCKADDR_IPX
- #define __UAPI_DEF_SOCKADDR_IPX                       1
-+#endif
-+#ifndef __UAPI_DEF_IPX_ROUTE_DEFINITION
- #define __UAPI_DEF_IPX_ROUTE_DEFINITION               1
-+#endif
-+#ifndef __UAPI_DEF_IPX_INTERFACE_DEFINITION
- #define __UAPI_DEF_IPX_INTERFACE_DEFINITION   1
-+#endif
-+#ifndef __UAPI_DEF_IPX_CONFIG_DATA
- #define __UAPI_DEF_IPX_CONFIG_DATA            1
-+#endif
-+#ifndef __UAPI_DEF_IPX_ROUTE_DEF
- #define __UAPI_DEF_IPX_ROUTE_DEF              1
-+#endif
- /* Definitions for xattr.h */
-+#ifndef __UAPI_DEF_XATTR
- #define __UAPI_DEF_XATTR              1
-+#endif
- #endif /* __GLIBC__ */
index 6395dd07950ef7a818999cb55bbea5a66ca0f586..37c63ec6c6a4491a4f1b7b1af16ceadb1a4998c2 100644 (file)
@@ -265,7 +265,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                }
                nft_chain_release_hook(&hook);
        }
-@@ -5060,10 +5048,9 @@ static int nf_tables_commit(struct net *
+@@ -5062,10 +5050,9 @@ static int nf_tables_commit(struct net *
                case NFT_MSG_DELCHAIN:
                        list_del_rcu(&trans->ctx.chain->list);
                        nf_tables_chain_notify(&trans->ctx, NFT_MSG_DELCHAIN);
@@ -279,7 +279,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                        break;
                case NFT_MSG_NEWRULE:
                        nft_clear(trans->ctx.net, nft_trans_rule(trans));
-@@ -5200,10 +5187,9 @@ static int nf_tables_abort(struct net *n
+@@ -5202,10 +5189,9 @@ static int nf_tables_abort(struct net *n
                        } else {
                                trans->ctx.table->use--;
                                list_del_rcu(&trans->ctx.chain->list);
@@ -293,7 +293,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                        }
                        break;
                case NFT_MSG_DELCHAIN:
-@@ -5304,7 +5290,7 @@ int nft_chain_validate_hooks(const struc
+@@ -5306,7 +5292,7 @@ int nft_chain_validate_hooks(const struc
        if (nft_is_base_chain(chain)) {
                basechain = nft_base_chain(chain);
  
@@ -302,7 +302,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                        return 0;
  
                return -EOPNOTSUPP;
-@@ -5786,8 +5772,7 @@ int __nft_release_basechain(struct nft_c
+@@ -5788,8 +5774,7 @@ int __nft_release_basechain(struct nft_c
  
        BUG_ON(!nft_is_base_chain(ctx->chain));
  
@@ -312,7 +312,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        list_for_each_entry_safe(rule, nr, &ctx->chain->rules, list) {
                list_del(&rule->list);
                ctx->chain->use--;
-@@ -5816,8 +5801,7 @@ static void __nft_release_afinfo(struct
+@@ -5818,8 +5803,7 @@ static void __nft_release_afinfo(struct
  
        list_for_each_entry_safe(table, nt, &afi->tables, list) {
                list_for_each_entry(chain, &table->chains, list)
index 8a0d2f0fb7bacef3bed91a48187d9cd35fb697b8..2a5025855a5515b83f927ad492fb2e2ab61f1b32 100644 (file)
@@ -292,7 +292,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        list_for_each_entry_safe(obj, ne, &ctx->table->objects, list) {
                err = nft_delobj(ctx, obj);
                if (err < 0)
-@@ -4765,6 +4809,605 @@ static void nf_tables_obj_notify(const s
+@@ -4767,6 +4811,605 @@ static void nf_tables_obj_notify(const s
                       ctx->afi->family, ctx->report, GFP_KERNEL);
  }
  
@@ -898,7 +898,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  static int nf_tables_fill_gen_info(struct sk_buff *skb, struct net *net,
                                   u32 portid, u32 seq)
  {
-@@ -4795,6 +5438,49 @@ nla_put_failure:
+@@ -4797,6 +5440,49 @@ nla_put_failure:
        return -EMSGSIZE;
  }
  
@@ -948,7 +948,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  static void nf_tables_gen_notify(struct net *net, struct sk_buff *skb,
                                 int event)
  {
-@@ -4947,6 +5633,21 @@ static const struct nfnl_callback nf_tab
+@@ -4949,6 +5635,21 @@ static const struct nfnl_callback nf_tab
                .attr_count     = NFTA_OBJ_MAX,
                .policy         = nft_obj_policy,
        },
@@ -970,7 +970,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  };
  
  static void nft_chain_commit_update(struct nft_trans *trans)
-@@ -4992,6 +5693,9 @@ static void nf_tables_commit_release(str
+@@ -4994,6 +5695,9 @@ static void nf_tables_commit_release(str
        case NFT_MSG_DELOBJ:
                nft_obj_destroy(nft_trans_obj(trans));
                break;
@@ -980,7 +980,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        }
        kfree(trans);
  }
-@@ -5109,6 +5813,21 @@ static int nf_tables_commit(struct net *
+@@ -5111,6 +5815,21 @@ static int nf_tables_commit(struct net *
                        nf_tables_obj_notify(&trans->ctx, nft_trans_obj(trans),
                                             NFT_MSG_DELOBJ);
                        break;
@@ -1002,7 +1002,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                }
        }
  
-@@ -5146,6 +5865,9 @@ static void nf_tables_abort_release(stru
+@@ -5148,6 +5867,9 @@ static void nf_tables_abort_release(stru
        case NFT_MSG_NEWOBJ:
                nft_obj_destroy(nft_trans_obj(trans));
                break;
@@ -1012,7 +1012,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        }
        kfree(trans);
  }
-@@ -5235,6 +5957,17 @@ static int nf_tables_abort(struct net *n
+@@ -5237,6 +5959,17 @@ static int nf_tables_abort(struct net *n
                        nft_clear(trans->ctx.net, nft_trans_obj(trans));
                        nft_trans_destroy(trans);
                        break;
@@ -1030,7 +1030,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                }
        }
  
-@@ -5785,6 +6518,7 @@ EXPORT_SYMBOL_GPL(__nft_release_basechai
+@@ -5787,6 +6520,7 @@ EXPORT_SYMBOL_GPL(__nft_release_basechai
  /* Called by nft_unregister_afinfo() from __net_exit path, nfnl_lock is held. */
  static void __nft_release_afinfo(struct net *net, struct nft_af_info *afi)
  {
@@ -1038,7 +1038,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        struct nft_table *table, *nt;
        struct nft_chain *chain, *nc;
        struct nft_object *obj, *ne;
-@@ -5798,6 +6532,9 @@ static void __nft_release_afinfo(struct
+@@ -5800,6 +6534,9 @@ static void __nft_release_afinfo(struct
        list_for_each_entry_safe(table, nt, &afi->tables, list) {
                list_for_each_entry(chain, &table->chains, list)
                        nf_tables_unregister_hook(net, table, chain);
@@ -1048,7 +1048,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                /* No packets are walking on these chains anymore. */
                ctx.table = table;
                list_for_each_entry(chain, &table->chains, list) {
-@@ -5808,6 +6545,11 @@ static void __nft_release_afinfo(struct
+@@ -5810,6 +6547,11 @@ static void __nft_release_afinfo(struct
                                nf_tables_rule_destroy(&ctx, rule);
                        }
                }
@@ -1060,7 +1060,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                list_for_each_entry_safe(set, ns, &table->sets, list) {
                        list_del(&set->list);
                        table->use--;
-@@ -5851,6 +6593,8 @@ static int __init nf_tables_module_init(
+@@ -5853,6 +6595,8 @@ static int __init nf_tables_module_init(
        if (err < 0)
                goto err3;
  
@@ -1069,7 +1069,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        pr_info("nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>\n");
        return register_pernet_subsys(&nf_tables_net_ops);
  err3:
-@@ -5865,6 +6609,7 @@ static void __exit nf_tables_module_exit
+@@ -5867,6 +6611,7 @@ static void __exit nf_tables_module_exit
  {
        unregister_pernet_subsys(&nf_tables_net_ops);
        nfnetlink_subsys_unregister(&nf_tables_subsys);
index 344671961a791ec192a3d8a0465751ebd8d9e85d..ac38477ca6f2562fceb7b85edc051f7fefe61c62 100644 (file)
@@ -82,7 +82,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        hook->priority = ntohl(nla_get_be32(ha[NFTA_HOOK_PRIORITY]));
  
        type = chain_type[afi->family][NFT_CHAIN_T_DEFAULT];
-@@ -4917,7 +4914,7 @@ static int nf_tables_flowtable_parse_hoo
+@@ -4919,7 +4916,7 @@ static int nf_tables_flowtable_parse_hoo
                return -EINVAL;
  
        hooknum = ntohl(nla_get_be32(tb[NFTA_FLOWTABLE_HOOK_NUM]));
index b5c1b19a593b1ce1c201c0b2e80ec303d07f9222..dc62dd37a72aa1e90a4235cd70c4606493a8c7a9 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -5341,7 +5341,7 @@ static int nf_tables_getflowtable(struct
+@@ -5343,7 +5343,7 @@ static int nf_tables_getflowtable(struct
  
        flowtable = nf_tables_flowtable_lookup(table, nla[NFTA_FLOWTABLE_NAME],
                                               genmask);
index a9f13c45dff219d83e1160af435c79407849714f..2b7260c53d246d0b53d636bf8d33ec390bf8e1bc 100644 (file)
@@ -62,7 +62,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                if (ret >= 0) {
                        ctx->table->flags &= ~NFT_TABLE_F_DORMANT;
                        nft_trans_table_enable(trans) = true;
-@@ -5719,7 +5712,6 @@ static int nf_tables_commit(struct net *
+@@ -5721,7 +5714,6 @@ static int nf_tables_commit(struct net *
                        if (nft_trans_table_update(trans)) {
                                if (!nft_trans_table_enable(trans)) {
                                        nf_tables_table_disable(net,
@@ -70,7 +70,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                                                                trans->ctx.table);
                                        trans->ctx.table->flags |= NFT_TABLE_F_DORMANT;
                                }
-@@ -5881,7 +5873,6 @@ static int nf_tables_abort(struct net *n
+@@ -5883,7 +5875,6 @@ static int nf_tables_abort(struct net *n
                        if (nft_trans_table_update(trans)) {
                                if (nft_trans_table_enable(trans)) {
                                        nf_tables_table_disable(net,
diff --git a/target/linux/generic/backport-4.14/333-netfilter-nf_tables-fix-chain-filter-in-nf_tables_du.patch b/target/linux/generic/backport-4.14/333-netfilter-nf_tables-fix-chain-filter-in-nf_tables_du.patch
deleted file mode 100644 (file)
index a123d23..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Pablo Neira Ayuso <pablo@netfilter.org>
-Date: Tue, 19 Dec 2017 12:01:21 +0100
-Subject: [PATCH] netfilter: nf_tables: fix chain filter in
- nf_tables_dump_rules()
-
-ctx->chain may be null now that we have very large object names,
-so we cannot check for ctx->chain[0] here.
-
-Fixes: b7263e071aba7 ("netfilter: nf_tables: Allow table names of up to 255 chars")
-Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-Acked-by: Phil Sutter <phil@nwl.cc>
----
-
---- a/net/netfilter/nf_tables_api.c
-+++ b/net/netfilter/nf_tables_api.c
-@@ -2090,7 +2090,7 @@ static int nf_tables_dump_rules(struct s
-                               continue;
-                       list_for_each_entry_rcu(chain, &table->chains, list) {
--                              if (ctx && ctx->chain[0] &&
-+                              if (ctx && ctx->chain &&
-                                   strcmp(ctx->chain, chain->name) != 0)
-                                       continue;
index 57e9b53301d7ea5758775824046665bf1ba21710..59c419e0031d74f514fe2be4b0961cf641041e60 100644 (file)
@@ -15,9 +15,9 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -4614,8 +4614,10 @@ static int nf_tables_dump_obj_done(struc
- {
-       struct nft_obj_filter *filter = cb->data;
+@@ -5262,8 +5262,10 @@ static int nf_tables_dump_flowtable_done
+       if (!filter)
+               return 0;
  
 -      kfree(filter->table);
 -      kfree(filter);
index b090935cdf4df7714073398f3ce89eef571fdc71..6fedd00eb0d58905e999bb7d83ef173eadd112b2 100644 (file)
@@ -1107,7 +1107,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                }
        }
  done:
-@@ -5328,7 +5314,8 @@ static int nf_tables_getflowtable(struct
+@@ -5330,7 +5316,8 @@ static int nf_tables_getflowtable(struct
        if (IS_ERR(afi))
                return PTR_ERR(afi);
  
@@ -1117,7 +1117,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        if (IS_ERR(table))
                return PTR_ERR(table);
  
-@@ -5371,7 +5358,7 @@ static void nf_tables_flowtable_notify(s
+@@ -5373,7 +5360,7 @@ static void nf_tables_flowtable_notify(s
  
        err = nf_tables_fill_flowtable_info(skb, ctx->net, ctx->portid,
                                            ctx->seq, event, 0,
@@ -1126,7 +1126,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        if (err < 0) {
                kfree_skb(skb);
                goto err;
-@@ -5449,17 +5436,14 @@ static int nf_tables_flowtable_event(str
+@@ -5451,17 +5438,14 @@ static int nf_tables_flowtable_event(str
        struct net_device *dev = netdev_notifier_info_to_dev(ptr);
        struct nft_flowtable *flowtable;
        struct nft_table *table;
@@ -1147,7 +1147,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                }
        }
        nfnl_unlock(NFNL_SUBSYS_NFTABLES);
-@@ -6478,6 +6462,7 @@ EXPORT_SYMBOL_GPL(nft_data_dump);
+@@ -6480,6 +6464,7 @@ EXPORT_SYMBOL_GPL(nft_data_dump);
  static int __net_init nf_tables_init_net(struct net *net)
  {
        INIT_LIST_HEAD(&net->nft.af_info);
@@ -1155,7 +1155,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        INIT_LIST_HEAD(&net->nft.commit_list);
        net->nft.base_seq = 1;
        return 0;
-@@ -6514,10 +6499,10 @@ static void __nft_release_afinfo(struct
+@@ -6516,10 +6501,10 @@ static void __nft_release_afinfo(struct
        struct nft_set *set, *ns;
        struct nft_ctx ctx = {
                .net    = net,
index 45dfec1f002775f458ffc67d8f5413fda04997c0..8a2dbd8d5ef338e7be4e916d92b0d3e7aecf31a6 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  static struct pernet_operations clusterip_net_ops = {
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -6468,6 +6468,12 @@ static int __net_init nf_tables_init_net
+@@ -6470,6 +6470,12 @@ static int __net_init nf_tables_init_net
        return 0;
  }
  
@@ -34,7 +34,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  int __nft_release_basechain(struct nft_ctx *ctx)
  {
        struct nft_rule *rule, *nr;
-@@ -6545,6 +6551,7 @@ static void __nft_release_afinfo(struct
+@@ -6547,6 +6553,7 @@ static void __nft_release_afinfo(struct
  
  static struct pernet_operations nf_tables_net_ops = {
        .init   = nf_tables_init_net,
index 28ce2dcf0b9053782bc833adf7b43c38a91a33cc..87f804af01e01532c35693205fc98fd8b6d61db0 100644 (file)
@@ -383,7 +383,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                }
        }
        rcu_read_unlock();
-@@ -6459,21 +6454,6 @@ int nft_data_dump(struct sk_buff *skb, i
+@@ -6461,21 +6456,6 @@ int nft_data_dump(struct sk_buff *skb, i
  }
  EXPORT_SYMBOL_GPL(nft_data_dump);
  
@@ -405,7 +405,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  int __nft_release_basechain(struct nft_ctx *ctx)
  {
        struct nft_rule *rule, *nr;
-@@ -6494,8 +6474,7 @@ int __nft_release_basechain(struct nft_c
+@@ -6496,8 +6476,7 @@ int __nft_release_basechain(struct nft_c
  }
  EXPORT_SYMBOL_GPL(__nft_release_basechain);
  
@@ -415,7 +415,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  {
        struct nft_flowtable *flowtable, *nf;
        struct nft_table *table, *nt;
-@@ -6505,10 +6484,11 @@ static void __nft_release_afinfo(struct
+@@ -6507,10 +6486,11 @@ static void __nft_release_afinfo(struct
        struct nft_set *set, *ns;
        struct nft_ctx ctx = {
                .net    = net,
@@ -428,7 +428,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                list_for_each_entry(chain, &table->chains, list)
                        nf_tables_unregister_hook(net, table, chain);
                list_for_each_entry(flowtable, &table->flowtables, list)
-@@ -6549,6 +6529,21 @@ static void __nft_release_afinfo(struct
+@@ -6551,6 +6531,21 @@ static void __nft_release_afinfo(struct
        }
  }
  
index 9e72b7b32deec5b4c45c25ea30d3edf59318e756..73cdab0be0d2c5147bd75953663aee810b5917e6 100644 (file)
@@ -1041,7 +1041,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                                goto done;
  
                        nl_dump_check_consistent(cb, nlmsg_hdr(skb));
-@@ -5279,7 +5119,6 @@ static int nf_tables_getflowtable(struct
+@@ -5281,7 +5121,6 @@ static int nf_tables_getflowtable(struct
        u8 genmask = nft_genmask_cur(net);
        int family = nfmsg->nfgen_family;
        struct nft_flowtable *flowtable;
@@ -1049,7 +1049,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        const struct nft_table *table;
        struct sk_buff *skb2;
        int err;
-@@ -5305,12 +5144,8 @@ static int nf_tables_getflowtable(struct
+@@ -5307,12 +5146,8 @@ static int nf_tables_getflowtable(struct
        if (!nla[NFTA_FLOWTABLE_NAME])
                return -EINVAL;
  
@@ -1063,7 +1063,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        if (IS_ERR(table))
                return PTR_ERR(table);
  
-@@ -6474,7 +6309,7 @@ int __nft_release_basechain(struct nft_c
+@@ -6476,7 +6311,7 @@ int __nft_release_basechain(struct nft_c
  }
  EXPORT_SYMBOL_GPL(__nft_release_basechain);
  
@@ -1072,7 +1072,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  {
        struct nft_flowtable *flowtable, *nf;
        struct nft_table *table, *nt;
-@@ -6487,7 +6322,7 @@ static void __nft_release_afinfo(struct
+@@ -6489,7 +6324,7 @@ static void __nft_release_afinfo(struct
        };
  
        list_for_each_entry_safe(table, nt, &net->nft.tables, list) {
@@ -1081,7 +1081,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
                list_for_each_entry(chain, &table->chains, list)
                        nf_tables_unregister_hook(net, table, chain);
-@@ -6539,7 +6374,7 @@ static int __net_init nf_tables_init_net
+@@ -6541,7 +6376,7 @@ static int __net_init nf_tables_init_net
  
  static void __net_exit nf_tables_exit_net(struct net *net)
  {
index 334a81474d02d53dcc10fc0ccc3c5a0a7150751b..b16eff6789b68422c075f224c502e521dbcc9d3c 100644 (file)
@@ -118,7 +118,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  };
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -5201,17 +5201,12 @@ err:
+@@ -5203,17 +5203,12 @@ err:
        nfnetlink_set_err(ctx->net, ctx->portid, NFNLGRP_NFTABLES, -ENOBUFS);
  }
  
index 75cbda6baff5daa351c04d8e8550ea226c0b1ae6..c783884f862c1eae7ef4ccf1ea7652ac0248fc16 100644 (file)
@@ -285,7 +285,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  err3:
        module_put(type->owner);
  err2:
-@@ -5325,10 +5323,8 @@ err:
+@@ -5327,10 +5325,8 @@ err:
  
  static void nf_tables_flowtable_destroy(struct nft_flowtable *flowtable)
  {
index ae911db87014b8086a7b84bb909af3d71f994fdc..e1eee003cf7d3c777a7bda2df6e163066b44f9cd 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/net/sch_generic.h
 +++ b/include/net/sch_generic.h
-@@ -369,12 +369,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
+@@ -368,12 +368,13 @@ extern struct Qdisc_ops noop_qdisc_ops;
  extern struct Qdisc_ops pfifo_fast_ops;
  extern struct Qdisc_ops mq_qdisc_ops;
  extern struct Qdisc_ops noqueue_qdisc_ops;
index e3af0a07a3163cf9e655aefaf559a6baad93e18f..62d0295173b4f601cc072340481c72d1cf54bd18 100644 (file)
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -2975,10 +2975,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -2982,10 +2982,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);
  
index 9e33a76c6d0803aab9c873347ed5cb97e3ab76c4..4f5fb7022c854e2fbfb40c5ac3706519064e3b7a 100644 (file)
@@ -393,7 +393,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/ipv4/route.c
 +++ b/net/ipv4/route.c
-@@ -424,6 +424,9 @@ static struct pernet_operations ip_rt_pr
+@@ -427,6 +427,9 @@ static struct pernet_operations ip_rt_pr
  
  static int __init ip_rt_proc_init(void)
  {
index 8668fd7e43d3146ba63d4aeb1caacb524656d668..c544f7af1d555786dcebae343ae8310b53a1af20 100644 (file)
@@ -300,7 +300,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  /**
   * ip6_tnl_addr_conflict - compare packet addresses to tunnel's own
   *   @t: the outgoing tunnel device
-@@ -1296,6 +1436,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1301,6 +1441,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
  {
        struct ip6_tnl *t = netdev_priv(dev);
        struct ipv6hdr *ipv6h = ipv6_hdr(skb);
@@ -308,7 +308,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        int encap_limit = -1;
        __u16 offset;
        struct flowi6 fl6;
-@@ -1358,6 +1499,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1363,6 +1504,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
  
        fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL);
  
@@ -327,7 +327,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
                return -1;
  
-@@ -1486,6 +1639,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
+@@ -1491,6 +1644,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
        t->parms.link = p->link;
        t->parms.proto = p->proto;
        t->parms.fwmark = p->fwmark;
@@ -342,7 +342,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        dst_cache_reset(&t->dst_cache);
        ip6_tnl_link_config(t);
        return 0;
-@@ -1524,6 +1685,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
+@@ -1529,6 +1690,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
        p->flowinfo = u->flowinfo;
        p->link = u->link;
        p->proto = u->proto;
@@ -350,7 +350,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        memcpy(p->name, u->name, sizeof(u->name));
  }
  
-@@ -1905,6 +2067,15 @@ static int ip6_tnl_validate(struct nlatt
+@@ -1910,6 +2072,15 @@ static int ip6_tnl_validate(struct nlatt
        return 0;
  }
  
@@ -366,7 +366,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  static void ip6_tnl_netlink_parms(struct nlattr *data[],
                                  struct __ip6_tnl_parm *parms)
  {
-@@ -1942,6 +2113,46 @@ static void ip6_tnl_netlink_parms(struct
+@@ -1947,6 +2118,46 @@ static void ip6_tnl_netlink_parms(struct
  
        if (data[IFLA_IPTUN_FWMARK])
                parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
@@ -413,7 +413,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  }
  
  static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[],
-@@ -2053,6 +2264,12 @@ static void ip6_tnl_dellink(struct net_d
+@@ -2058,6 +2269,12 @@ static void ip6_tnl_dellink(struct net_d
  
  static size_t ip6_tnl_get_size(const struct net_device *dev)
  {
@@ -426,7 +426,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        return
                /* IFLA_IPTUN_LINK */
                nla_total_size(4) +
-@@ -2082,6 +2299,24 @@ static size_t ip6_tnl_get_size(const str
+@@ -2087,6 +2304,24 @@ static size_t ip6_tnl_get_size(const str
                nla_total_size(0) +
                /* IFLA_IPTUN_FWMARK */
                nla_total_size(4) +
@@ -451,7 +451,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
                0;
  }
  
-@@ -2089,6 +2324,9 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2094,6 +2329,9 @@ static int ip6_tnl_fill_info(struct sk_b
  {
        struct ip6_tnl *tunnel = netdev_priv(dev);
        struct __ip6_tnl_parm *parm = &tunnel->parms;
@@ -461,7 +461,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  
        if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
            nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
-@@ -2098,9 +2336,27 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2103,9 +2341,27 @@ static int ip6_tnl_fill_info(struct sk_b
            nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
            nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
            nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
@@ -490,7 +490,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
            nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
            nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
-@@ -2140,6 +2396,7 @@ static const struct nla_policy ip6_tnl_p
+@@ -2145,6 +2401,7 @@ static const struct nla_policy ip6_tnl_p
        [IFLA_IPTUN_ENCAP_DPORT]        = { .type = NLA_U16 },
        [IFLA_IPTUN_COLLECT_METADATA]   = { .type = NLA_FLAG },
        [IFLA_IPTUN_FWMARK]             = { .type = NLA_U32 },
index 9a088c461a1b6dc50a2ed80bfa14534999d7b35e..39346886efc9aa73e150c010a37d8086cc2eeba5 100644 (file)
@@ -141,7 +141,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static const struct rt6_info ip6_blk_hole_entry_template = {
        .dst = {
                .__refcnt       = ATOMIC_INIT(1),
-@@ -2037,6 +2054,11 @@ static struct rt6_info *ip6_route_info_c
+@@ -2038,6 +2055,11 @@ static struct rt6_info *ip6_route_info_c
                        rt->dst.output = ip6_pkt_prohibit_out;
                        rt->dst.input = ip6_pkt_prohibit;
                        break;
@@ -153,7 +153,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                case RTN_THROW:
                case RTN_UNREACHABLE:
                default:
-@@ -2762,6 +2784,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -2763,6 +2785,17 @@ static int ip6_pkt_prohibit_out(struct n
        return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  
@@ -171,7 +171,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  /*
   *    Allocate a dst for local (unicast / anycast) address.
   */
-@@ -2996,7 +3029,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -2997,7 +3030,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 ||
@@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        if (rtm->rtm_type == RTN_LOCAL)
-@@ -3486,6 +3520,9 @@ static int rt6_fill_node(struct net *net
+@@ -3487,6 +3521,9 @@ static int rt6_fill_node(struct net *net
                case -EACCES:
                        rtm->rtm_type = RTN_PROHIBIT;
                        break;
@@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                case -EAGAIN:
                        rtm->rtm_type = RTN_THROW;
                        break;
-@@ -3804,6 +3841,8 @@ static int ip6_route_dev_notify(struct n
+@@ -3805,6 +3842,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);
@@ -200,7 +200,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
-@@ -4031,6 +4070,17 @@ static int __net_init ip6_route_net_init
+@@ -4032,6 +4071,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);
@@ -218,7 +218,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
  
        net->ipv6.sysctl.flush_delay = 0;
-@@ -4049,6 +4099,8 @@ out:
+@@ -4050,6 +4100,8 @@ out:
        return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -227,7 +227,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
        kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -4066,6 +4118,7 @@ static void __net_exit ip6_route_net_exi
+@@ -4067,6 +4119,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);
@@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
        dst_entries_destroy(&net->ipv6.ip6_dst_ops);
  }
-@@ -4139,6 +4192,9 @@ void __init ip6_route_init_special_entri
+@@ -4140,6 +4193,9 @@ void __init ip6_route_init_special_entri
        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);
index 34bd452500a51a2d822feadc9ff714b36b173f59..4fd89788355662370cb4fe86f1de24729034f724 100644 (file)
@@ -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
-@@ -4768,6 +4768,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4775,6 +4775,9 @@ static enum gro_result dev_gro_receive(s
        enum gro_result ret;
        int grow;
  
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (netif_elide_gro(skb->dev))
                goto normal;
  
-@@ -6238,6 +6241,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -6245,6 +6248,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)
-@@ -6276,6 +6321,7 @@ static int __netdev_upper_dev_link(struc
+@@ -6283,6 +6328,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, dev,
                                            &changeupper_info.info);
        ret = notifier_to_errno(ret);
-@@ -6353,6 +6399,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -6360,6 +6406,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, dev,
                                      &changeupper_info.info);
  }
-@@ -6923,6 +6970,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6930,6 +6977,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
index 07f8206ead98bd7c6a67b396e72e8af9d6383b9f..72a2ece464bcc63d1c3cb90093f65167d90afd83 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
  
        mapped_addr = dma_map_single(eth->dev, skb->data,
                                     skb_headlen(skb), DMA_TO_DEVICE);
-@@ -1979,7 +1979,10 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -1980,7 +1980,10 @@ static int mtk_hw_init(struct mtk_eth *e
        mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL);
  
        /* Enable RX VLan Offloading */
index 7542a55148cfa083be3a35e8385fffbe893cb92d..a658a572fc22309a8cb183cf3e3e06eed88a9c01 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1983,6 +1983,8 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -1984,6 +1984,8 @@ static int mtk_hw_init(struct mtk_eth *e
         */
        val = mtk_r32(eth, MTK_CDMQ_IG_CTRL);
        mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL);
index 531c426f9dbf920a7aff45c1c3ef85f5bcff2330..3ace7265c6ca159871380b61261d90851c70ef65 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1994,6 +1994,7 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -1995,6 +1995,7 @@ static int mtk_hw_init(struct mtk_eth *e
  
        /* enable interrupt delay for RX */
        mtk_w32(eth, MTK_PDMA_DELAY_RX_DELAY, MTK_PDMA_DELAY_INT);
index 673df45a63ba048198ad9c9f65a692278a1e0e55..a3f4fe8060fe71a2f01fdb12804e62c874537664 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3621,6 +3621,58 @@ set_rps_cpu(struct net_device *dev, stru
+@@ -3628,6 +3628,58 @@ set_rps_cpu(struct net_device *dev, stru
        return rflow;
  }
  
@@ -69,7 +69,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
  /*
   * get_rps_cpu is called from netif_receive_skb and returns the target
   * CPU from the RPS map of the receiving queue for a given skb.
-@@ -3710,7 +3762,7 @@ static int get_rps_cpu(struct net_device
+@@ -3717,7 +3769,7 @@ static int get_rps_cpu(struct net_device
  try_rps:
  
        if (map) {
@@ -78,7 +78,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
                if (cpu_online(tcpu)) {
                        cpu = tcpu;
                        goto done;
-@@ -8795,6 +8847,9 @@ static int __init net_dev_init(void)
+@@ -8802,6 +8854,9 @@ static int __init net_dev_init(void)
                sd->backlog.weight = weight_p;
        }
  
index 2efab3f7d592494cefdcf20960162571ab9029b6..f4c0fce56686e91ee7b16b534c665ccaf0548b7d 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 
 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
 +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2453,7 +2453,7 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -2454,7 +2454,7 @@ static int mtk_add_mac(struct mtk_eth *e
        mac->hw_stats->reg_offset = id * MTK_STAT_OFFSET;
  
        SET_NETDEV_DEV(eth->netdev[id], eth->dev);