[source] kernel: update kernel 3.18 to version 3.18.43

LEDE Commits lede-commits at lists.infradead.org
Mon Oct 24 10:49:22 PDT 2016


stintel pushed a commit to source.git, branch master:
https://git.lede-project.org/75e63c249411773613f3f201bea9245623d9f57a

commit 75e63c249411773613f3f201bea9245623d9f57a
Author: Stijn Tintel <stijn at linux-ipv6.be>
AuthorDate: Thu Sep 15 21:16:34 2016 +0200

    kernel: update kernel 3.18 to version 3.18.43
    
    Refresh patches for all targets supporting 3.18 and not marked broken.
    Compile-tested on all targets using 3.18 and not marked broken.
    
    Changes to generic/610-netfilter_match_bypass_default_checks.patch based
    on 84d489f64f3b382d5544e342f66d8806e94e85d3.
    
    Signed-off-by: Stijn Tintel <stijn at linux-ipv6.be>
---
 include/kernel-version.mk                          |  4 +-
 .../linux/ar7/patches-3.18/500-serial_kludge.patch |  2 +-
 .../au1000/patches-3.18/002-openwrt_rootfs.patch   | 10 ++--
 .../au1000/patches-3.18/003-au1000_eth_ioctl.patch | 13 +++--
 .../patches-3.18/004-watchdog_low_init.patch       | 12 ++--
 target/linux/au1000/patches-3.18/006-codec.patch   | 14 ++---
 .../generic/patches-3.18/025-bcma_backport.patch   |  4 +-
 .../generic/patches-3.18/026-bcma-from-3.20.patch  |  6 +-
 .../generic/patches-3.18/027-bcma-from-4.1.patch   | 12 ++--
 .../generic/patches-3.18/032-bcma-from-4.6.patch   |  6 +-
 ...trie-Push-rcu_read_lock-unlock-to-callers.patch | 10 ++--
 ...-overlayfs-fallback-to-readonly-when-full.patch |  8 +--
 ...-tcp-make-challenge-acks-less-predictable.patch | 66 ----------------------
 ..._freeing_init-new-hook-for-archs-before-m.patch | 10 ++--
 ...upport_for_moving_ndp_to_end_of_ncm_frame.patch | 16 +++---
 ...n-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch |  6 +-
 .../generic/patches-3.18/204-module_strip.patch    |  4 +-
 ...tach-mtd-device-named-ubi-or-data-on-boot.patch |  4 +-
 ...-mounting-ubi0-rootfs-in-init-do_mounts.c.patch |  2 +-
 .../494-mtd-ubi-add-EOF-marker-support.patch       |  2 +-
 .../550-ubifs-symlink-xattr-support.patch          |  2 +-
 ...610-netfilter_match_bypass_default_checks.patch | 25 +++-----
 .../patches-3.18/621-sched_act_connmark.patch      |  2 +-
 .../patches-3.18/630-packet_socket_type.patch      |  4 +-
 .../patches-3.18/657-qdisc_reduce_truesize.patch   |  2 +-
 .../patches-3.18/660-fq_codel_defaults.patch       |  2 +-
 .../patches-3.18/662-use_fq_codel_by_default.patch |  8 +--
 .../patches-3.18/663-remove_pfifo_fast.patch       |  2 +-
 .../patches-3.18/773-bgmac-add-srab-switch.patch   |  4 +-
 .../810-pci_disable_common_quirks.patch            |  6 +-
 .../811-pci_disable_usb_common_quirks.patch        |  2 +-
 .../linux/generic/patches-3.18/863-gpiommc.patch   |  2 +-
 .../generic/patches-3.18/904-debloat_dma_buf.patch |  2 +-
 .../patches-3.18/020-gateworks_i2c_pld.patch       |  2 +-
 .../patches-3.18/090-increase_entropy_pools.patch  |  2 +-
 .../ixp4xx/patches-3.18/160-delayed_uart_io.patch  |  8 +--
 .../mcs814x/patches-3.18/008-mcs814x_gpio.patch    |  2 +-
 37 files changed, 107 insertions(+), 181 deletions(-)

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index da96e1e..9c5294c 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -2,11 +2,11 @@
 
 LINUX_RELEASE?=1
 
-LINUX_VERSION-3.18 = .29
+LINUX_VERSION-3.18 = .43
 LINUX_VERSION-4.1 = .34
 LINUX_VERSION-4.4 = .27
 
-LINUX_KERNEL_MD5SUM-3.18.29 = b25737a0bc98e80d12200de93f239c28
+LINUX_KERNEL_MD5SUM-3.18.43 = b1faeb4a2e1e70ffe061bdbb3452840a
 LINUX_KERNEL_MD5SUM-4.1.34 = fba99f0f4765ebf01033e69518740a3c
 LINUX_KERNEL_MD5SUM-4.4.27 = 6c437dd8f9e964c843211cf99a876b42724fe9f2013241c13e14b6ce17846afd
 
diff --git a/target/linux/ar7/patches-3.18/500-serial_kludge.patch b/target/linux/ar7/patches-3.18/500-serial_kludge.patch
index 08bd6a6..fc72530 100644
--- a/target/linux/ar7/patches-3.18/500-serial_kludge.patch
+++ b/target/linux/ar7/patches-3.18/500-serial_kludge.patch
@@ -14,7 +14,7 @@
  };
  
  /* Uart divisor latch read */
