Bump kernel to 4.4.167 (from upstream 17.01 branch)
authorRISCi_ATOM <bob@bobcall.me>
Mon, 31 Dec 2018 22:21:35 +0000 (17:21 -0500)
committerRISCi_ATOM <bob@bobcall.me>
Mon, 31 Dec 2018 22:21:35 +0000 (17:21 -0500)
29 files changed:
include/kernel-version.mk
target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
target/linux/generic/patches-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch
target/linux/generic/patches-4.4/043-mtd-spi-nor-mx25l3205d-mx25l6405d-append-SECT_4K.patch
target/linux/generic/patches-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch
target/linux/generic/patches-4.4/048-mtd-spi-nor-backport-SPI_NOR_HAS_LOCK-flag.patch
target/linux/generic/patches-4.4/052-02-ubifs-Implement-RENAME_WHITEOUT.patch
target/linux/generic/patches-4.4/052-03-ubifs-Implement-RENAME_EXCHANGE.patch
target/linux/generic/patches-4.4/052-04-ubifs-Use-move-variable-in-ubifs_rename.patch
target/linux/generic/patches-4.4/082-0001-USB-core-let-USB-device-know-device-node.patch
target/linux/generic/patches-4.4/082-0002-usb-core-usb_alloc_dev-fix-setting-of-portnum.patch
target/linux/generic/patches-4.4/085-0004-leds-core-add-OF-variants-of-LED-registering-functio.patch
target/linux/generic/patches-4.4/086-0001-thermal-of-thermal-Add-devm-version-of-thermal_zone_.patch
target/linux/generic/patches-4.4/090-MIPS-c-r4k-Use-IPI-calls-for-CM-indexed-cache-ops.patch
target/linux/generic/patches-4.4/160-usb-gadget-udc-net2280-add-usb2380-support.patch
target/linux/generic/patches-4.4/201-extra_optimization.patch
target/linux/generic/patches-4.4/202-reduce_module_size.patch
target/linux/generic/patches-4.4/304-mips_disable_fpu.patch
target/linux/generic/patches-4.4/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch
target/linux/generic/patches-4.4/475-mtd-spi-nor-add-macronix-mx25u25635f.patch
target/linux/generic/patches-4.4/477-mtd-add-spi-nor-add-mx25u3235f.patch
target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch
target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch
target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/generic/patches-4.4/721-phy_packets.patch
target/linux/generic/patches-4.4/810-pci_disable_common_quirks.patch
target/linux/generic/patches-4.4/902-debloat_proc.patch

index 91422a3287612ff50e96652ec9f33b49eaa3689e..d62245c0d2271838fad95b019dafd1e004982957 100644 (file)
@@ -2,9 +2,9 @@
 
 LINUX_RELEASE?=1
 
-LINUX_VERSION-4.4 = .159
+LINUX_VERSION-4.4 = .167
 
-LINUX_KERNEL_HASH-4.4.159 = d464fea1f888ada3a55c3aea1c05ba9fd2d4edd7ffb152369faace18a285998b
+LINUX_KERNEL_HASH-4.4.167 = 301feaaecbbe030a7a3ea05a272cca11b8958dc9ec619ec77f562eb1c75f0784
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
index 72d964df639ba2a91071fbdc893bf500ece51a48..164000f5c0311bef20f2b550a17343126362f160 100644 (file)
                                               &sin->sin6_addr);
                        sin->sin6_scope_id = 0;
                }
