kernel: Bump to 4.14.273
authorRISCi_ATOM <bob@bobcall.me>
Mon, 28 Mar 2022 16:55:36 +0000 (12:55 -0400)
committerRISCi_ATOM <bob@bobcall.me>
Mon, 28 Mar 2022 16:55:36 +0000 (12:55 -0400)
30 files changed:
include/kernel-version.mk
target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch
target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch
target/linux/generic/backport-4.14/290-v4.16-netfilter-core-make-nf_unregister_net_hooks-simple-w.patch
target/linux/generic/backport-4.14/291-v4.16-netfilter-core-remove-synchronize_net-call-if-nfqueu.patch
target/linux/generic/backport-4.14/292-v4.16-netfilter-core-free-hooks-with-call_rcu.patch
target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch
target/linux/generic/backport-4.14/294-v4.16-netfilter-reduce-hook-array-sizes-to-what-is-needed.patch
target/linux/generic/backport-4.14/295-v4.16-netfilter-don-t-allocate-space-for-decnet-hooks-unle.patch
target/linux/generic/backport-4.14/296-v4.16-netfilter-don-t-allocate-space-for-arp-bridge-hooks-.patch
target/linux/generic/backport-4.14/297-v4.16-netfilter-core-pass-hook-number-family-and-device-to.patch
target/linux/generic/backport-4.14/298-v4.16-netfilter-core-add-nf_remove_net_hook.patch
target/linux/generic/backport-4.14/298-v4.16-netfilter-core-pass-family-as-parameter-to-nf_remove.patch
target/linux/generic/backport-4.14/299-v4.16-netfilter-core-support-for-NFPROTO_INET-hook-registr.patch
target/linux/generic/backport-4.14/306-v4.16-netfilter-remove-saveroute-indirection-in-struct-nf_.patch
target/linux/generic/backport-4.14/308-v4.16-netfilter-move-reroute-indirection-to-struct-nf_ipv6.patch
target/linux/generic/backport-4.14/309-v4.16-netfilter-remove-route_key_size-field-in-struct-nf_a.patch
target/linux/generic/backport-4.14/336-v4.15-netfilter-exit_net-cleanup-check-added.patch
target/linux/generic/config-4.14
target/linux/generic/hack-4.14/204-module_strip.patch
target/linux/generic/hack-4.14/220-gc_sections.patch
target/linux/generic/hack-4.14/251-sound_kconfig.patch
target/linux/generic/hack-4.14/902-debloat_proc.patch
target/linux/generic/hack-4.14/930-crashlog.patch
target/linux/generic/pending-4.14/530-jffs2_make_lzma_available.patch
target/linux/generic/pending-4.14/630-packet_socket_type.patch
target/linux/generic/pending-4.14/644-net-pppoe-support-hardware-flow-table-offload.patch
target/linux/generic/pending-4.14/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-4.14/834-ledtrig-libata.patch
target/linux/generic/pending-4.14/920-mangle_bootargs.patch

index 042c78c4651fe73ece44a6de63a1de228b4249ed..b8efdeb9907057ea2a8c154b12b8e2ccd74302f8 100644 (file)
@@ -6,10 +6,10 @@ ifdef CONFIG_TESTING_KERNEL
   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 endif
 
-LINUX_VERSION-4.14 = .261
+LINUX_VERSION-4.14 = .273
 LIBRE_REV = 1
 
-LINUX_KERNEL_HASH-4.14.261 = 29f9da9adeb87a17183ea547985adf4b5ecde6bf57c918792bc8d14a6afbeb7d
+LINUX_KERNEL_HASH-4.14.273 = 100ac3b4b0023c2e7f4e47234497ab96c8188e0a563805aede5afc7326e496db
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
index 16ccda9132dcf953967319bfab614d450c400520..9689cbe16705acd4c41d3151eb4b6bc3e28f9733 100644 (file)
  #endif /* _LINUX_TYPES_H */
 --- a/net/ipv4/af_inet.c
 +++ b/net/ipv4/af_inet.c