-@@ -3174,7 +3181,11 @@ static void serial8250_console_putchar(s
+@@ -3168,7 +3175,11 @@ static void serial8250_console_putchar(s
  {
  	struct uart_8250_port *up = up_to_u8250p(port);
  
diff --git a/target/linux/au1000/patches-3.18/002-openwrt_rootfs.patch b/target/linux/au1000/patches-3.18/002-openwrt_rootfs.patch
index 3fd2d84..1de8236 100644
--- a/target/linux/au1000/patches-3.18/002-openwrt_rootfs.patch
+++ b/target/linux/au1000/patches-3.18/002-openwrt_rootfs.patch
@@ -1,11 +1,11 @@
 --- a/arch/mips/alchemy/board-mtx1.c
 +++ b/arch/mips/alchemy/board-mtx1.c
 @@ -169,7 +169,7 @@ static struct platform_device mtx1_gpio_
-
+ 
  static struct mtd_partition mtx1_mtd_partitions[] = {
-	{
+ 	{
 -		.name	= "filesystem",
 +		.name	= "rootfs",
-		.size	= 0x01C00000,
-		.offset = 0,
-	},
+ 		.size	= 0x01C00000,
+ 		.offset = 0,
+ 	},
diff --git a/target/linux/au1000/patches-3.18/003-au1000_eth_ioctl.patch b/target/linux/au1000/patches-3.18/003-au1000_eth_ioctl.patch
index 590d8c2..58927f5 100644
--- a/target/linux/au1000/patches-3.18/003-au1000_eth_ioctl.patch
+++ b/target/linux/au1000/patches-3.18/003-au1000_eth_ioctl.patch
@@ -1,16 +1,17 @@
 --- a/drivers/net/ethernet/amd/au1000_eth.c
 +++ b/drivers/net/ethernet/amd/au1000_eth.c
 @@ -1113,10 +1113,14 @@ static void au1000_multicast_list(struct
-	writel(reg, &aup->mac->control);
+ 	writel(reg, &aup->mac->control);
  }
-
+ 
 +#define AU1000_KNOWN_PHY_IOCTLS        (SIOCGMIIPHY & 0xfff0)
  static int au1000_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
  {
-	struct au1000_private *aup = netdev_priv(dev);
-
+ 	struct au1000_private *aup = netdev_priv(dev);
+ 
 +	if((cmd & AU1000_KNOWN_PHY_IOCTLS) != AU1000_KNOWN_PHY_IOCTLS)
 +		return -EINVAL;
 +
-	if (!netif_running(dev))
-		return -EINVAL;
+ 	if (!netif_running(dev))
+ 		return -EINVAL;
+ 
diff --git a/target/linux/au1000/patches-3.18/004-watchdog_low_init.patch b/target/linux/au1000/patches-3.18/004-watchdog_low_init.patch
index b1d2af5..0911040 100644
--- a/target/linux/au1000/patches-3.18/004-watchdog_low_init.patch
+++ b/target/linux/au1000/patches-3.18/004-watchdog_low_init.patch
@@ -1,12 +1,12 @@
 --- a/arch/mips/alchemy/board-mtx1.c
 +++ b/arch/mips/alchemy/board-mtx1.c
 @@ -98,6 +98,9 @@ void __init board_setup(void)
-	alchemy_gpio_direction_output(211, 1);	/* green on */
-	alchemy_gpio_direction_output(212, 0);	/* red off */
-
+ 	alchemy_gpio_direction_output(211, 1);	/* green on */
+ 	alchemy_gpio_direction_output(212, 0);	/* red off */
+ 
 +	/* Set watchdog pin low */
 +	alchemy_gpio_direction_output(215, 0);
 +
-	pm_power_off = mtx1_power_off;
-	_machine_halt = mtx1_power_off;
-	_machine_restart = mtx1_reset;
+ 	pm_power_off = mtx1_power_off;
+ 	_machine_halt = mtx1_power_off;
+ 	_machine_restart = mtx1_reset;
diff --git a/target/linux/au1000/patches-3.18/006-codec.patch b/target/linux/au1000/patches-3.18/006-codec.patch
index 45537c6..d80cf56 100644
--- a/target/linux/au1000/patches-3.18/006-codec.patch
+++ b/target/linux/au1000/patches-3.18/006-codec.patch
@@ -1,17 +1,17 @@
 --- a/arch/mips/alchemy/devboards/db1300.c
 +++ b/arch/mips/alchemy/devboards/db1300.c
 @@ -712,6 +712,7 @@ static struct platform_device db1300_lcd
-
+ 
  /**********************************************************************/
-
+ 
 +#ifdef CONFIG_TOUCHSCREEN_WM97XX
  static void db1300_wm97xx_irqen(struct wm97xx *wm, int enable)
  {
-	if (enable)
+ 	if (enable)
 @@ -744,6 +745,15 @@ static int db1300_wm97xx_probe(struct pl
-	return wm97xx_register_mach_ops(wm, &db1300_wm97xx_ops);
+ 	return wm97xx_register_mach_ops(wm, &db1300_wm97xx_ops);
  }
-
+ 
 +#else
 +
 +static int db1300_wm97xx_probe(struct platform_device *pdev)
@@ -22,5 +22,5 @@
 +#endif
 +
  static struct platform_driver db1300_wm97xx_driver = {
-	.driver.name	= "wm97xx-touch",
-	.driver.owner	= THIS_MODULE,
+ 	.driver.name	= "wm97xx-touch",
+ 	.driver.owner	= THIS_MODULE,
diff --git a/target/linux/generic/patches-3.18/025-bcma_backport.patch b/target/linux/generic/patches-3.18/025-bcma_backport.patch
index ca24e86..ec1cb00 100644
--- a/target/linux/generic/patches-3.18/025-bcma_backport.patch
+++ b/target/linux/generic/patches-3.18/025-bcma_backport.patch
@@ -1,6 +1,6 @@
 --- a/drivers/bcma/bcma_private.h
 +++ b/drivers/bcma/bcma_private.h
-@@ -24,6 +24,7 @@ struct bcma_bus;
+@@ -22,6 +22,7 @@ struct bcma_bus;
  /* main.c */
  bool bcma_wait_value(struct bcma_device *core, u16 reg, u32 mask, u32 value,
  		     int timeout);
@@ -223,7 +223,7 @@
  			  core->core_index, bcma_device_name(&core->id),
 --- a/include/linux/bcma/bcma.h
 +++ b/include/linux/bcma/bcma.h
-@@ -447,4 +447,6 @@ extern u32 bcma_chipco_pll_read(struct b
+@@ -448,4 +448,6 @@ extern u32 bcma_chipco_pll_read(struct b
  #define  BCMA_DMA_TRANSLATION_DMA64_CMT	0x80000000 /* Client Mode Translation for 64-bit DMA */
  extern u32 bcma_core_dma_translation(struct bcma_device *core);
  
diff --git a/target/linux/generic/patches-3.18/026-bcma-from-3.20.patch b/target/linux/generic/patches-3.18/026-bcma-from-3.20.patch
index 17c06b0..628b0bd 100644
--- a/target/linux/generic/patches-3.18/026-bcma-from-3.20.patch
+++ b/target/linux/generic/patches-3.18/026-bcma-from-3.20.patch
@@ -1,6 +1,6 @@
 --- a/drivers/bcma/bcma_private.h
 +++ b/drivers/bcma/bcma_private.h
-@@ -25,22 +25,18 @@ struct bcma_bus;
+@@ -23,22 +23,18 @@ struct bcma_bus;
  bool bcma_wait_value(struct bcma_device *core, u16 reg, u32 mask, u32 value,
  		     int timeout);
  void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core);
@@ -26,7 +26,7 @@
  
  /* sprom.c */
  int bcma_sprom_get(struct bcma_bus *bus);
-@@ -111,6 +107,14 @@ extern int bcma_chipco_watchdog_register
+@@ -109,6 +105,14 @@ extern int bcma_chipco_watchdog_register
  #ifdef CONFIG_BCMA_DRIVER_PCI_HOSTMODE
  bool bcma_core_pci_is_in_hostmode(struct bcma_drv_pci *pc);
  void bcma_core_pci_hostmode_init(struct bcma_drv_pci *pc);
@@ -467,7 +467,7 @@
  	if (!bus->drv_cc.core)
 --- a/include/linux/bcma/bcma.h
 +++ b/include/linux/bcma/bcma.h
-@@ -318,6 +318,7 @@ struct bcma_bus {
+@@ -319,6 +319,7 @@ struct bcma_bus {
  	const struct bcma_host_ops *ops;
  
  	enum bcma_hosttype hosttype;
diff --git a/target/linux/generic/patches-3.18/027-bcma-from-4.1.patch b/target/linux/generic/patches-3.18/027-bcma-from-4.1.patch
index 1d751a0..c88a816 100644
--- a/target/linux/generic/patches-3.18/027-bcma-from-4.1.patch
+++ b/target/linux/generic/patches-3.18/027-bcma-from-4.1.patch
@@ -1,6 +1,6 @@
 --- a/drivers/bcma/bcma_private.h
 +++ b/drivers/bcma/bcma_private.h
-@@ -26,6 +26,7 @@ bool bcma_wait_value(struct bcma_device
+@@ -24,6 +24,7 @@ bool bcma_wait_value(struct bcma_device
  		     int timeout);
  void bcma_prepare_core(struct bcma_bus *bus, struct bcma_device *core);
  void bcma_init_bus(struct bcma_bus *bus);
@@ -8,7 +8,7 @@
  int bcma_bus_register(struct bcma_bus *bus);
  void bcma_bus_unregister(struct bcma_bus *bus);
  int __init bcma_bus_early_register(struct bcma_bus *bus);
-@@ -42,6 +43,9 @@ int bcma_bus_scan(struct bcma_bus *bus);
+@@ -40,6 +41,9 @@ int bcma_bus_scan(struct bcma_bus *bus);
  int bcma_sprom_get(struct bcma_bus *bus);
  
  /* driver_chipcommon.c */
@@ -18,7 +18,7 @@
  #ifdef CONFIG_BCMA_DRIVER_MIPS
  void bcma_chipco_serial_init(struct bcma_drv_cc *cc);
  extern struct platform_device bcma_pflash_dev;
-@@ -52,6 +56,8 @@ int bcma_core_chipcommon_b_init(struct b
+@@ -50,6 +54,8 @@ int bcma_core_chipcommon_b_init(struct b
  void bcma_core_chipcommon_b_free(struct bcma_drv_cc_b *ccb);
  
  /* driver_chipcommon_pmu.c */
@@ -27,7 +27,7 @@
  u32 bcma_pmu_get_alp_clock(struct bcma_drv_cc *cc);
  u32 bcma_pmu_get_cpu_clock(struct bcma_drv_cc *cc);
  
-@@ -100,7 +106,35 @@ static inline void __exit bcma_host_soc_
+@@ -98,7 +104,35 @@ static inline void __exit bcma_host_soc_
  #endif /* CONFIG_BCMA_HOST_SOC && CONFIG_OF */
  
  /* driver_pci.c */
@@ -63,7 +63,7 @@
  
  extern int bcma_chipco_watchdog_register(struct bcma_drv_cc *cc);
  
-@@ -117,6 +151,39 @@ static inline void bcma_core_pci_hostmod
+@@ -115,6 +149,39 @@ static inline void bcma_core_pci_hostmod
  }
  #endif /* CONFIG_BCMA_DRIVER_PCI_HOSTMODE */
  
@@ -500,7 +500,7 @@
  	}
 --- a/include/linux/bcma/bcma.h
 +++ b/include/linux/bcma/bcma.h
-@@ -434,6 +434,27 @@ static inline struct bcma_device *bcma_f
+@@ -435,6 +435,27 @@ static inline struct bcma_device *bcma_f
  	return bcma_find_core_unit(bus, coreid, 0);
  }
  
diff --git a/target/linux/generic/patches-3.18/032-bcma-from-4.6.patch b/target/linux/generic/patches-3.18/032-bcma-from-4.6.patch
index 9df6e25..85eeaad 100644
--- a/target/linux/generic/patches-3.18/032-bcma-from-4.6.patch
+++ b/target/linux/generic/patches-3.18/032-bcma-from-4.6.patch
@@ -359,7 +359,7 @@
  #define BCMA_CORE_ARM_CA7		0x847
  #define BCMA_CORE_SYS_MEM		0x849
  #define BCMA_CORE_DEFAULT		0xFFF
-@@ -199,6 +201,7 @@ struct bcma_host_ops {
+@@ -200,6 +202,7 @@ struct bcma_host_ops {
  #define  BCMA_PKG_ID_BCM4707	1
  #define  BCMA_PKG_ID_BCM4708	2
  #define  BCMA_PKG_ID_BCM4709	0
@@ -470,7 +470,7 @@
  extern u32 bcma_chipco_get_alp_clock(struct bcma_drv_cc *cc);
 --- a/drivers/bcma/bcma_private.h
 +++ b/drivers/bcma/bcma_private.h
-@@ -46,10 +46,6 @@ int bcma_sprom_get(struct bcma_bus *bus)
+@@ -44,10 +44,6 @@ int bcma_sprom_get(struct bcma_bus *bus)
  void bcma_core_chipcommon_early_init(struct bcma_drv_cc *cc);
  void bcma_core_chipcommon_init(struct bcma_drv_cc *cc);
  void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable);
@@ -481,7 +481,7 @@
  
  /* driver_chipcommon_b.c */
  int bcma_core_chipcommon_b_init(struct bcma_drv_cc_b *ccb);
-@@ -61,6 +57,21 @@ void bcma_pmu_init(struct bcma_drv_cc *c
+@@ -59,6 +55,21 @@ void bcma_pmu_init(struct bcma_drv_cc *c
  u32 bcma_pmu_get_alp_clock(struct bcma_drv_cc *cc);
  u32 bcma_pmu_get_cpu_clock(struct bcma_drv_cc *cc);
  
diff --git a/target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch b/target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch
index b36bcd8..fe55323 100644
--- a/target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch
+++ b/target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch
@@ -134,7 +134,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	return ret;
  }
  
-@@ -919,7 +918,7 @@ void fib_del_ifaddr(struct in_ifaddr *if
+@@ -923,7 +922,7 @@ no_promotions:
  #undef BRD1_OK
  }
  
@@ -143,7 +143,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  {
  
  	struct fib_result       res;
-@@ -929,6 +928,11 @@ static void nl_fib_lookup(struct fib_res
+@@ -933,6 +932,11 @@ static void nl_fib_lookup(struct fib_res
  		.flowi4_tos = frn->fl_tos,
  		.flowi4_scope = frn->fl_scope,
  	};
@@ -155,7 +155,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	frn->err = -ENOENT;
  	if (tb) {
-@@ -945,6 +949,8 @@ static void nl_fib_lookup(struct fib_res
+@@ -949,6 +953,8 @@ static void nl_fib_lookup(struct fib_res
  		}
  		local_bh_enable();
  	}
@@ -164,7 +164,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  }
  
  static void nl_fib_input(struct sk_buff *skb)
-@@ -952,7 +958,6 @@ static void nl_fib_input(struct sk_buff
+@@ -956,7 +962,6 @@ static void nl_fib_input(struct sk_buff
  	struct net *net;
  	struct fib_result_nl *frn;
  	struct nlmsghdr *nlh;
@@ -172,7 +172,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	u32 portid;
  
  	net = sock_net(skb->sk);
-@@ -967,9 +972,7 @@ static void nl_fib_input(struct sk_buff
+@@ -971,9 +976,7 @@ static void nl_fib_input(struct sk_buff
  	nlh = nlmsg_hdr(skb);
  
  	frn = (struct fib_result_nl *) nlmsg_data(nlh);
diff --git a/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch b/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
index 1bcd515..c75af99 100644
--- a/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
+++ b/target/linux/generic/patches-3.18/090-overlayfs-fallback-to-readonly-when-full.patch
@@ -44,7 +44,7 @@ Miklos
 
 --- a/fs/overlayfs/copy_up.c
 +++ b/fs/overlayfs/copy_up.c
-@@ -311,6 +311,9 @@ int ovl_copy_up_one(struct dentry *paren
+@@ -313,6 +313,9 @@ int ovl_copy_up_one(struct dentry *paren
  	struct cred *override_cred;
  	char *link = NULL;
  
@@ -76,9 +76,9 @@ Miklos
  	err = ovl_lock_rename_workdir(workdir, upperdir);
  	if (err)
  		goto out;
-@@ -506,6 +512,9 @@ static int ovl_remove_and_whiteout(struc
- 	struct dentry *opaquedir = NULL;
+@@ -507,6 +513,9 @@ static int ovl_remove_and_whiteout(struc
  	int err;
+ 	int flags = 0;
  
 +	if (WARN_ON(!workdir))
 +		return -EROFS;
@@ -88,7 +88,7 @@ Miklos
  		err = PTR_ERR(opaquedir);
 --- a/fs/overlayfs/super.c
 +++ b/fs/overlayfs/super.c
-@@ -741,9 +741,15 @@ static int ovl_fill_super(struct super_b
+@@ -760,9 +760,15 @@ static int ovl_fill_super(struct super_b
  	ufs->workdir = ovl_workdir_create(ufs->upper_mnt, workpath.dentry);
  	err = PTR_ERR(ufs->workdir);
  	if (IS_ERR(ufs->workdir)) {
diff --git a/target/linux/generic/patches-3.18/096-tcp-make-challenge-acks-less-predictable.patch b/target/linux/generic/patches-3.18/096-tcp-make-challenge-acks-less-predictable.patch
deleted file mode 100644
index b984f6e..0000000
--- a/target/linux/generic/patches-3.18/096-tcp-make-challenge-acks-less-predictable.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 75ff39ccc1bd5d3c455b6822ab09e533c551f758 Mon Sep 17 00:00:00 2001
-From: Eric Dumazet <edumazet at google.com>
-Date: Sun, 10 Jul 2016 10:04:02 +0200
-Subject: [PATCH] tcp: make challenge acks less predictable
-
-Yue Cao claims that current host rate limiting of challenge ACKS
-(RFC 5961) could leak enough information to allow a patient attacker
-to hijack TCP sessions. He will soon provide details in an academic
-paper.
-
-This patch increases the default limit from 100 to 1000, and adds
-some randomization so that the attacker can no longer hijack
-sessions without spending a considerable amount of probes.
-
-Based on initial analysis and patch from Linus.
-
-Note that we also have per socket rate limiting, so it is tempting
-to remove the host limit in the future.
-
-v2: randomize the count of challenge acks per second, not the period.
-
-Fixes: 282f23c6ee34 ("tcp: implement RFC 5961 3.2")
-Reported-by: Yue Cao <ycao009 at ucr.edu>
-Signed-off-by: Eric Dumazet <edumazet at google.com>
-Suggested-by: Linus Torvalds <torvalds at linux-foundation.org>
-Cc: Yuchung Cheng <ycheng at google.com>
-Cc: Neal Cardwell <ncardwell at google.com>
-Acked-by: Neal Cardwell <ncardwell at google.com>
-Acked-by: Yuchung Cheng <ycheng at google.com>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
- net/ipv4/tcp_input.c | 15 ++++++++++-----
- 1 file changed, 10 insertions(+), 5 deletions(-)
-
---- a/net/ipv4/tcp_input.c
-+++ b/net/ipv4/tcp_input.c
-@@ -88,7 +88,7 @@ int sysctl_tcp_adv_win_scale __read_most
- EXPORT_SYMBOL(sysctl_tcp_adv_win_scale);
- 
- /* rfc5961 challenge ack rate limiting */
--int sysctl_tcp_challenge_ack_limit = 100;
-+int sysctl_tcp_challenge_ack_limit = 1000;
- 
- int sysctl_tcp_stdurg __read_mostly;
- int sysctl_tcp_rfc1337 __read_mostly;
-@@ -3325,12 +3325,18 @@ static void tcp_send_challenge_ack(struc
- 	static u32 challenge_timestamp;
- 	static unsigned int challenge_count;
- 	u32 now = jiffies / HZ;
-+	u32 count;
- 
- 	if (now != challenge_timestamp) {
-+		u32 half = (sysctl_tcp_challenge_ack_limit + 1) >> 1;
-+
- 		challenge_timestamp = now;
--		challenge_count = 0;
-+		WRITE_ONCE(challenge_count, half +
-+		           prandom_u32_max(sysctl_tcp_challenge_ack_limit));
- 	}
--	if (++challenge_count <= sysctl_tcp_challenge_ack_limit) {
-+	count = READ_ONCE(challenge_count);
-+	if (count > 0) {
-+		WRITE_ONCE(challenge_count, count - 1);
- 		NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPCHALLENGEACK);
- 		tcp_send_ack(sk);
- 	}
diff --git a/target/linux/generic/patches-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch b/target/linux/generic/patches-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch
index a6310c6..352bf6d 100644
--- a/target/linux/generic/patches-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch
+++ b/target/linux/generic/patches-3.18/099-module_arch_freeing_init-new-hook-for-archs-before-m.patch
@@ -145,7 +145,7 @@ Origin: backport, https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.gi
  #endif
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -1837,6 +1837,10 @@ void __weak module_arch_cleanup(struct m
+@@ -1840,6 +1840,10 @@ void __weak module_arch_cleanup(struct m
  {
  }
  
@@ -156,7 +156,7 @@ Origin: backport, https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.gi
  /* Free a module, remove from lists, etc. */
  static void free_module(struct module *mod)
  {
-@@ -1869,6 +1873,7 @@ static void free_module(struct module *m
+@@ -1872,6 +1876,7 @@ static void free_module(struct module *m
  
  	/* This may be NULL, but that's OK */
  	unset_module_init_ro_nx(mod);
@@ -164,7 +164,7 @@ Origin: backport, https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.gi
  	module_free(mod, mod->module_init);
  	kfree(mod->args);
  	percpu_modfree(mod);
-@@ -2958,6 +2963,7 @@ static struct module *layout_and_allocat
+@@ -2983,6 +2988,7 @@ static struct module *layout_and_allocat
  static void module_deallocate(struct module *mod, struct load_info *info)
  {
  	percpu_modfree(mod);
@@ -172,8 +172,8 @@ Origin: backport, https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.gi
  	module_free(mod, mod->module_init);
  	module_free(mod, mod->module_core);
  }
-@@ -3081,6 +3087,7 @@ static int do_init_module(struct module
- 	mod->strtab = mod->core_strtab;
+@@ -3105,6 +3111,7 @@ static int do_init_module(struct module
+ 	rcu_assign_pointer(mod->kallsyms, &mod->core_kallsyms);
  #endif
  	unset_module_init_ro_nx(mod);
 +	module_arch_freeing_init(mod);
diff --git a/target/linux/generic/patches-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch b/target/linux/generic/patches-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch
index 09cbe0c..0b03963 100644
--- a/target/linux/generic/patches-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch
+++ b/target/linux/generic/patches-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch
@@ -61,7 +61,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  {
  	const struct usb_cdc_union_desc *union_desc = NULL;
  	struct cdc_ncm_ctx *ctx;
-@@ -855,6 +857,17 @@ advance:
+@@ -859,6 +861,17 @@ advance:
  	/* finish setting up the device specific data */
  	cdc_ncm_setup(dev);
  
@@ -79,7 +79,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	/* override ethtool_ops */
  	dev->net->ethtool_ops = &cdc_ncm_ethtool_ops;
  
-@@ -954,8 +967,11 @@ static int cdc_ncm_bind(struct usbnet *d
+@@ -958,8 +971,11 @@ static int cdc_ncm_bind(struct usbnet *d
  	if (cdc_ncm_select_altsetting(intf) != CDC_NCM_COMM_ALTSETTING_NCM)
  		return -ENODEV;
  
@@ -93,7 +93,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	/*
  	 * We should get an event when network connection is "connected" or
-@@ -986,6 +1002,14 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
+@@ -990,6 +1006,14 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
  	struct usb_cdc_ncm_nth16 *nth16 = (void *)skb->data;
  	size_t ndpoffset = le16_to_cpu(nth16->wNdpIndex);
  
@@ -108,7 +108,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	/* follow the chain of NDPs, looking for a match */
  	while (ndpoffset) {
  		ndp16 = (struct usb_cdc_ncm_ndp16 *)(skb->data + ndpoffset);
-@@ -995,7 +1019,8 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
+@@ -999,7 +1023,8 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
  	}
  
  	/* align new NDP */
@@ -118,7 +118,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	/* verify that there is room for the NDP and the datagram (reserve) */
  	if ((ctx->tx_max - skb->len - reserve) < ctx->max_ndp_size)
-@@ -1008,7 +1033,11 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
+@@ -1012,7 +1037,11 @@ static struct usb_cdc_ncm_ndp16 *cdc_ncm
  		nth16->wNdpIndex = cpu_to_le16(skb->len);
  
  	/* push a new empty NDP */
@@ -131,7 +131,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	ndp16->dwSignature = sign;
  	ndp16->wLength = cpu_to_le16(sizeof(struct usb_cdc_ncm_ndp16) + sizeof(struct usb_cdc_ncm_dpe16));
  	return ndp16;
-@@ -1023,6 +1052,15 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
+@@ -1027,6 +1056,15 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
  	struct sk_buff *skb_out;
  	u16 n = 0, index, ndplen;
  	u8 ready2send = 0;
@@ -147,7 +147,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	/* if there is a remaining skb, it gets priority */
  	if (skb != NULL) {
-@@ -1077,7 +1115,7 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
+@@ -1081,7 +1119,7 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
  		cdc_ncm_align_tail(skb_out,  ctx->tx_modulus, ctx->tx_remainder, ctx->tx_max);
  
  		/* check if we had enough room left for both NDP and frame */
@@ -156,7 +156,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  			if (n == 0) {
  				/* won't fit, MTU problem? */
  				dev_kfree_skb_any(skb);
-@@ -1150,6 +1188,17 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
+@@ -1154,6 +1192,17 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
  		/* variables will be reset at next call */
  	}
  
diff --git a/target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch b/target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
index 9179fe8..1b1afd5 100644
--- a/target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
+++ b/target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
@@ -48,7 +48,7 @@ Signed-off-by: Petr Štetiar <ynezz at true.cz>
 
 --- a/drivers/net/usb/qmi_wwan.c
 +++ b/drivers/net/usb/qmi_wwan.c
-@@ -819,6 +819,7 @@ static const struct usb_device_id produc
+@@ -822,6 +822,7 @@ static const struct usb_device_id produc
  	{QMI_GOBI_DEVICE(0x05c6, 0x9245)},	/* Samsung Gobi 2000 Modem device (VL176) */
  	{QMI_GOBI_DEVICE(0x03f0, 0x251d)},	/* HP Gobi 2000 Modem device (VP412) */
  	{QMI_GOBI_DEVICE(0x05c6, 0x9215)},	/* Acer Gobi 2000 Modem device (VP413) */
@@ -56,7 +56,7 @@ Signed-off-by: Petr Štetiar <ynezz at true.cz>
  	{QMI_GOBI_DEVICE(0x05c6, 0x9265)},	/* Asus Gobi 2000 Modem device (VR305) */
  	{QMI_GOBI_DEVICE(0x05c6, 0x9235)},	/* Top Global Gobi 2000 Modem device (VR306) */
  	{QMI_GOBI_DEVICE(0x05c6, 0x9275)},	/* iRex Technologies Gobi 2000 Modem device (VR307) */
-@@ -850,10 +851,24 @@ static const struct usb_device_id produc
+@@ -853,10 +854,24 @@ static const struct usb_device_id produc
  };
  MODULE_DEVICE_TABLE(usb, products);
  
@@ -81,7 +81,7 @@ Signed-off-by: Petr Štetiar <ynezz at true.cz>
  
  	/* Workaround to enable dynamic IDs.  This disables usbnet
  	 * blacklisting functionality.  Which, if required, can be
-@@ -865,6 +880,12 @@ static int qmi_wwan_probe(struct usb_int
+@@ -868,6 +883,12 @@ static int qmi_wwan_probe(struct usb_int
  		id->driver_info = (unsigned long)&qmi_wwan_info;
  	}
  
diff --git a/target/linux/generic/patches-3.18/204-module_strip.patch b/target/linux/generic/patches-3.18/204-module_strip.patch
index 5b640bf..dab7799 100644
--- a/target/linux/generic/patches-3.18/204-module_strip.patch
+++ b/target/linux/generic/patches-3.18/204-module_strip.patch
@@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  config INIT_ALL_POSSIBLE
 --- a/kernel/module.c
 +++ b/kernel/module.c
-@@ -2674,6 +2674,7 @@ static struct module *setup_load_info(st
+@@ -2699,6 +2699,7 @@ static struct module *setup_load_info(st
  
  static int check_modinfo(struct module *mod, struct load_info *info, int flags)
  {
@@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	const char *modmagic = get_modinfo(info, "vermagic");
  	int err;
  
-@@ -2699,6 +2700,7 @@ static int check_modinfo(struct module *
+@@ -2724,6 +2725,7 @@ static int check_modinfo(struct module *
  		pr_warn("%s: module is from the staging directory, the quality "
  			"is unknown, you have been warned.\n", mod->name);
  	}
diff --git a/target/linux/generic/patches-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch b/target/linux/generic/patches-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
index d7b20b8..bca3487 100644
--- a/target/linux/generic/patches-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
+++ b/target/linux/generic/patches-3.18/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
@@ -11,7 +11,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
 
 --- a/drivers/mtd/ubi/build.c
 +++ b/drivers/mtd/ubi/build.c
-@@ -1209,6 +1209,49 @@ static struct mtd_info * __init open_mtd
+@@ -1212,6 +1212,49 @@ static struct mtd_info * __init open_mtd
  	return mtd;
  }
  
@@ -61,7 +61,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  static int __init ubi_init(void)
  {
  	int err, i, k;
-@@ -1298,6 +1341,12 @@ static int __init ubi_init(void)
+@@ -1301,6 +1344,12 @@ static int __init ubi_init(void)
  		}
  	}
  
diff --git a/target/linux/generic/patches-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch b/target/linux/generic/patches-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
index 3f2b439..54a2f82 100644
--- a/target/linux/generic/patches-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
+++ b/target/linux/generic/patches-3.18/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
@@ -41,7 +41,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  #ifdef CONFIG_ROOT_NFS
  
  #define NFSROOT_TIMEOUT_MIN	5
-@@ -527,6 +547,10 @@ void __init mount_root(void)
+@@ -527,6 +548,10 @@ void __init mount_root(void)
  			change_floppy("root floppy");
  	}
  #endif
diff --git a/target/linux/generic/patches-3.18/494-mtd-ubi-add-EOF-marker-support.patch b/target/linux/generic/patches-3.18/494-mtd-ubi-add-EOF-marker-support.patch
index cd02c13..4b5eb45 100644
--- a/target/linux/generic/patches-3.18/494-mtd-ubi-add-EOF-marker-support.patch
+++ b/target/linux/generic/patches-3.18/494-mtd-ubi-add-EOF-marker-support.patch
@@ -41,7 +41,7 @@
  		break;
 --- a/drivers/mtd/ubi/ubi.h
 +++ b/drivers/mtd/ubi/ubi.h
-@@ -701,6 +701,7 @@ struct ubi_attach_info {
+@@ -705,6 +705,7 @@ struct ubi_attach_info {
  	int mean_ec;
  	uint64_t ec_sum;
  	int ec_count;
diff --git a/target/linux/generic/patches-3.18/550-ubifs-symlink-xattr-support.patch b/target/linux/generic/patches-3.18/550-ubifs-symlink-xattr-support.patch
index d3f2ccc..42ae9cb 100644
--- a/target/linux/generic/patches-3.18/550-ubifs-symlink-xattr-support.patch
+++ b/target/linux/generic/patches-3.18/550-ubifs-symlink-xattr-support.patch
@@ -1,6 +1,6 @@
 --- a/fs/ubifs/file.c
 +++ b/fs/ubifs/file.c
-@@ -1573,6 +1573,10 @@ const struct inode_operations ubifs_syml
+@@ -1597,6 +1597,10 @@ const struct inode_operations ubifs_syml
  	.follow_link = ubifs_follow_link,
  	.setattr     = ubifs_setattr,
  	.getattr     = ubifs_getattr,
diff --git a/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
index 358d64b..74be425 100644
--- a/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
+++ b/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
@@ -50,25 +50,16 @@
  static bool
  ip_checkentry(const struct ipt_ip *ip)
  {
-@@ -565,7 +591,7 @@ static void cleanup_match(struct xt_entr
- }
- 
- static int
--check_entry(const struct ipt_entry *e, const char *name)
-+check_entry(struct ipt_entry *e, const char *name)
- {
- 	const struct xt_entry_target *t;
- 
-@@ -574,6 +600,8 @@ check_entry(const struct ipt_entry *e, c
- 		return -EINVAL;
- 	}
+@@ -650,6 +676,8 @@ find_check_entry(struct ipt_entry *e, st
+ 	struct xt_mtchk_param mtpar;
+ 	struct xt_entry_match *ematch;
  
 +	ip_checkdefault(&e->ip);
 +
- 	if (e->target_offset + sizeof(struct xt_entry_target) >
- 	    e->next_offset)
- 		return -EINVAL;
-@@ -935,6 +963,7 @@ copy_entries_to_user(unsigned int total_
+ 	j = 0;
+ 	mtpar.net	= net;
+ 	mtpar.table     = name;
+@@ -942,6 +970,7 @@ copy_entries_to_user(unsigned int total_
  	const struct xt_table_info *private = table->private;
  	int ret = 0;
  	const void *loc_cpu_entry;
@@ -76,7 +67,7 @@
  
  	counters = alloc_counters(table);
  	if (IS_ERR(counters))
-@@ -965,6 +994,14 @@ copy_entries_to_user(unsigned int total_
+@@ -972,6 +1001,14 @@ copy_entries_to_user(unsigned int total_
  			ret = -EFAULT;
  			goto free_counters;
  		}
diff --git a/target/linux/generic/patches-3.18/621-sched_act_connmark.patch b/target/linux/generic/patches-3.18/621-sched_act_connmark.patch
index 958aee4..72d8e53 100644
--- a/target/linux/generic/patches-3.18/621-sched_act_connmark.patch
+++ b/target/linux/generic/patches-3.18/621-sched_act_connmark.patch
@@ -129,7 +129,7 @@
 +module_exit(connmark_cleanup_module);
 --- a/net/sched/Kconfig
 +++ b/net/sched/Kconfig
-@@ -717,6 +717,19 @@ config NET_ACT_CSUM
+@@ -686,6 +686,19 @@ config NET_ACT_CSUM
  	  To compile this code as a module, choose M here: the
  	  module will be called act_csum.
  
diff --git a/target/linux/generic/patches-3.18/630-packet_socket_type.patch b/target/linux/generic/patches-3.18/630-packet_socket_type.patch
index 7502a1c..61ddea8 100644
--- a/target/linux/generic/patches-3.18/630-packet_socket_type.patch
+++ b/target/linux/generic/patches-3.18/630-packet_socket_type.patch
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
  	if (sock->type == SOCK_PACKET)
  		po->prot_hook.func = packet_rcv_spkt;
-@@ -3408,6 +3411,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3409,6 +3412,16 @@ packet_setsockopt(struct socket *sock, i
  		po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
  		return 0;
  	}
@@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	default:
  		return -ENOPROTOOPT;
  	}
-@@ -3459,6 +3472,13 @@ static int packet_getsockopt(struct sock
+@@ -3460,6 +3473,13 @@ static int packet_getsockopt(struct sock
  	case PACKET_VNET_HDR:
  		val = po->has_vnet_hdr;
  		break;
diff --git a/target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch b/target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch
index 6777eec..410e0b7 100644
--- a/target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch
+++ b/target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch
@@ -13,7 +13,7 @@ commont qdiscs.
 
 --- a/net/sched/sch_codel.c
 +++ b/net/sched/sch_codel.c
-@@ -96,6 +96,8 @@ static int codel_qdisc_enqueue(struct sk
+@@ -97,6 +97,8 @@ static int codel_qdisc_enqueue(struct sk
  	struct codel_sched_data *q;
  
  	if (likely(qdisc_qlen(sch) < sch->limit)) {
diff --git a/target/linux/generic/patches-3.18/660-fq_codel_defaults.patch b/target/linux/generic/patches-3.18/660-fq_codel_defaults.patch
index e0f73de..8a870cc 100644
--- a/target/linux/generic/patches-3.18/660-fq_codel_defaults.patch
+++ b/target/linux/generic/patches-3.18/660-fq_codel_defaults.patch
@@ -1,6 +1,6 @@
 --- a/net/sched/sch_fq_codel.c
 +++ b/net/sched/sch_fq_codel.c
-@@ -387,8 +387,8 @@ static int fq_codel_init(struct Qdisc *s
+@@ -394,8 +394,8 @@ static int fq_codel_init(struct Qdisc *s
  	struct fq_codel_sched_data *q = qdisc_priv(sch);
  	int i;
  
diff --git a/target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch b/target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch
index 5caf933..39abfaa 100644
--- a/target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch
+++ b/target/linux/generic/patches-3.18/662-use_fq_codel_by_default.patch
@@ -13,7 +13,7 @@
  	  device, it has to decide which ones to send first, which ones to
 --- a/net/sched/sch_fq_codel.c
 +++ b/net/sched/sch_fq_codel.c
-@@ -592,7 +592,7 @@ static const struct Qdisc_class_ops fq_c
+@@ -599,7 +599,7 @@ static const struct Qdisc_class_ops fq_c
  	.walk		=	fq_codel_walk,
  };
  
@@ -22,7 +22,7 @@
  	.cl_ops		=	&fq_codel_class_ops,
  	.id		=	"fq_codel",
  	.priv_size	=	sizeof(struct fq_codel_sched_data),
-@@ -608,6 +608,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
+@@ -615,6 +615,7 @@ static struct Qdisc_ops fq_codel_qdisc_o
  	.dump_stats =	fq_codel_dump_stats,
  	.owner		=	THIS_MODULE,
  };
@@ -51,7 +51,7 @@
  EXPORT_SYMBOL(default_qdisc_ops);
  
  /* Main transmission queue. */
-@@ -739,7 +739,7 @@ static void attach_one_default_qdisc(str
+@@ -742,7 +742,7 @@ static void attach_one_default_qdisc(str
  
  	if (dev->tx_queue_len) {
  		qdisc = qdisc_create_dflt(dev_queue,
@@ -84,7 +84,7 @@
  		if (qdisc == NULL) {
 --- a/net/sched/sch_api.c
 +++ b/net/sched/sch_api.c
-@@ -1947,7 +1947,7 @@ static int __init pktsched_init(void)
+@@ -1949,7 +1949,7 @@ static int __init pktsched_init(void)
  		return err;
  	}
  
diff --git a/target/linux/generic/patches-3.18/663-remove_pfifo_fast.patch b/target/linux/generic/patches-3.18/663-remove_pfifo_fast.patch
index 5b26ca3..50b90b3 100644
--- a/target/linux/generic/patches-3.18/663-remove_pfifo_fast.patch
+++ b/target/linux/generic/patches-3.18/663-remove_pfifo_fast.patch
@@ -1,6 +1,6 @@
 --- a/net/sched/sch_generic.c
 +++ b/net/sched/sch_generic.c
-@@ -442,140 +442,6 @@ static struct Qdisc noqueue_qdisc = {
+@@ -445,140 +445,6 @@ static struct Qdisc noqueue_qdisc = {
  	.busylock	=	__SPIN_LOCK_UNLOCKED(noqueue_qdisc.busylock),
  };
  
diff --git a/target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch b/target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch
index b883d73..52fc252 100644
--- a/target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch
+++ b/target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch
@@ -30,7 +30,7 @@ Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
  /**************************************************
   * BCMA bus ops
   **************************************************/
-@@ -1664,6 +1676,16 @@ static int bgmac_probe(struct bcma_devic
+@@ -1666,6 +1678,16 @@ static int bgmac_probe(struct bcma_devic
  	net_dev->hw_features = net_dev->features;
  	net_dev->vlan_features = net_dev->features;
  
@@ -47,7 +47,7 @@ Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
  	err = register_netdev(bgmac->net_dev);
  	if (err) {
  		bgmac_err(bgmac, "Cannot register net device\n");
-@@ -1690,6 +1712,10 @@ static void bgmac_remove(struct bcma_dev
+@@ -1692,6 +1714,10 @@ static void bgmac_remove(struct bcma_dev
  {
  	struct bgmac *bgmac = bcma_get_drvdata(core);
  
diff --git a/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch b/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch
index 1b7bead..5155bcd 100644
--- a/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch
+++ b/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch
@@ -23,7 +23,7 @@
  /* The Mellanox Tavor device gives false positive parity errors
   * Mark this device with a broken_parity_status, to allow
   * PCI scanning code to "skip" this now blacklisted device.
-@@ -2917,6 +2918,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -2929,6 +2930,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
  
@@ -31,7 +31,7 @@
  
  /*
   * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.  To
-@@ -2973,6 +2975,8 @@ static void fixup_debug_report(struct pc
+@@ -2985,6 +2987,8 @@ static void fixup_debug_report(struct pc
  	}
  }
  
@@ -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).
-@@ -3007,6 +3011,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3019,6 +3023,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);
  
diff --git a/target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch
index b54d150..a7bf0bb 100644
--- a/target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch
+++ b/target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch
@@ -84,7 +84,7 @@
  #endif  /*  __LINUX_USB_PCI_QUIRKS_H  */
 --- a/include/linux/usb/hcd.h
 +++ b/include/linux/usb/hcd.h
-@@ -444,7 +444,14 @@ extern int usb_hcd_pci_probe(struct pci_
+@@ -445,7 +445,14 @@ extern int usb_hcd_pci_probe(struct pci_
  extern void usb_hcd_pci_remove(struct pci_dev *dev);
  extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
  
diff --git a/target/linux/generic/patches-3.18/863-gpiommc.patch b/target/linux/generic/patches-3.18/863-gpiommc.patch
index 2929333..3ed4d34 100644
--- a/target/linux/generic/patches-3.18/863-gpiommc.patch
+++ b/target/linux/generic/patches-3.18/863-gpiommc.patch
@@ -830,7 +830,7 @@
 +be done automatically.
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -4279,6 +4279,11 @@ T:	git git://linuxtv.org/anttip/media_tr
+@@ -4289,6 +4289,11 @@ T:	git git://linuxtv.org/anttip/media_tr
  S:	Maintained
  F:	drivers/media/usb/hackrf/
  
diff --git a/target/linux/generic/patches-3.18/904-debloat_dma_buf.patch b/target/linux/generic/patches-3.18/904-debloat_dma_buf.patch
index 3faf97a..a5e0be2 100644
--- a/target/linux/generic/patches-3.18/904-debloat_dma_buf.patch
+++ b/target/linux/generic/patches-3.18/904-debloat_dma_buf.patch
@@ -34,7 +34,7 @@
 +MODULE_LICENSE("GPL");
 --- a/kernel/sched/core.c
 +++ b/kernel/sched/core.c
-@@ -1801,6 +1801,7 @@ int wake_up_state(struct task_struct *p,
+@@ -1823,6 +1823,7 @@ int wake_up_state(struct task_struct *p,
  {
  	return try_to_wake_up(p, state, 0);
  }
diff --git a/target/linux/ixp4xx/patches-3.18/020-gateworks_i2c_pld.patch b/target/linux/ixp4xx/patches-3.18/020-gateworks_i2c_pld.patch
index 4732d16..0c8c297 100644
--- a/target/linux/ixp4xx/patches-3.18/020-gateworks_i2c_pld.patch
+++ b/target/linux/ixp4xx/patches-3.18/020-gateworks_i2c_pld.patch
@@ -1,6 +1,6 @@
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
-@@ -794,6 +794,14 @@ config GPIO_RDC321X
+@@ -795,6 +795,14 @@ config GPIO_RDC321X
  	  Support for the RDC R321x SoC GPIOs over southbridge
  	  PCI configuration space.
  
diff --git a/target/linux/ixp4xx/patches-3.18/090-increase_entropy_pools.patch b/target/linux/ixp4xx/patches-3.18/090-increase_entropy_pools.patch
index 285505c..3eea75b 100644
--- a/target/linux/ixp4xx/patches-3.18/090-increase_entropy_pools.patch
+++ b/target/linux/ixp4xx/patches-3.18/090-increase_entropy_pools.patch
@@ -1,6 +1,6 @@
 --- a/drivers/char/random.c
 +++ b/drivers/char/random.c
-@@ -285,11 +285,11 @@
+@@ -275,11 +275,11 @@
  /*
   * Configuration information
   */
diff --git a/target/linux/ixp4xx/patches-3.18/160-delayed_uart_io.patch b/target/linux/ixp4xx/patches-3.18/160-delayed_uart_io.patch
index 54dc905..4207e67 100644
--- a/target/linux/ixp4xx/patches-3.18/160-delayed_uart_io.patch
+++ b/target/linux/ixp4xx/patches-3.18/160-delayed_uart_io.patch
@@ -41,7 +41,7 @@
  	case UPIO_AU:
  		p->serial_out(p, offset, value);
  		p->serial_in(p, UART_LCR);	/* safe, no side-effects */
-@@ -2655,6 +2675,7 @@ static int serial8250_request_std_resour
+@@ -2649,6 +2669,7 @@ static int serial8250_request_std_resour
  	case UPIO_TSI:
  	case UPIO_MEM32:
  	case UPIO_MEM:
@@ -49,7 +49,7 @@
  		if (!port->mapbase)
  			break;
  
-@@ -2691,6 +2712,7 @@ static void serial8250_release_std_resou
+@@ -2685,6 +2706,7 @@ static void serial8250_release_std_resou
  	case UPIO_TSI:
  	case UPIO_MEM32:
  	case UPIO_MEM:
@@ -57,7 +57,7 @@
  		if (!port->mapbase)
  			break;
  
-@@ -3424,6 +3446,7 @@ static int serial8250_probe(struct platf
+@@ -3418,6 +3440,7 @@ static int serial8250_probe(struct platf
  		uart.port.set_termios	= p->set_termios;
  		uart.port.pm		= p->pm;
  		uart.port.dev		= &dev->dev;
@@ -65,7 +65,7 @@
  		uart.port.irqflags	|= irqflag;
  		ret = serial8250_register_8250_port(&uart);
  		if (ret < 0) {
-@@ -3580,6 +3603,7 @@ int serial8250_register_8250_port(struct
+@@ -3574,6 +3597,7 @@ int serial8250_register_8250_port(struct
  		uart->port.flags        = up->port.flags | UPF_BOOT_AUTOCONF;
  		uart->bugs		= up->bugs;
  		uart->port.mapbase      = up->port.mapbase;
diff --git a/target/linux/mcs814x/patches-3.18/008-mcs814x_gpio.patch b/target/linux/mcs814x/patches-3.18/008-mcs814x_gpio.patch
index 92c85a7..f0944bf 100644
--- a/target/linux/mcs814x/patches-3.18/008-mcs814x_gpio.patch
+++ b/target/linux/mcs814x/patches-3.18/008-mcs814x_gpio.patch
@@ -1,6 +1,6 @@
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
-@@ -819,6 +819,12 @@ config GPIO_MC33880
+@@ -820,6 +820,12 @@ config GPIO_MC33880
  	  SPI driver for Freescale MC33880 high-side/low-side switch.
  	  This provides GPIO interface supporting inputs and outputs.
  



More information about the lede-commits mailing list