-@@ -770,12 +770,12 @@ int ip6_datagram_send_ctl(struct net *ne
+@@ -773,12 +773,12 @@ int ip6_datagram_send_ctl(struct net *ne
                        }
  
                        if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
                case IPV6_2292HOPOPTS:
 --- a/net/ipv6/ip6_gre.c
 +++ b/net/ipv6/ip6_gre.c
-@@ -395,7 +395,7 @@ static void ip6gre_err(struct sk_buff *s
+@@ -397,7 +397,7 @@ static void ip6gre_err(struct sk_buff *s
                return;
        ipv6h = (const struct ipv6hdr *)skb->data;
        greh = (const struct gre_base_hdr *)(skb->data + offset);
  
        t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr,
                                 key, greh->protocol);
-@@ -482,11 +482,11 @@ static int ip6gre_rcv(struct sk_buff *sk
+@@ -484,11 +484,11 @@ static int ip6gre_rcv(struct sk_buff *sk
                        offset += 4;
                }
                if (flags&GRE_KEY) {
                        offset += 4;
                }
        }
-@@ -748,7 +748,7 @@ static netdev_tx_t ip6gre_xmit2(struct s
+@@ -750,7 +750,7 @@ static netdev_tx_t ip6gre_xmit2(struct s
  
                if (tunnel->parms.o_flags&GRE_SEQ) {
                        ++tunnel->o_seqno;
                        ptr--;
                }
                if (tunnel->parms.o_flags&GRE_KEY) {
-@@ -844,7 +844,7 @@ static inline int ip6gre_xmit_ipv6(struc
+@@ -846,7 +846,7 @@ static inline int ip6gre_xmit_ipv6(struc
  
        dsfield = ipv6_get_dsfield(ipv6h);
        if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
        if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
 --- a/net/ipv6/ip6_tunnel.c
 +++ b/net/ipv6/ip6_tunnel.c
-@@ -1307,7 +1307,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1319,7 +1319,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
  
        dsfield = ipv6_get_dsfield(ipv6h);
        if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
  #endif /* _LINUX_TYPES_H */
 --- a/net/ipv4/af_inet.c
 +++ b/net/ipv4/af_inet.c
-@@ -1321,8 +1321,8 @@ static struct sk_buff **inet_gro_receive
+@@ -1322,8 +1322,8 @@ static struct sk_buff **inet_gro_receive
        if (unlikely(ip_fast_csum((u8 *)iph, 5)))
                goto out_unlock;
  
        for (p = *head; p; p = p->next) {
 --- a/net/ipv4/route.c
 +++ b/net/ipv4/route.c
-@@ -458,7 +458,7 @@ static struct neighbour *ipv4_neigh_look
+@@ -461,7 +461,7 @@ static struct neighbour *ipv4_neigh_look
        else if (skb)
                pkey = &ip_hdr(skb)->daddr;
  
        return neigh_create(&arp_tbl, pkey, dev);
 --- a/net/ipv4/tcp_output.c
 +++ b/net/ipv4/tcp_output.c
-@@ -451,48 +451,53 @@ static void tcp_options_write(__be32 *pt
+@@ -456,48 +456,53 @@ static void tcp_options_write(__be32 *pt
        u16 options = opts->options;    /* mungable copy */
  
        if (unlikely(OPTION_MD5 & options)) {
        }
  
        if (unlikely(opts->num_sack_blocks)) {
-@@ -500,16 +505,17 @@ static void tcp_options_write(__be32 *pt
+@@ -505,16 +510,17 @@ static void tcp_options_write(__be32 *pt
                        tp->duplicate_sack : tp->selective_acks;
                int this_sack;
  
                }
  
                tp->rx_opt.dsack = 0;
-@@ -522,13 +528,14 @@ static void tcp_options_write(__be32 *pt
+@@ -527,13 +533,14 @@ static void tcp_options_write(__be32 *pt
  
                if (foc->exp) {
                        len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
                        goto next_ht;
 --- a/net/ipv6/ip6_offload.c
 +++ b/net/ipv6/ip6_offload.c
-@@ -225,7 +225,7 @@ static struct sk_buff **ipv6_gro_receive
+@@ -226,7 +226,7 @@ static struct sk_buff **ipv6_gro_receive
                        continue;
  
                iph2 = (struct ipv6hdr *)(p->data + off);
 -      *(__be32 *)iph = to;
 +      net_hdr_word(iph) = to;
        if (skb->ip_summed == CHECKSUM_COMPLETE)
-               skb->csum = csum_add(csum_sub(skb->csum, from), to);
-       return 1;
-@@ -134,7 +134,7 @@ static inline int IP6_ECN_set_ce(struct
+               skb->csum = csum_add(csum_sub(skb->csum, (__force __wsum)from),
+                                    (__force __wsum)to);
+@@ -135,7 +135,7 @@ static inline int IP6_ECN_set_ce(struct
  
  static inline void IP6_ECN_clear(struct ipv6hdr *iph)
  {
  
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -3818,14 +3818,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3836,14 +3836,16 @@ static bool tcp_parse_aligned_timestamp(
  {
        const __be32 *ptr = (const __be32 *)(th + 1);
  
index 36fb936e32a361b79de29d873b9526e70665c1c8..a75ddfc4d98cba5c608992765fb15421bc8bf6d7 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/usb/smsc95xx.c
 +++ b/drivers/net/usb/smsc95xx.c
-@@ -1835,13 +1835,13 @@ static struct sk_buff *smsc95xx_tx_fixup
+@@ -1838,13 +1838,13 @@ static struct sk_buff *smsc95xx_tx_fixup
        /* We do not advertise SG, so skbs should be already linearized */
        BUG_ON(skb_shinfo(skb)->nr_frags);
  
index b7fd046a238d52d14ffba53dedb43c3aa3a330e8..6388c9afeab20bf54cec887dcaf11159d2adcb2b 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Brian Norris <computersforpeace@gmail.com>
 
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -715,9 +715,9 @@ static const struct flash_info spi_nor_i
+@@ -721,9 +721,9 @@ static const struct flash_info spi_nor_i
        { "mx25l4005a",  INFO(0xc22013, 0, 64 * 1024,   8, SECT_4K) },
        { "mx25l8005",   INFO(0xc22014, 0, 64 * 1024,  16, 0) },
        { "mx25l1606e",  INFO(0xc22015, 0, 64 * 1024,  32, SECT_4K) },
index 95de680989f43e9678e551ccfc39ce3d9f60d06d..dc552e46d18965bf02670c30361f6bcf7439d997 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Richard Weinberger <richard@nod.at>
 
 --- a/fs/ubifs/super.c
 +++ b/fs/ubifs/super.c
-@@ -2107,8 +2107,9 @@ static struct dentry *ubifs_mount(struct
+@@ -2116,8 +2116,9 @@ static struct dentry *ubifs_mount(struct
         */
        ubi = open_ubi(name, UBI_READONLY);
        if (IS_ERR(ubi)) {
index 69a5432fa7c2f03403b0716fe65412a5b7336df6..b8a64b66d68ef493050e3de9b27515dae8b4839d 100644 (file)
@@ -25,7 +25,7 @@ Tested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
  };
  
  #define JEDEC_MFR(info)       ((info)->id[0])
-@@ -1163,7 +1164,8 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -1169,7 +1170,8 @@ int spi_nor_scan(struct spi_nor *nor, co
  
        if (JEDEC_MFR(info) == SNOR_MFR_ATMEL ||
            JEDEC_MFR(info) == SNOR_MFR_INTEL ||
@@ -35,7 +35,7 @@ Tested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
                write_enable(nor);
                write_sr(nor, 0);
        }
-@@ -1179,7 +1181,8 @@ int spi_nor_scan(struct spi_nor *nor, co
+@@ -1185,7 +1187,8 @@ int spi_nor_scan(struct spi_nor *nor, co
        mtd->_read = spi_nor_read;
  
        /* NOR protection support for STmicro/Micron chips and similar */
index c2ec904939872a55d875bcfc41c1252d8991f902..6d6ad28e962d6a8dd58861651dc3eaa93562a505 100644 (file)
@@ -244,7 +244,7 @@ Signed-off-by: Richard Weinberger <richard@nod.at>
        .setxattr    = ubifs_setxattr,
 --- a/fs/ubifs/journal.c
 +++ b/fs/ubifs/journal.c
-@@ -917,14 +917,15 @@ int ubifs_jnl_delete_inode(struct ubifs_
+@@ -922,14 +922,15 @@ int ubifs_jnl_delete_inode(struct ubifs_
   * @sync: non-zero if the write-buffer has to be synchronized
   *
   * This function implements the re-name operation which may involve writing up
@@ -262,7 +262,7 @@ Signed-off-by: Richard Weinberger <richard@nod.at>
  {
        void *p;
        union ubifs_key key;
-@@ -980,13 +981,19 @@ int ubifs_jnl_rename(struct ubifs_info *
+@@ -985,13 +986,19 @@ int ubifs_jnl_rename(struct ubifs_info *
        zero_dent_node_unused(dent);
        ubifs_prep_grp_node(c, dent, dlen1, 0);
  
@@ -285,7 +285,7 @@ Signed-off-by: Richard Weinberger <richard@nod.at>
        dent2->nlen = cpu_to_le16(old_dentry->d_name.len);
        memcpy(dent2->name, old_dentry->d_name.name, old_dentry->d_name.len);
        dent2->name[old_dentry->d_name.len] = '\0';
-@@ -1035,16 +1042,26 @@ int ubifs_jnl_rename(struct ubifs_info *
+@@ -1040,16 +1047,26 @@ int ubifs_jnl_rename(struct ubifs_info *
        if (err)
                goto out_ro;
  
index 1830cd0eebecbe85a3c9af2a3e7ddad8cf0bc92b..97e0f66f249e037b19dae278e0c967febe00784b 100644 (file)
@@ -104,7 +104,7 @@ Signed-off-by: Richard Weinberger <richard@nod.at>
        .setxattr    = ubifs_setxattr,
 --- a/fs/ubifs/journal.c
 +++ b/fs/ubifs/journal.c
-@@ -908,6 +908,147 @@ int ubifs_jnl_delete_inode(struct ubifs_
+@@ -913,6 +913,147 @@ int ubifs_jnl_delete_inode(struct ubifs_
  }
  
  /**
index 81129359d38ad41e7e34ecd93edaa9707b57a4de..389af40b27ed7c670c6d3c07e13aa9748f5f8366 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Richard Weinberger <richard@nod.at>
 
 --- a/fs/ubifs/journal.c
 +++ b/fs/ubifs/journal.c
-@@ -1100,7 +1100,7 @@ int ubifs_jnl_rename(struct ubifs_info *
+@@ -1105,7 +1105,7 @@ int ubifs_jnl_rename(struct ubifs_info *
        aligned_dlen1 = ALIGN(dlen1, 8);
        aligned_dlen2 = ALIGN(dlen2, 8);
        len = aligned_dlen1 + aligned_dlen2 + ALIGN(ilen, 8) + ALIGN(plen, 8);
@@ -19,7 +19,7 @@ Signed-off-by: Richard Weinberger <richard@nod.at>
                len += plen;
        dent = kmalloc(len, GFP_NOFS);
        if (!dent)
-@@ -1216,7 +1216,7 @@ int ubifs_jnl_rename(struct ubifs_info *
+@@ -1221,7 +1221,7 @@ int ubifs_jnl_rename(struct ubifs_info *
        if (err)
                goto out_ro;
  
index 901cdf7e83f65ac30925f93aa3039abbf61301c6..1c8787907f3b06ca9f8302057497251c57f42ec4 100644 (file)
@@ -131,7 +131,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  
  #include <asm/io.h>
  #include <linux/scatterlist.h>
-@@ -469,6 +470,7 @@ struct usb_device *usb_alloc_dev(struct
+@@ -471,6 +472,7 @@ struct usb_device *usb_alloc_dev(struct
                dev->route = 0;
  
                dev->dev.parent = bus->controller;
@@ -139,7 +139,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                dev_set_name(&dev->dev, "usb%d", bus->busnum);
                root_hub = 1;
        } else {
-@@ -493,6 +495,14 @@ struct usb_device *usb_alloc_dev(struct
+@@ -495,6 +497,14 @@ struct usb_device *usb_alloc_dev(struct
                dev->dev.parent = &parent->dev;
                dev_set_name(&dev->dev, "%d-%s", bus->busnum, dev->devpath);
  
index 15cf4cae56f66ca272fddcf618cc96ced098fe5b..bbb64e65bea10ccbd7bb5999d6c0b9ef9c357e45 100644 (file)
@@ -84,7 +84,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/usb/core/usb.c
 +++ b/drivers/usb/core/usb.c
-@@ -423,6 +423,7 @@ struct usb_device *usb_alloc_dev(struct
+@@ -425,6 +425,7 @@ struct usb_device *usb_alloc_dev(struct
        struct usb_device *dev;
        struct usb_hcd *usb_hcd = bus_to_hcd(bus);
        unsigned root_hub = 0;
@@ -92,7 +92,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  
        dev = kzalloc(sizeof(*dev), GFP_KERNEL);
        if (!dev)
-@@ -497,11 +498,11 @@ struct usb_device *usb_alloc_dev(struct
+@@ -499,11 +500,11 @@ struct usb_device *usb_alloc_dev(struct
  
                if (!parent->parent) {
                        /* device under root hub's port */
index e02984041a44c4333cfa0dba7a14afd2f4c0546a..18da7f951adc5e2fc0270af3313011e2a91bdd77 100644 (file)
@@ -58,7 +58,7 @@ Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
  
  /**
   * led_classdev_unregister - unregisters a object of led_properties class.
-@@ -269,12 +273,14 @@ static void devm_led_classdev_release(st
+@@ -270,12 +274,14 @@ static void devm_led_classdev_release(st
  }
  
  /**
@@ -77,7 +77,7 @@ Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
  {
        struct led_classdev **dr;
        int rc;
-@@ -283,7 +289,7 @@ int devm_led_classdev_register(struct de
+@@ -284,7 +290,7 @@ int devm_led_classdev_register(struct de
        if (!dr)
                return -ENOMEM;
  
@@ -86,7 +86,7 @@ Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
        if (rc) {
                devres_free(dr);
                return rc;
-@@ -294,7 +300,7 @@ int devm_led_classdev_register(struct de
+@@ -295,7 +301,7 @@ int devm_led_classdev_register(struct de
  
        return 0;
  }
index b551bac69d6f6196661a0f6e55a658a3532cb76f..4eb57113736107cbc33c6496b758414f10726b38 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
 
 --- a/drivers/thermal/of-thermal.c
 +++ b/drivers/thermal/of-thermal.c
-@@ -559,6 +559,87 @@ void thermal_zone_of_sensor_unregister(s
+@@ -562,6 +562,87 @@ void thermal_zone_of_sensor_unregister(s
  }
  EXPORT_SYMBOL_GPL(thermal_zone_of_sensor_unregister);
  
index 0c1c0a4509ec9f76108fc0ea086d7f3c554c4d05..e45e5b884ffbbb9af6b4b58e07162593fb4100ea 100644 (file)
@@ -256,7 +256,7 @@ Cc: linux-mips@linux-mips.org
        instruction_hazard();
  }
  
-@@ -823,7 +901,12 @@ static void local_r4k_flush_cache_sigtra
+@@ -825,7 +903,12 @@ static void local_r4k_flush_cache_sigtra
  
  static void r4k_flush_cache_sigtramp(unsigned long addr)
  {
@@ -270,7 +270,7 @@ Cc: linux-mips@linux-mips.org
  }
  
  static void r4k_flush_icache_all(void)
-@@ -837,6 +920,15 @@ struct flush_kernel_vmap_range_args {
+@@ -839,6 +922,15 @@ struct flush_kernel_vmap_range_args {
        int             size;
  };
  
@@ -286,7 +286,7 @@ Cc: linux-mips@linux-mips.org
  static inline void local_r4k_flush_kernel_vmap_range(void *args)
  {
        struct flush_kernel_vmap_range_args *vmra = args;
-@@ -847,12 +939,8 @@ static inline void local_r4k_flush_kerne
+@@ -849,12 +941,8 @@ static inline void local_r4k_flush_kerne
         * Aliases only affect the primary caches so don't bother with
         * S-caches or T-caches.
         */
@@ -301,7 +301,7 @@ Cc: linux-mips@linux-mips.org
  }
  
  static void r4k_flush_kernel_vmap_range(unsigned long vaddr, int size)
-@@ -862,7 +950,12 @@ static void r4k_flush_kernel_vmap_range(
+@@ -864,7 +952,12 @@ static void r4k_flush_kernel_vmap_range(
        args.vaddr = (unsigned long) vaddr;
        args.size = size;
  
index 94f78102b7b78f9cb2d6f61e4b807da6d2f1e3db..0ad684fceacd076877f23e991e3ebc073a259e18 100644 (file)
@@ -112,7 +112,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                                !list_empty(&ep->queue) && ep->td_dma)
                                        restart_dma(ep);
                        ep->wedged = 0;
-@@ -2394,7 +2394,7 @@ static int net2280_start(struct usb_gadg
+@@ -2397,7 +2397,7 @@ static int net2280_start(struct usb_gadg
         */
        net2280_led_active(dev, 1);
  
@@ -121,7 +121,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                defect7374_enable_data_eps_zero(dev);
  
        ep0_start(dev);
-@@ -3060,7 +3060,7 @@ static void handle_stat0_irqs(struct net
+@@ -3066,7 +3066,7 @@ static void handle_stat0_irqs(struct net
                }
                ep->stopped = 0;
                dev->protocol_stall = 0;
@@ -130,7 +130,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                        if (ep->dev->quirks & PLX_2280)
                                tmp = BIT(FIFO_OVERFLOW) |
                                    BIT(FIFO_UNDERFLOW);
-@@ -3087,7 +3087,7 @@ static void handle_stat0_irqs(struct net
+@@ -3093,7 +3093,7 @@ static void handle_stat0_irqs(struct net
                cpu_to_le32s(&u.raw[0]);
                cpu_to_le32s(&u.raw[1]);
  
@@ -139,7 +139,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                        defect7374_workaround(dev, u.r);
  
                tmp = 0;
-@@ -3170,7 +3170,7 @@ static void handle_stat0_irqs(struct net
+@@ -3176,7 +3176,7 @@ static void handle_stat0_irqs(struct net
                        } else {
                                ep_vdbg(dev, "%s clear halt\n", e->ep.name);
                                clear_halt(e);
@@ -148,7 +148,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                                        !list_empty(&e->queue) && e->td_dma)
                                                restart_dma(e);
                        }
-@@ -3192,7 +3192,7 @@ static void handle_stat0_irqs(struct net
+@@ -3198,7 +3198,7 @@ static void handle_stat0_irqs(struct net
                        if (e->ep.name == ep0name)
                                goto do_stall;
                        set_halt(e);
@@ -157,7 +157,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                                abort_dma(e);
                        allow_status(ep);
                        ep_vdbg(dev, "%s set halt\n", ep->ep.name);
-@@ -3231,7 +3231,7 @@ do_stall:
+@@ -3237,7 +3237,7 @@ do_stall:
  #undef        w_length
  
  next_endpoints:
@@ -166,7 +166,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                u32 mask = (BIT(ENDPOINT_0_INTERRUPT) |
                        USB3380_IRQSTAT0_EP_INTR_MASK_IN |
                        USB3380_IRQSTAT0_EP_INTR_MASK_OUT);
-@@ -3392,7 +3392,7 @@ static void handle_stat1_irqs(struct net
+@@ -3404,7 +3404,7 @@ __acquires(dev->lock)
                writel(tmp, &dma->dmastat);
  
                /* dma sync*/
@@ -175,7 +175,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                        u32 r_dmacount = readl(&dma->dmacount);
                        if (!ep->is_in &&  (r_dmacount & 0x00FFFFFF) &&
                            (tmp & BIT(DMA_TRANSACTION_DONE_INTERRUPT)))
-@@ -3461,7 +3461,7 @@ static irqreturn_t net2280_irq(int irq,
+@@ -3473,7 +3473,7 @@ static irqreturn_t net2280_irq(int irq,
        /* control requests and PIO */
        handle_stat0_irqs(dev, readl(&dev->regs->irqstat0));
  
@@ -184,7 +184,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                /* re-enable interrupt to trigger any possible new interrupt */
                u32 pciirqenb1 = readl(&dev->regs->pciirqenb1);
                writel(pciirqenb1 & 0x7FFFFFFF, &dev->regs->pciirqenb1);
-@@ -3506,7 +3506,7 @@ static void net2280_remove(struct pci_de
+@@ -3518,7 +3518,7 @@ static void net2280_remove(struct pci_de
        }
        if (dev->got_irq)
                free_irq(pdev->irq, dev);
@@ -193,7 +193,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                pci_disable_msi(pdev);
        if (dev->regs)
                iounmap(dev->regs);
-@@ -3586,7 +3586,7 @@ static int net2280_probe(struct pci_dev
+@@ -3598,7 +3598,7 @@ static int net2280_probe(struct pci_dev
        dev->dep = (struct net2280_dep_regs __iomem *) (base + 0x0200);
        dev->epregs = (struct net2280_ep_regs __iomem *) (base + 0x0300);
  
@@ -202,7 +202,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                u32 fsmvalue;
                u32 usbstat;
                dev->usb_ext = (struct usb338x_usb_ext_regs __iomem *)
-@@ -3630,7 +3630,7 @@ static int net2280_probe(struct pci_dev
+@@ -3642,7 +3642,7 @@ static int net2280_probe(struct pci_dev
                goto done;
        }
  
@@ -211,7 +211,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                if (pci_enable_msi(pdev))
                        ep_err(dev, "Failed to enable MSI mode\n");
  
-@@ -3748,10 +3748,19 @@ static const struct pci_device_id pci_id
+@@ -3760,10 +3760,19 @@ static const struct pci_device_id pci_id
        .class =        ((PCI_CLASS_SERIAL_USB << 8) | 0xfe),
        .class_mask =   ~0,
        .vendor =       PCI_VENDOR_ID_PLX,
@@ -232,7 +232,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
         },
        {
        .class =        ((PCI_CLASS_SERIAL_USB << 8) | 0xfe),
-@@ -3760,7 +3769,7 @@ static const struct pci_device_id pci_id
+@@ -3772,7 +3781,7 @@ static const struct pci_device_id pci_id
        .device =       0x3382,
        .subvendor =    PCI_ANY_ID,
        .subdevice =    PCI_ANY_ID,
index b4235a11d40189b120304f889b3ca8f79271c701..d9d24263f7b725e8dd5448030d0e1ff06f9d7f5b 100644 (file)
@@ -1,11 +1,11 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -626,12 +626,12 @@ KBUILD_CFLAGS    += $(call cc-disable-warni
- KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context)
+@@ -639,12 +639,12 @@ KBUILD_CFLAGS    += $(call cc-disable-warni
+ KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias)
  
  ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
--KBUILD_CFLAGS += -Os
-+KBUILD_CFLAGS += -Os $(EXTRA_OPTIMIZATION)
+-KBUILD_CFLAGS += $(call cc-option,-Oz,-Os)
++KBUILD_CFLAGS += $(call cc-option,-Oz,-Os) $(EXTRA_OPTIMIZATION)
  else
  ifdef CONFIG_PROFILE_ALL_BRANCHES
 -KBUILD_CFLAGS += -O2
index 1aabf3e722dd2ae34f1e176c7462a73111eea639..b46600537f7e502c42cd834497d3b6d65b374e5b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -405,7 +405,7 @@ KBUILD_CFLAGS_KERNEL :=
+@@ -400,7 +400,7 @@ KBUILD_CFLAGS_KERNEL :=
  KBUILD_AFLAGS   := -D__ASSEMBLY__ $(call cc-option,-fno-PIE)
  KBUILD_AFLAGS_MODULE  := -DMODULE
  KBUILD_CFLAGS_MODULE  := -DMODULE
index a08564dceabd85524efdb1f3e9165744595fa999..60b576c1a4e31e92e693bdb8f906326e416ccb12 100644 (file)
@@ -86,21 +86,21 @@ v2: incorporated changes suggested by Jonas Gorski
  extern int fpu_emulator_cop1Handler(struct pt_regs *xcp,
                                    struct mips_fpu_struct *ctx, int has_fpu,
                                    void *__user *fault_addr);
-+#else /* no CONFIG_MIPS_FPU_EMULATOR */
++#else  /* no CONFIG_MIPS_FPU_EMULATOR */
 +static inline int do_dsemulret(struct pt_regs *xcp)
 +{
-+      return 0;       /* 0 means error, should never get here anyway */
++      return 0;       /* 0 means error, should never get here anyway */
 +}
 +
 +static inline int fpu_emulator_cop1Handler(struct pt_regs *xcp,
-+                              struct mips_fpu_struct *ctx, int has_fpu,
-+                              void *__user *fault_addr)
++                                         struct mips_fpu_struct *ctx, int has_fpu,
++                                         void *__user *fault_addr)
 +{
 +      *fault_addr = NULL;
-+      return SIGILL;  /* we don't speak MIPS FPU */
++      return SIGILL;  /* we don't speak MIPS FPU */
 +}
-+#endif        /* CONFIG_MIPS_FPU_EMULATOR */
++#endif /* CONFIG_MIPS_FPU_EMULATOR */
 +
+ void force_fcr31_sig(unsigned long fcr31, void __user *fault_addr,
+                    struct task_struct *tsk);
  int process_fpemu_return(int sig, void __user *fault_addr,
-                        unsigned long fcr31);
- int mm_isBranchInstr(struct pt_regs *regs, struct mm_decoded_insn dec_insn,
index a69d197e626644450930db1256b9e0522eefc653..3a09572bde9ab2eb0d78263daa32666051dbd6ad 100644 (file)
@@ -210,7 +210,7 @@ Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
  
        /*
         * The generic kexec code builds a page list with physical
-@@ -98,15 +210,16 @@ machine_kexec(struct kimage *image)
+@@ -101,15 +213,16 @@ machine_kexec(struct kimage *image)
        /*
         * we do not want to be bothered.
         */
index d868a7da2545bdb200e1748b8fcebffdf8c95187..c21d19bf54375c4100c4f77d2a301dff3ea81136 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -725,6 +725,7 @@ static const struct flash_info spi_nor_i
+@@ -731,6 +731,7 @@ static const struct flash_info spi_nor_i
        { "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
        { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
        { "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
index fa1ab3fa0655a45ca9b3a18403bebac4d7292640..1be68e1b83901baf686d850a4aad011f3fc0963f 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/spi-nor/spi-nor.c
 +++ b/drivers/mtd/spi-nor/spi-nor.c
-@@ -722,6 +722,7 @@ static const struct flash_info spi_nor_i
+@@ -728,6 +728,7 @@ static const struct flash_info spi_nor_i
        { "mx25l3205d",  INFO(0xc22016, 0, 64 * 1024,  64, SECT_4K) },
        { "mx25l3255e",  INFO(0xc29e16, 0, 64 * 1024,  64, SECT_4K) },
        { "mx25l6405d",  INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) },
index b75dd0f9ff5f3a7d5c9510c4a9902a00ebd22131..bde7a986c7f2fb7885e40d6e207ff69f964e76d4 100644 (file)
 +}
 --- a/fs/jffs2/super.c
 +++ b/fs/jffs2/super.c
-@@ -375,14 +375,41 @@ static int __init init_jffs2_fs(void)
+@@ -373,14 +373,41 @@ static int __init init_jffs2_fs(void)
        BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
        BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
  
  ifdef CONFIG_FUNCTION_TRACER
  ORIG_CFLAGS := $(KBUILD_CFLAGS)
  KBUILD_CFLAGS = $(subst $(CC_FLAGS_FTRACE),,$(ORIG_CFLAGS))
-@@ -98,6 +108,8 @@ obj-$(CONFIG_LZ4HC_COMPRESS) += lz4/
+@@ -96,6 +106,8 @@ obj-$(CONFIG_LZ4HC_COMPRESS) += lz4/
  obj-$(CONFIG_LZ4_DECOMPRESS) += lz4/
  obj-$(CONFIG_XZ_DEC) += xz/
  obj-$(CONFIG_RAID6_PQ) += raid6/
index f1c7ab1d9c9c60afe1a13e6ee59c152641374e77..ca23150d7d2f7cbb00670d7baf28964665e4cc47 100644 (file)
@@ -172,7 +172,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                        if (err)
                                break;
                }
-@@ -1432,7 +1458,8 @@ br_multicast_leave_group(struct net_brid
+@@ -1439,7 +1465,8 @@ br_multicast_leave_group(struct net_brid
                         struct net_bridge_port *port,
                         struct br_ip *group,
                         struct bridge_mcast_other_query *other_query,
@@ -182,7 +182,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
        struct net_bridge_mdb_htable *mdb;
        struct net_bridge_mdb_entry *mp;
-@@ -1456,7 +1483,7 @@ br_multicast_leave_group(struct net_brid
+@@ -1463,7 +1490,7 @@ br_multicast_leave_group(struct net_brid
                for (pp = &mp->ports;
                     (p = mlock_dereference(*pp, br)) != NULL;
                     pp = &p->next) {
@@ -191,7 +191,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                                continue;
  
                        rcu_assign_pointer(*pp, p->next);
-@@ -1519,7 +1546,7 @@ br_multicast_leave_group(struct net_brid
+@@ -1526,7 +1553,7 @@ br_multicast_leave_group(struct net_brid
        for (p = mlock_dereference(mp->ports, br);
             p != NULL;
             p = mlock_dereference(p->next, br)) {
@@ -200,7 +200,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                        continue;
  
                if (!hlist_unhashed(&p->mglist) &&
-@@ -1537,8 +1564,8 @@ out:
+@@ -1544,8 +1571,8 @@ out:
  
  static void br_ip4_multicast_leave_group(struct net_bridge *br,
                                         struct net_bridge_port *port,
@@ -211,7 +211,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
        struct br_ip br_group;
        struct bridge_mcast_own_query *own_query;
-@@ -1553,14 +1580,14 @@ static void br_ip4_multicast_leave_group
+@@ -1560,14 +1587,14 @@ static void br_ip4_multicast_leave_group
        br_group.vid = vid;
  
        br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
@@ -228,7 +228,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
        struct br_ip br_group;
        struct bridge_mcast_own_query *own_query;
-@@ -1575,7 +1602,7 @@ static void br_ip6_multicast_leave_group
+@@ -1582,7 +1609,7 @@ static void br_ip6_multicast_leave_group
        br_group.vid = vid;
  
        br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
@@ -237,7 +237,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  }
  #endif
  
-@@ -1584,6 +1611,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1591,6 +1618,7 @@ static int br_multicast_ipv4_rcv(struct
                                 struct sk_buff *skb,
                                 u16 vid)
  {
@@ -245,7 +245,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
        struct sk_buff *skb_trimmed = NULL;
        struct igmphdr *ih;
        int err;
-@@ -1600,12 +1628,13 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1607,12 +1635,13 @@ static int br_multicast_ipv4_rcv(struct
  
        BR_INPUT_SKB_CB(skb)->igmp = 1;
        ih = igmp_hdr(skb);
@@ -260,7 +260,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                break;
        case IGMPV3_HOST_MEMBERSHIP_REPORT:
                err = br_ip4_multicast_igmp3_report(br, port, skb_trimmed, vid);
-@@ -1614,7 +1643,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1621,7 +1650,7 @@ static int br_multicast_ipv4_rcv(struct
                err = br_ip4_multicast_query(br, port, skb_trimmed, vid);
                break;
        case IGMP_HOST_LEAVE_MESSAGE:
@@ -269,7 +269,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                break;
        }
  
-@@ -1630,6 +1659,7 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1637,6 +1666,7 @@ static int br_multicast_ipv6_rcv(struct
                                 struct sk_buff *skb,
                                 u16 vid)
  {
@@ -277,7 +277,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
        struct sk_buff *skb_trimmed = NULL;
        struct mld_msg *mld;
        int err;
-@@ -1649,8 +1679,9 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1656,8 +1686,9 @@ static int br_multicast_ipv6_rcv(struct
  
        switch (mld->mld_type) {
        case ICMPV6_MGM_REPORT:
@@ -288,7 +288,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                break;
        case ICMPV6_MLD2_REPORT:
                err = br_ip6_multicast_mld2_report(br, port, skb_trimmed, vid);
-@@ -1659,7 +1690,8 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1666,7 +1697,8 @@ static int br_multicast_ipv6_rcv(struct
                err = br_ip6_multicast_query(br, port, skb_trimmed, vid);
                break;
        case ICMPV6_MGM_REDUCTION:
index fe599798ce3a54a24638786e069faf95fbbd8ef4..9350503415c5f4b48f3429b364d304dfb058f8e2 100644 (file)
@@ -147,7 +147,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        }
        return &ip6n->tnls[prio][h];
  }
-@@ -369,6 +378,12 @@ ip6_tnl_dev_uninit(struct net_device *de
+@@ -372,6 +381,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 <cyrus@openwrt.org>
        if (dev == ip6n->fb_tnl_dev)
                RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
        else
-@@ -765,6 +780,108 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t,
+@@ -768,6 +783,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 <cyrus@openwrt.org>
  /**
   * ip6_tnl_rcv - decapsulate IPv6 packet and retransmit it locally
   *   @skb: received socket buffer
-@@ -810,6 +927,26 @@ static int ip6_tnl_rcv(struct sk_buff *s
+@@ -813,6 +930,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,15 +296,15 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  
                __skb_tunnel_rx(skb, t->dev, t->net);
  
-@@ -1145,6 +1282,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
+@@ -1153,6 +1290,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
        __u32 mtu;
        u8 tproto;
        int err;
 +      struct __ip6_tnl_fmr *fmr;
  
-       tproto = ACCESS_ONCE(t->parms.proto);
-       if ((tproto != IPPROTO_IPV6 && tproto != 0) ||
-@@ -1175,6 +1313,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
+       if (unlikely(!pskb_may_pull(skb, sizeof(*ipv6h))))
+               return -1;
+@@ -1187,6 +1325,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 <cyrus@openwrt.org>
        err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu);
        if (err != 0) {
                if (err == -EMSGSIZE)
-@@ -1289,6 +1439,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
+@@ -1301,6 +1451,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
        t->parms.flowinfo = p->flowinfo;
        t->parms.link = p->link;
        t->parms.proto = p->proto;
@@ -338,7 +338,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        dst_cache_reset(&t->dst_cache);
        ip6_tnl_link_config(t);
        return 0;
-@@ -1327,6 +1485,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
+@@ -1339,6 +1497,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 <cyrus@openwrt.org>
        memcpy(p->name, u->name, sizeof(u->name));
  }
  
-@@ -1622,6 +1781,15 @@ static int ip6_tnl_validate(struct nlatt
+@@ -1634,6 +1793,15 @@ static int ip6_tnl_validate(struct nlatt
        return 0;
  }
  
@@ -362,7 +362,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  static void ip6_tnl_netlink_parms(struct nlattr *data[],
                                  struct __ip6_tnl_parm *parms)
  {
-@@ -1653,6 +1821,46 @@ static void ip6_tnl_netlink_parms(struct
+@@ -1665,6 +1833,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 <cyrus@openwrt.org>
  }
  
  static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
-@@ -1705,6 +1913,12 @@ static void ip6_tnl_dellink(struct net_d
+@@ -1717,6 +1925,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 <cyrus@openwrt.org>
        return
                /* IFLA_IPTUN_LINK */
                nla_total_size(4) +
-@@ -1722,6 +1936,24 @@ static size_t ip6_tnl_get_size(const str
+@@ -1734,6 +1948,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 <cyrus@openwrt.org>
                0;
  }
  
-@@ -1729,6 +1961,9 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -1741,6 +1973,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 <cyrus@openwrt.org>
  
        if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
            nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
-@@ -1737,8 +1972,27 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -1749,8 +1984,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 <cyrus@openwrt.org>
        return 0;
  
  nla_put_failure:
-@@ -1762,6 +2016,7 @@ static const struct nla_policy ip6_tnl_p
+@@ -1774,6 +2028,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 },
index c921a079aef3f56bce7599c44c075180cbcde05a..1d33e421ff8b6673a2c0c27e71bcf89f87742be3 100644 (file)
@@ -143,7 +143,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static const struct rt6_info ip6_blk_hole_entry_template = {
        .dst = {
                .__refcnt       = ATOMIC_INIT(1),
-@@ -1899,6 +1916,11 @@ static struct rt6_info *ip6_route_info_c
+@@ -1906,6 +1923,11 @@ static struct rt6_info *ip6_route_info_c
                        rt->dst.output = ip6_pkt_prohibit_out;
                        rt->dst.input = ip6_pkt_prohibit;
                        break;
@@ -155,7 +155,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                case RTN_THROW:
                case RTN_UNREACHABLE:
                default:
-@@ -2502,6 +2524,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -2509,6 +2531,17 @@ static int ip6_pkt_prohibit_out(struct n
        return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  
@@ -173,7 +173,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  /*
   *    Allocate a dst for local (unicast / anycast) address.
   */
-@@ -2744,7 +2777,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -2753,7 +2786,8 @@ static int rtm_to_fib6_config(struct sk_
        if (rtm->rtm_type == RTN_UNREACHABLE ||
            rtm->rtm_type == RTN_BLACKHOLE ||
            rtm->rtm_type == RTN_PROHIBIT ||
@@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        if (rtm->rtm_type == RTN_LOCAL)
-@@ -3097,6 +3131,9 @@ static int rt6_fill_node(struct net *net
+@@ -3106,6 +3140,9 @@ static int rt6_fill_node(struct net *net
                case -EACCES:
                        rtm->rtm_type = RTN_PROHIBIT;
                        break;
@@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                case -EAGAIN:
                        rtm->rtm_type = RTN_THROW;
                        break;
-@@ -3376,6 +3413,8 @@ static int ip6_route_dev_notify(struct n
+@@ -3385,6 +3422,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                net->ipv6.ip6_prohibit_entry->dst.dev = dev;
                net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -202,7 +202,15 @@ 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
-@@ -3602,6 +3641,17 @@ static int __net_init ip6_route_net_init
+@@ -3396,6 +3435,7 @@ static int ip6_route_dev_notify(struct n
+               in6_dev_put(net->ipv6.ip6_null_entry->rt6i_idev);
+ #ifdef CONFIG_IPV6_MULTIPLE_TABLES
+               in6_dev_put(net->ipv6.ip6_prohibit_entry->rt6i_idev);
++              in6_dev_put(net->ipv6.ip6_policy_failed_entry->rt6i_idev);
+               in6_dev_put(net->ipv6.ip6_blk_hole_entry->rt6i_idev);
+ #endif
+       }
+@@ -3611,6 +3651,17 @@ static int __net_init ip6_route_net_init
        net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
        dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
                         ip6_template_metrics, true);
@@ -220,7 +228,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
  
        net->ipv6.sysctl.flush_delay = 0;
-@@ -3620,6 +3670,8 @@ out:
+@@ -3629,6 +3680,8 @@ out:
        return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -229,7 +237,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
        kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -3637,6 +3689,7 @@ static void __net_exit ip6_route_net_exi
+@@ -3646,6 +3699,7 @@ static void __net_exit ip6_route_net_exi
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        kfree(net->ipv6.ip6_prohibit_entry);
        kfree(net->ipv6.ip6_blk_hole_entry);
@@ -237,7 +245,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
        dst_entries_destroy(&net->ipv6.ip6_dst_ops);
  }
-@@ -3710,6 +3763,9 @@ void __init ip6_route_init_special_entri
+@@ -3719,6 +3773,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 7c96f4f171878ebaac9b749c875017062ba64cb6..0734bfc5afbb2a984a6c75e9d37b99ff6c859c31 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4271,6 +4271,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4300,6 +4300,9 @@ static enum gro_result dev_gro_receive(s
        enum gro_result ret;
        int grow;
  
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (!(skb->dev->features & NETIF_F_GRO))
                goto normal;
  
-@@ -5437,6 +5440,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5470,6 +5473,48 @@ static void __netdev_adjacent_dev_unlink
                                           &upper_dev->adj_list.lower);
  }
  
@@ -76,7 +76,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 *private)
-@@ -5508,6 +5553,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5541,6 +5586,7 @@ static int __netdev_upper_dev_link(struc
                        goto rollback_lower_mesh;
        }
  
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                      &changeupper_info.info);
        return 0;
-@@ -5634,6 +5680,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5667,6 +5713,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 <nbd@nbd.name>
        call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
                                      &changeupper_info.info);
  }
-@@ -6174,6 +6221,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6209,6 +6256,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
@@ -114,7 +114,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
 @@ -642,7 +642,8 @@ struct sk_buff {
-       __u8                    ipvs_property:1;
        __u8                    inner_protocol_type:1;
        __u8                    remcsum_offload:1;
 -      /* 3 or 5 bit hole */
index 716c1a0273fe15b93180138ebcff28853705b54d..f17c7bd556aa9982e711b4f8ff895e027a70fb9c 100644 (file)
@@ -52,7 +52,7 @@
  /**
   *    pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *    @skb: buffer to alter
-@@ -2312,16 +2316,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2314,16 +2318,6 @@ static inline struct sk_buff *dev_alloc_
  }
  
  
@@ -86,7 +86,7 @@
        help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -2747,10 +2747,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -2776,10 +2776,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 e5c9043065ab7b74fce97bbb4bd88642287dfa68..8e9b6e857ca42ccc8318b0b6d8eb94e9ce8d6418 100644 (file)
@@ -40,7 +40,7 @@
  /*
   * Some BIOS implementations leave the Intel GPU interrupts enabled,
   * even though no one is handling them (f.e. i915 driver is never loaded).
-@@ -3065,6 +3069,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3069,6 +3073,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
  
index 931f43fce4810c8be0e72d0bba2c9dcb96c3572d..d367577cbffd685097414ca78391895cd9b8e25f 100644 (file)
        if (!root_irq_dir)
 --- a/kernel/time/timer_list.c
 +++ b/kernel/time/timer_list.c
-@@ -393,6 +393,8 @@ static int __init init_timer_list_procfs
+@@ -399,6 +399,8 @@ static int __init init_timer_list_procfs
  {
        struct proc_dir_entry *pe;
  
                return -ENOMEM;
 --- a/mm/vmalloc.c
 +++ b/mm/vmalloc.c
-@@ -2684,6 +2684,8 @@ static const struct file_operations proc
+@@ -2685,6 +2685,8 @@ static const struct file_operations proc
  
  static int __init proc_vmalloc_init(void)
  {
  }
 --- a/mm/vmstat.c
 +++ b/mm/vmstat.c
-@@ -1558,10 +1558,12 @@ static int __init setup_vmstat(void)
+@@ -1560,10 +1560,12 @@ static int __init setup_vmstat(void)
        cpu_notifier_register_done();
  #endif
  #ifdef CONFIG_PROC_FS
  
 --- a/net/ipv4/route.c
 +++ b/net/ipv4/route.c
-@@ -420,6 +420,9 @@ static struct pernet_operations ip_rt_pr
+@@ -423,6 +423,9 @@ static struct pernet_operations ip_rt_pr
  
  static int __init ip_rt_proc_init(void)
  {