-@@ -1352,8 +1352,8 @@ struct sk_buff **inet_gro_receive(struct
+@@ -1355,8 +1355,8 @@ struct sk_buff **inet_gro_receive(struct
        if (unlikely(ip_fast_csum((u8 *)iph, 5)))
                goto out_unlock;
  
                        goto next_ht;
 --- a/net/ipv6/ip6_offload.c
 +++ b/net/ipv6/ip6_offload.c
-@@ -221,7 +221,7 @@ static struct sk_buff **ipv6_gro_receive
+@@ -223,7 +223,7 @@ static struct sk_buff **ipv6_gro_receive
                        continue;
  
                iph2 = (struct ipv6hdr *)(p->data + off);
index f296e448e898ac8cf200db8bdb4d4a1373775e66..0470f7578ec23ed3b71f8ee56e513b931f47862b 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold <johan@kernel.org>
 
 --- a/drivers/usb/serial/option.c
 +++ b/drivers/usb/serial/option.c
-@@ -2058,7 +2058,8 @@ static const struct usb_device_id option
+@@ -2072,7 +2072,8 @@ static const struct usb_device_id option
        { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) },                   /* D-Link DWM-156 (variant) */
        { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) },
        { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
index 35800c4acf54a1d1d374d3c4c5e1e5a01e0713b2..0d8bd4c1764d2165e1bab684e74f0392d81353eb 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 
 --- a/net/netfilter/core.c
 +++ b/net/netfilter/core.c
-@@ -395,63 +395,10 @@ EXPORT_SYMBOL(nf_register_net_hooks);
+@@ -396,63 +396,10 @@ EXPORT_SYMBOL(nf_register_net_hooks);
  void nf_unregister_net_hooks(struct net *net, const struct nf_hook_ops *reg,
                             unsigned int hookcount)
  {
index cbaaaa619a4b456983f13eebfd2c58c590760652..305a58c12071de7b748d8c44b5a3554ee6ea7acc 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  void nf_register_queue_handler(struct net *net, const struct nf_queue_handler *qh);
 --- a/net/netfilter/core.c
 +++ b/net/netfilter/core.c
-@@ -341,7 +341,6 @@ void nf_unregister_net_hook(struct net *
+@@ -342,7 +342,6 @@ void nf_unregister_net_hook(struct net *
  {
        struct nf_hook_entries __rcu **pp;
        struct nf_hook_entries *p;
@@ -40,7 +40,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
        pp = nf_hook_entry_head(net, reg);
        if (!pp)
-@@ -364,10 +363,7 @@ void nf_unregister_net_hook(struct net *
+@@ -365,10 +364,7 @@ void nf_unregister_net_hook(struct net *
  
        synchronize_net();
  
@@ -65,7 +65,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  int __init netfilter_log_init(void);
 --- a/net/netfilter/nf_queue.c
 +++ b/net/netfilter/nf_queue.c
-@@ -96,18 +96,15 @@ void nf_queue_entry_get_refs(struct nf_q
+@@ -109,18 +109,15 @@ bool nf_queue_entry_get_refs(struct nf_q
  }
  EXPORT_SYMBOL_GPL(nf_queue_entry_get_refs);
  
@@ -88,7 +88,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
 --- a/net/netfilter/nfnetlink_queue.c
 +++ b/net/netfilter/nfnetlink_queue.c
-@@ -942,23 +942,18 @@ static struct notifier_block nfqnl_dev_n
+@@ -948,23 +948,18 @@ static struct notifier_block nfqnl_dev_n
        .notifier_call  = nfqnl_rcv_dev_event,
  };
  
index 5eca73552b2e1dc88ff8173f7927cd190390d6c2..500b4409af6a7239571deaeec28ac472a6a9ff13 100644 (file)
@@ -107,7 +107,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  static unsigned int accept_all(void *priv,
                               struct sk_buff *skb,
                               const struct nf_hook_state *state)
-@@ -291,9 +316,8 @@ int nf_register_net_hook(struct net *net
+@@ -292,9 +317,8 @@ int nf_register_net_hook(struct net *net
  #ifdef HAVE_JUMP_LABEL
        static_key_slow_inc(&nf_hooks_needed[reg->pf][reg->hooknum]);
  #endif
@@ -118,7 +118,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        return 0;
  }
  EXPORT_SYMBOL(nf_register_net_hook);
-@@ -361,10 +385,8 @@ void nf_unregister_net_hook(struct net *
+@@ -362,10 +386,8 @@ void nf_unregister_net_hook(struct net *
        if (!p)
                return;
  
index ed532a0ee03f45151c5f27af24d6911630e8099f..eaa4feca2c42d8c07f7636856deb48d4613f1e55 100644 (file)
@@ -92,7 +92,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  #endif
 --- a/net/bridge/br_netfilter_hooks.c
 +++ b/net/bridge/br_netfilter_hooks.c
-@@ -994,7 +994,7 @@ int br_nf_hook_thresh(unsigned int hook,
+@@ -993,7 +993,7 @@ int br_nf_hook_thresh(unsigned int hook,
        unsigned int i;
        int ret;
  
@@ -129,7 +129,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
  #ifdef CONFIG_NETFILTER_INGRESS
        if (reg->hooknum == NF_NETDEV_INGRESS) {
-@@ -534,14 +549,21 @@ void (*nf_nat_decode_session_hook)(struc
+@@ -535,14 +550,21 @@ void (*nf_nat_decode_session_hook)(struc
  EXPORT_SYMBOL(nf_nat_decode_session_hook);
  #endif
  
@@ -159,7 +159,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        net->nf.proc_netfilter = proc_net_mkdir(net, "netfilter",
 --- a/net/netfilter/nf_queue.c
 +++ b/net/netfilter/nf_queue.c
-@@ -206,6 +206,23 @@ repeat:
+@@ -223,6 +223,23 @@ repeat:
        return NF_ACCEPT;
  }
  
@@ -183,7 +183,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  /* Caller must hold rcu read-side lock */
  void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict)
  {
-@@ -221,12 +238,12 @@ void nf_reinject(struct nf_queue_entry *
+@@ -238,12 +255,12 @@ void nf_reinject(struct nf_queue_entry *
        net = entry->state.net;
        pf = entry->state.pf;
  
index d9009b8e1f401923b8cf988830f39f3c5a2f80fa..2a9a6d94c563d93c562919429e6ecb576f082260 100644 (file)
@@ -64,7 +64,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
                return net->nf.hooks_decnet + reg->hooknum;
        default:
                WARN_ON_ONCE(1);
-@@ -549,21 +559,21 @@ void (*nf_nat_decode_session_hook)(struc
+@@ -550,21 +560,21 @@ void (*nf_nat_decode_session_hook)(struc
  EXPORT_SYMBOL(nf_nat_decode_session_hook);
  #endif
  
index 26a93c40ae293e7ac2ecc9c377170115e0d352bd..0019802f2cea64d485d044e089eb84d64f97c4b6 100644 (file)
@@ -55,7 +55,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        default:
                WARN_ON_ONCE(1);
                return NULL;
-@@ -573,7 +575,9 @@ static int __net_init netfilter_net_init
+@@ -574,7 +576,9 @@ static int __net_init netfilter_net_init
        __netfilter_net_init(net->nf.hooks_ipv6, ARRAY_SIZE(net->nf.hooks_ipv6));
        __netfilter_net_init(net->nf.hooks_arp, ARRAY_SIZE(net->nf.hooks_arp));
        __netfilter_net_init(net->nf.hooks_bridge, ARRAY_SIZE(net->nf.hooks_bridge));
index 41675c3494d954b472fd53f06de6643507c6c7d0..9e55dabdc968605496cb6478c08f24f6fec725f1 100644 (file)
@@ -137,7 +137,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        case NFPROTO_IPV4:
                if (WARN_ON_ONCE(ARRAY_SIZE(net->nf.hooks_ipv4) <= reg->hooknum))
                        return NULL;
-@@ -573,8 +577,12 @@ static int __net_init netfilter_net_init
+@@ -574,8 +578,12 @@ static int __net_init netfilter_net_init
  {
        __netfilter_net_init(net->nf.hooks_ipv4, ARRAY_SIZE(net->nf.hooks_ipv4));
        __netfilter_net_init(net->nf.hooks_ipv6, ARRAY_SIZE(net->nf.hooks_ipv6));
@@ -152,7 +152,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  #endif
 --- a/net/netfilter/nf_queue.c
 +++ b/net/netfilter/nf_queue.c
-@@ -209,8 +209,10 @@ repeat:
+@@ -226,8 +226,10 @@ repeat:
  static struct nf_hook_entries *nf_hook_entries_head(const struct net *net, u8 pf, u8 hooknum)
  {
        switch (pf) {
index 7d450f95f0c86c5c10f2c409053f005951f4507c..55bc7ec1e80521724bdfd9746c8fd4eab4274ae4 100644 (file)
@@ -87,7 +87,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        if (!pp)
                return -EINVAL;
  
-@@ -397,7 +399,7 @@ void nf_unregister_net_hook(struct net *
+@@ -398,7 +400,7 @@ void nf_unregister_net_hook(struct net *
        struct nf_hook_entries __rcu **pp;
        struct nf_hook_entries *p;
  
index 8fea44b35999baf376ede061c14e8fef2afe06b8..30d5c5843b557c232c73636bdfa0b48a8c44eb16 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 
 --- a/net/netfilter/core.c
 +++ b/net/netfilter/core.c
-@@ -356,7 +356,7 @@ int nf_register_net_hook(struct net *net
+@@ -357,7 +357,7 @@ int nf_register_net_hook(struct net *net
  EXPORT_SYMBOL(nf_register_net_hook);
  
  /*
@@ -22,7 +22,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
   *
   * @oldp: current address of hook blob
   * @unreg: hook to unregister
-@@ -364,8 +364,8 @@ EXPORT_SYMBOL(nf_register_net_hook);
+@@ -365,8 +365,8 @@ EXPORT_SYMBOL(nf_register_net_hook);
   * This cannot fail, hook unregistration must always succeed.
   * Therefore replace the to-be-removed hook with a dummy hook.
   */
@@ -33,7 +33,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  {
        struct nf_hook_ops **orig_ops;
        bool found = false;
-@@ -411,7 +411,7 @@ void nf_unregister_net_hook(struct net *
+@@ -412,7 +412,7 @@ void nf_unregister_net_hook(struct net *
                return;
        }
  
index 4c52635c13f0fc31578db18b71ee7569a3670903..49e856b70eac697b3267e62fab441a4fbe0bd9b9 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 
 --- a/net/netfilter/core.c
 +++ b/net/netfilter/core.c
-@@ -365,7 +365,7 @@ EXPORT_SYMBOL(nf_register_net_hook);
+@@ -366,7 +366,7 @@ EXPORT_SYMBOL(nf_register_net_hook);
   * Therefore replace the to-be-removed hook with a dummy hook.
   */
  static void nf_remove_net_hook(struct nf_hook_entries *old,
@@ -22,7 +22,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  {
        struct nf_hook_ops **orig_ops;
        bool found = false;
-@@ -383,14 +383,14 @@ static void nf_remove_net_hook(struct nf
+@@ -384,14 +384,14 @@ static void nf_remove_net_hook(struct nf
  
        if (found) {
  #ifdef CONFIG_NETFILTER_INGRESS
@@ -40,7 +40,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        }
  }
  
-@@ -411,7 +411,7 @@ void nf_unregister_net_hook(struct net *
+@@ -412,7 +412,7 @@ void nf_unregister_net_hook(struct net *
                return;
        }
  
index b112855132d4a5dbf8cfd784bbd08546bdd2a61e..722ba9d4aa3f16989a88c1e54754743889bf6936 100644 (file)
@@ -39,9 +39,9 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        if (!pp)
                return -EINVAL;
  
-@@ -343,17 +344,16 @@ int nf_register_net_hook(struct net *net
+@@ -344,17 +345,16 @@ int nf_register_net_hook(struct net *net
+               return PTR_ERR(new_hooks);
  
-       hooks_validate(new_hooks);
  #ifdef CONFIG_NETFILTER_INGRESS
 -      if (reg->pf == NFPROTO_NETDEV && reg->hooknum == NF_NETDEV_INGRESS)
 +      if (pf == NFPROTO_NETDEV && reg->hooknum == NF_NETDEV_INGRESS)
@@ -59,7 +59,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
  /*
   * nf_remove_net_hook - remove a hook from blob
-@@ -394,12 +394,13 @@ static void nf_remove_net_hook(struct nf
+@@ -395,12 +395,13 @@ static void nf_remove_net_hook(struct nf
        }
  }
  
@@ -75,7 +75,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        if (!pp)
                return;
  
-@@ -411,7 +412,7 @@ void nf_unregister_net_hook(struct net *
+@@ -412,7 +413,7 @@ void nf_unregister_net_hook(struct net *
                return;
        }
  
@@ -84,7 +84,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
        p = __nf_hook_entries_try_shrink(pp);
        mutex_unlock(&nf_hook_mutex);
-@@ -421,8 +422,42 @@ void nf_unregister_net_hook(struct net *
+@@ -422,8 +423,42 @@ void nf_unregister_net_hook(struct net *
        nf_queue_nf_hook_drop(net);
        nf_hook_entries_free(p);
  }
index 943b3eed305465d96df9522a2549870f2f2f94ca..c699c3aae3074803baf39fb26f4177064f77ac47 100644 (file)
@@ -176,7 +176,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  #include <linux/netfilter_bridge.h>
  #include <linux/seq_file.h>
  #include <linux/rcupdate.h>
-@@ -108,6 +110,35 @@ void nf_queue_nf_hook_drop(struct net *n
+@@ -121,6 +123,35 @@ void nf_queue_nf_hook_drop(struct net *n
  }
  EXPORT_SYMBOL_GPL(nf_queue_nf_hook_drop);
  
@@ -212,12 +212,11 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  static int __nf_queue(struct sk_buff *skb, const struct nf_hook_state *state,
                      const struct nf_hook_entries *entries,
                      unsigned int index, unsigned int queuenum)
-@@ -148,7 +179,16 @@ static int __nf_queue(struct sk_buff *sk
-       };
+@@ -165,7 +196,15 @@ static int __nf_queue(struct sk_buff *sk
+               return -ENOTCONN;
+       }
  
-       nf_queue_entry_get_refs(entry);
 -      afinfo->saveroute(skb, entry);
-+
 +      switch (entry->state.pf) {
 +      case AF_INET:
 +              nf_ip_saveroute(skb, entry);
index 810f57ca19c01e7f1c0e77deecd8b245e6691856..83c90ed893253a7d939ba5cec0f983190ad56987 100644 (file)
@@ -171,7 +171,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
 --- a/net/netfilter/nf_queue.c
 +++ b/net/netfilter/nf_queue.c
-@@ -271,7 +271,6 @@ void nf_reinject(struct nf_queue_entry *
+@@ -287,7 +287,6 @@ void nf_reinject(struct nf_queue_entry *
        const struct nf_hook_entry *hook_entry;
        const struct nf_hook_entries *hooks;
        struct sk_buff *skb = entry->skb;
@@ -179,7 +179,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        const struct net *net;
        unsigned int i;
        int err;
-@@ -298,8 +297,7 @@ void nf_reinject(struct nf_queue_entry *
+@@ -314,8 +313,7 @@ void nf_reinject(struct nf_queue_entry *
                verdict = nf_hook_entry_hookfn(hook_entry, skb, &entry->state);
  
        if (verdict == NF_ACCEPT) {
index 20820e40ca2ce86b29d4186e5dbb9681ef15385d..9911416c3920d7cc2eb82b95e16140128af2168d 100644 (file)
@@ -48,7 +48,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  #include <net/protocol.h>
  #include <net/netfilter/nf_queue.h>
  #include <net/dst.h>
-@@ -145,9 +147,9 @@ static int __nf_queue(struct sk_buff *sk
+@@ -158,9 +160,9 @@ static int __nf_queue(struct sk_buff *sk
  {
        int status = -ENOENT;
        struct nf_queue_entry *entry = NULL;
@@ -59,7 +59,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  
        /* QUEUE == DROP if no one is waiting, to be safe. */
        qh = rcu_dereference(net->nf.queue_handler);
-@@ -156,11 +158,19 @@ static int __nf_queue(struct sk_buff *sk
+@@ -169,11 +171,19 @@ static int __nf_queue(struct sk_buff *sk
                goto err;
        }
  
@@ -83,7 +83,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
        if (!entry) {
                status = -ENOMEM;
                goto err;
-@@ -175,7 +185,7 @@ static int __nf_queue(struct sk_buff *sk
+@@ -188,7 +198,7 @@ static int __nf_queue(struct sk_buff *sk
                .skb    = skb,
                .state  = *state,
                .hook_index = index,
@@ -91,4 +91,4 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 +              .size   = sizeof(*entry) + route_key_size,
        };
  
-       nf_queue_entry_get_refs(entry);
+       if (!nf_queue_entry_get_refs(entry)) {
index bd26f2d163c58dcf54f9049ed18b45b34d2839ff..698ddbc2133fac750c8dadb5a3ef2535cd34d9cb 100644 (file)
@@ -62,7 +62,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  static struct pernet_operations nfnl_log_net_ops = {
 --- a/net/netfilter/nfnetlink_queue.c
 +++ b/net/netfilter/nfnetlink_queue.c
-@@ -1511,10 +1511,15 @@ static int __net_init nfnl_queue_net_ini
+@@ -1517,10 +1517,15 @@ static int __net_init nfnl_queue_net_ini
  
  static void __net_exit nfnl_queue_net_exit(struct net *net)
  {
index b39b70208f045eab8342003d35f5dcf56c8043e9..fe062649541b6b4d39ba0f6b05773736c28d6ca6 100644 (file)
@@ -95,6 +95,7 @@ CONFIG_32BIT=y
 # CONFIG_ADM8211 is not set
 # CONFIG_ADT7316 is not set
 CONFIG_ADVISE_SYSCALLS=y
+# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
 # CONFIG_ADXL345_I2C is not set
 # CONFIG_ADXL345_SPI is not set
 # CONFIG_ADXRS450 is not set
index a8619edbfc377a1368221c7d4c012a5eb5f5288a..d6f7d9fa678e7c9a78a32a28bba835ef155b7f8e 100644 (file)
@@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1903,6 +1903,13 @@ config TRIM_UNUSED_KSYMS
+@@ -1913,6 +1913,13 @@ config TRIM_UNUSED_KSYMS
  
          If unsure, or if you need to build out-of-tree modules, say N.
  
index 2605d7f78f36ee8caa5db3d1e59fe399355c8eed..cf493a2574424dd499d142f5563dd9bd0f1cf92f 100644 (file)
@@ -67,7 +67,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  # but it is being used too early to link to meaningful stack_chk logic.
 --- a/arch/arm/kernel/vmlinux.lds.S
 +++ b/arch/arm/kernel/vmlinux.lds.S
-@@ -18,7 +18,7 @@
+@@ -31,7 +31,7 @@
  #define PROC_INFO                                                     \
        . = ALIGN(4);                                                   \
        VMLINUX_SYMBOL(__proc_info_begin) = .;                          \
@@ -76,7 +76,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
        VMLINUX_SYMBOL(__proc_info_end) = .;
  
  #define HYPERVISOR_TEXT                                                       \
-@@ -29,11 +29,11 @@
+@@ -42,11 +42,11 @@
  #define IDMAP_TEXT                                                    \
        ALIGN_FUNCTION();                                               \
        VMLINUX_SYMBOL(__idmap_text_start) = .;                         \
@@ -90,7 +90,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
        VMLINUX_SYMBOL(__hyp_idmap_text_end) = .;
  
  #ifdef CONFIG_HOTPLUG_CPU
-@@ -106,7 +106,7 @@ SECTIONS
+@@ -119,7 +119,7 @@ SECTIONS
                _stext = .;             /* Text and read-only data      */
                        IDMAP_TEXT
                        __exception_text_start = .;
@@ -99,7 +99,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
                        __exception_text_end = .;
                        IRQENTRY_TEXT
                        SOFTIRQENTRY_TEXT
-@@ -135,7 +135,7 @@ SECTIONS
+@@ -148,7 +148,7 @@ SECTIONS
        __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) {
                __start___ex_table = .;
  #ifdef CONFIG_MMU
@@ -108,7 +108,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  #endif
                __stop___ex_table = .;
        }
-@@ -147,12 +147,12 @@ SECTIONS
+@@ -160,12 +160,12 @@ SECTIONS
        . = ALIGN(8);
        .ARM.unwind_idx : {
                __start_unwind_idx = .;
@@ -123,24 +123,33 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
                __stop_unwind_tab = .;
        }
  #endif
-@@ -172,14 +172,14 @@ SECTIONS
-        */
-       __vectors_start = .;
-       .vectors 0xffff0000 : AT(__vectors_start) {
--              *(.vectors)
-+              KEEP(*(.vectors))
+@@ -186,13 +186,13 @@ SECTIONS
+       __vectors_lma = .;
+       OVERLAY 0xffff0000 : NOCROSSREFS AT(__vectors_lma) {
+               .vectors {
+-                      *(.vectors)
++                      KEEP(*(.vectors))
+               }
+               .vectors.bhb.loop8 {
+-                      *(.vectors.bhb.loop8)
++                      KEEP(*(.vectors.bhb.loop8))
+               }
+               .vectors.bhb.bpiall {
+-                      *(.vectors.bhb.bpiall)
++                      KEEP(*(.vectors.bhb.bpiall))
+               }
        }
-       . = __vectors_start + SIZEOF(.vectors);
-       __vectors_end = .;
+       ARM_LMA(__vectors, .vectors);
+@@ -204,7 +204,7 @@ SECTIONS
  
-       __stubs_start = .;
-       .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_start) {
+       __stubs_lma = .;
+       .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_lma) {
 -              *(.stubs)
 +              KEEP(*(.stubs))
        }
-       . = __stubs_start + SIZEOF(.stubs);
-       __stubs_end = .;
-@@ -195,24 +195,24 @@ SECTIONS
+       ARM_LMA(__stubs, .stubs);
+       . = __stubs_lma + SIZEOF(.stubs);
+@@ -220,24 +220,24 @@ SECTIONS
        }
        .init.arch.info : {
                __arch_info_begin = .;
index 5bf5c01ad3acd5e972ab1c3fa4ab67090ac5f26c..883adbdc5ca1781cc2193d60a7669d326f79d283 100644 (file)
@@ -92,7 +92,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
        bool
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -358,16 +358,16 @@ config BCH_CONST_T
+@@ -357,16 +357,16 @@ config BCH_CONST_T
  # Textsearch support is select'ed if needed
  #
  config TEXTSEARCH
index 756872818f1ddadba16010a2d45bdbcd57d021e6..e6b761d3c00ec6e47bd0fe40ef49e219d639b642 100644 (file)
@@ -283,7 +283,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                goto err;
 --- a/net/core/net-procfs.c
 +++ b/net/core/net-procfs.c
-@@ -320,10 +320,12 @@ static int __net_init dev_proc_net_init(
+@@ -350,10 +350,12 @@ static int __net_init dev_proc_net_init(
  
        if (!proc_create("dev", S_IRUGO, net->proc_net, &dev_seq_fops))
                goto out;
@@ -298,7 +298,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                goto out_softnet;
  
        if (wext_proc_init(net))
-@@ -332,9 +334,11 @@ static int __net_init dev_proc_net_init(
+@@ -362,9 +364,11 @@ static int __net_init dev_proc_net_init(
  out:
        return rc;
  out_ptype:
@@ -312,7 +312,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  out_dev:
        remove_proc_entry("dev", net->proc_net);
        goto out;
-@@ -344,8 +348,10 @@ static void __net_exit dev_proc_net_exit
+@@ -374,8 +378,10 @@ static void __net_exit dev_proc_net_exit
  {
        wext_proc_exit(net);
  
index fd58841af0ba7e0460a8d4ecfda4f308d939460a..3fa29a62a7fb331adeb43ab9bcbf784f120737f0 100644 (file)
@@ -318,7 +318,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  #include <asm/sections.h>
  #include <linux/io.h>
-@@ -447,6 +448,8 @@ static void __init_memblock memblock_ins
+@@ -453,6 +454,8 @@ static void __init_memblock memblock_ins
        memblock_set_region_node(rgn, nid);
        type->cnt++;
        type->total_size += size;
@@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  }
  
  /**
-@@ -486,6 +489,8 @@ int __init_memblock memblock_add_range(s
+@@ -492,6 +495,8 @@ int __init_memblock memblock_add_range(s
                type->regions[0].flags = flags;
                memblock_set_region_node(&type->regions[0], nid);
                type->total_size = size;
index e74a6a11ed6b528d3c542fd0d62969401cac22e5..96a07754a28b81f6f2f8bb68d16e0e5b0f5dd58a 100644 (file)
@@ -1087,7 +1087,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
  #define JFFS2_NODE_ACCURATE 0x2000
 --- a/lib/Kconfig
 +++ b/lib/Kconfig
-@@ -259,6 +259,12 @@ config ZSTD_DECOMPRESS
+@@ -258,6 +258,12 @@ config ZSTD_DECOMPRESS
  
  source "lib/xz/Kconfig"
  
index fa02d3f70651f01708ba168f98200ab64c48d3c9..98b20a82466c73d00d640789cc5750ee6deffb07 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #define PACKET_FANOUT_LB              1
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
-@@ -1838,6 +1838,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1842,6 +1842,7 @@ static int packet_rcv_spkt(struct sk_buf
  {
        struct sock *sk;
        struct sockaddr_pkt *spkt;
@@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        /*
         *      When we registered the protocol we saved the socket in the data
-@@ -1845,6 +1846,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1849,6 +1850,7 @@ static int packet_rcv_spkt(struct sk_buf
         */
  
        sk = pt->af_packet_priv;
@@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        /*
         *      Yank back the headers [hope the device set this
-@@ -1857,7 +1859,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1861,7 +1863,7 @@ static int packet_rcv_spkt(struct sk_buf
         *      so that this procedure is noop.
         */
  
@@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                goto out;
  
        if (!net_eq(dev_net(dev), sock_net(sk)))
-@@ -2084,12 +2086,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -2088,12 +2090,12 @@ static int packet_rcv(struct sk_buff *sk
        unsigned int snaplen, res;
        bool is_drop_n_account = false;
  
@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
-@@ -2217,12 +2219,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -2221,12 +2223,12 @@ static int tpacket_rcv(struct sk_buff *s
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
  
@@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
-@@ -3325,6 +3327,7 @@ static int packet_create(struct net *net
+@@ -3332,6 +3334,7 @@ static int packet_create(struct net *net
        mutex_init(&po->pg_vec_lock);
        po->rollover = NULL;
        po->prot_hook.func = packet_rcv;
@@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        if (sock->type == SOCK_PACKET)
                po->prot_hook.func = packet_rcv_spkt;
-@@ -3949,6 +3952,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3964,6 +3967,16 @@ packet_setsockopt(struct socket *sock, i
                po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
                return 0;
        }
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        default:
                return -ENOPROTOOPT;
        }
-@@ -4001,6 +4014,13 @@ static int packet_getsockopt(struct sock
+@@ -4016,6 +4029,13 @@ static int packet_getsockopt(struct sock
        case PACKET_VNET_HDR:
                val = po->has_vnet_hdr;
                break;
index c7aa998517791c848d228f0576ceb4d975030588..40a539be9d6a97b05afc515a44975d4c2e51e9ae 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #define PPP_VERSION   "2.4.2"
  
  /*
-@@ -1393,12 +1398,37 @@ static void ppp_dev_priv_destructor(stru
+@@ -1398,12 +1403,37 @@ static void ppp_dev_priv_destructor(stru
                ppp_destroy_interface(ppp);
  }
  
index bbcc159240f1d305df2b44b1f3dec9221ffc72bd..1c26d8b5c2a765aa1aae0edd7a926acc5202de36 100644 (file)
@@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        if (rtm->rtm_type == RTN_LOCAL)
-@@ -3519,6 +3553,9 @@ static int rt6_fill_node(struct net *net
+@@ -3543,6 +3577,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;
-@@ -3837,6 +3874,8 @@ static int ip6_route_dev_notify(struct n
+@@ -3861,6 +3898,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
-@@ -3848,6 +3887,7 @@ static int ip6_route_dev_notify(struct n
+@@ -3872,6 +3911,7 @@ static int ip6_route_dev_notify(struct n
                in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -208,7 +208,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
        }
-@@ -4064,6 +4104,17 @@ static int __net_init ip6_route_net_init
+@@ -4088,6 +4128,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);
@@ -226,7 +226,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
  
        net->ipv6.sysctl.flush_delay = 0;
-@@ -4082,6 +4133,8 @@ out:
+@@ -4106,6 +4157,8 @@ out:
        return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
        kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -4099,6 +4152,7 @@ static void __net_exit ip6_route_net_exi
+@@ -4123,6 +4176,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);
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
        dst_entries_destroy(&net->ipv6.ip6_dst_ops);
  }
-@@ -4172,6 +4226,9 @@ void __init ip6_route_init_special_entri
+@@ -4196,6 +4250,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 1fbdc0c54ff42f1e57a40f7f310b70001bbc007d..fb82edb21b30afe144f9de094bfb0193fa4799bb 100644 (file)
@@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  /**
   *    ata_build_rw_tf - Build ATA taskfile for given read/write request
   *    @tf: Target ATA taskfile
-@@ -5159,6 +5172,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -5160,6 +5173,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
                if (tag < 0)
                        return NULL;
        }
@@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
        qc = __ata_qc_from_tag(ap, tag);
        qc->tag = tag;
-@@ -6062,6 +6078,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -6063,6 +6079,9 @@ struct ata_port *ata_port_alloc(struct a
        ap->stats.unhandled_irq = 1;
        ap->stats.idle_irq = 1;
  #endif
@@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        ata_sff_port_init(ap);
  
        return ap;
-@@ -6083,6 +6102,12 @@ static void ata_host_release(struct devi
+@@ -6084,6 +6103,12 @@ static void ata_host_release(struct devi
  
                kfree(ap->pmp_link);
                kfree(ap->slave_link);
@@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                kfree(ap);
                host->ports[i] = NULL;
        }
-@@ -6529,7 +6554,23 @@ int ata_host_register(struct ata_host *h
+@@ -6530,7 +6555,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;
        }
index 25c950cd44e9eaa65847c116ca3ef5156bada33a..f0c6f4aaf4902d203df4243388c5279232407978 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
 
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1427,6 +1427,15 @@ config EMBEDDED
+@@ -1437,6 +1437,15 @@ config EMBEDDED
          an embedded system so certain expert options are available
          for configuration.