浏览代码

kernel: update kernel 4.4 to version 4.4.3

Signed-off-by: Hauke Mehrtens <[email protected]>

SVN-Revision: 48783
Hauke Mehrtens 9 年之前
父节点
当前提交
cb04b8d582
共有 30 个文件被更改,包括 85 次插入316 次删除
  1. 2 2
      include/kernel-version.mk
  2. 4 4
      target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch
  3. 7 7
      target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch
  4. 3 3
      target/linux/ar71xx/patches-4.4/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch
  5. 11 6
      target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
  6. 1 1
      target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
  7. 1 1
      target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch
  8. 3 3
      target/linux/brcm47xx/patches-4.4/800-bcma-add-table-of-serial-flashes-with-smaller-blocks.patch
  9. 3 3
      target/linux/brcm47xx/patches-4.4/901-Revert-bcma-switch-GPIO-portions-to-use-GPIOLIB_IRQC.patch
  10. 1 1
      target/linux/brcm47xx/patches-4.4/999-wl_exports.patch
  11. 3 3
      target/linux/brcm63xx/patches-4.4/574-board_HG622.patch
  12. 1 1
      target/linux/brcm63xx/patches-4.4/800-wl_exports.patch
  13. 0 70
      target/linux/generic/patches-4.4/010-KEYS-Fix-keyring-ref-leak-in-join_session_keyring.patch
  14. 0 118
      target/linux/generic/patches-4.4/100-dump_stack-avoid-potential-deadlocks.patch
  15. 5 5
      target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
  16. 1 1
      target/linux/generic/patches-4.4/721-phy_packets.patch
  17. 1 1
      target/linux/generic/patches-4.4/820-usb_add_usb_find_device_by_name.patch
  18. 1 1
      target/linux/lantiq/patches-4.4/0004-MIPS-lantiq-add-atm-hack.patch
  19. 1 1
      target/linux/lantiq/patches-4.4/0032-USB-fix-roothub-for-IFXHCD.patch
  20. 4 4
      target/linux/lantiq/patches-4.4/0044-pinctrl-lantiq-introduce-new-dedicated-devicetree-bi.patch
  21. 2 2
      target/linux/mxs/patches-4.4/101-mxs-add-mxs_power.patch
  22. 5 5
      target/linux/mxs/patches-4.4/102-mxs-add-regulator-driver.patch
  23. 2 2
      target/linux/mxs/patches-4.4/103-dt-enable-regulator.patch
  24. 2 8
      target/linux/mxs/patches-4.4/110-crypto-mxsdcp-provide-importexport.patch
  25. 1 1
      target/linux/oxnas/patches-4.4/340-oxnas-pcie.patch
  26. 0 37
      target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch
  27. 1 1
      target/linux/uml/patches-4.4/100-link-libpthread.patch
  28. 9 9
      target/linux/uml/patches-4.4/101-mconsole-exec.patch
  29. 3 3
      target/linux/uml/patches-4.4/102-pseudo-random-mac.patch
  30. 7 12
      target/linux/zynq/patches-4.4/0001-arm-dts-zynq-zc702.dts-Set-default-rdinit-to-sbin-in.patch

+ 2 - 2
include/kernel-version.mk

@@ -5,12 +5,12 @@ LINUX_RELEASE?=1
 LINUX_VERSION-3.18 = .26
 LINUX_VERSION-3.18 = .26
 LINUX_VERSION-4.1 = .16
 LINUX_VERSION-4.1 = .16
 LINUX_VERSION-4.3 = .4
 LINUX_VERSION-4.3 = .4
-LINUX_VERSION-4.4 =
+LINUX_VERSION-4.4 = .3
 
 
 LINUX_KERNEL_MD5SUM-3.18.26 = fb3ef8da32a25607807887b9567a6927
 LINUX_KERNEL_MD5SUM-3.18.26 = fb3ef8da32a25607807887b9567a6927
 LINUX_KERNEL_MD5SUM-4.1.16 = e4bf22fed49b476b47acffc00c03267a
 LINUX_KERNEL_MD5SUM-4.1.16 = e4bf22fed49b476b47acffc00c03267a
 LINUX_KERNEL_MD5SUM-4.3.4 = 5275d02132107c28b85f986bad576d91
 LINUX_KERNEL_MD5SUM-4.3.4 = 5275d02132107c28b85f986bad576d91
-LINUX_KERNEL_MD5SUM-4.4 = 9a78fa2eb6c68ca5a40ed5af08142599
+LINUX_KERNEL_MD5SUM-4.4.3 = 5feab5a2c016e186e3088d4fae963ed7
 
 
 ifdef KERNEL_PATCHVER
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))

+ 4 - 4
target/linux/ar71xx/patches-4.4/525-MIPS-ath79-enable-qca-usb-quirks.patch

@@ -29,9 +29,7 @@
 -	u32 bootstrap;
 -	u32 bootstrap;
 +	void __iomem *phy_reg;
 +	void __iomem *phy_reg;
 +	u32 t;
 +	u32 t;
- 
--	bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
--	if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
++
 +	phy_reg = ioremap(base, 4);
 +	phy_reg = ioremap(base, 4);
 +	if (!phy_reg)
 +	if (!phy_reg)
 +		return;
 +		return;
@@ -43,7 +41,9 @@
 +
 +
 +	iounmap(phy_reg);
 +	iounmap(phy_reg);
 +}
 +}
-+
+ 
+-	bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
+-	if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
 +static void ar934x_usb_reset_notifier(struct platform_device *pdev)
 +static void ar934x_usb_reset_notifier(struct platform_device *pdev)
 +{
 +{
 +	if (pdev->id != -1)
 +	if (pdev->id != -1)

+ 7 - 7
target/linux/ar71xx/patches-4.4/609-MIPS-ath79-ap136-fixes.patch

@@ -135,8 +135,7 @@
 +static void __init ap136_common_setup(void)
 +static void __init ap136_common_setup(void)
 +{
 +{
 +	u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
 +	u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
- 
--static int ap136_pci_plat_dev_init(struct pci_dev *dev)
++
 +	ath79_register_m25p80(NULL);
 +	ath79_register_m25p80(NULL);
 +
 +
 +	ath79_register_leds_gpio(-1, ARRAY_SIZE(ap136_leds_gpio),
 +	ath79_register_leds_gpio(-1, ARRAY_SIZE(ap136_leds_gpio),
@@ -151,7 +150,8 @@
 +	ath79_register_wmac(art + AP136_WMAC_CALDATA_OFFSET, NULL);
 +	ath79_register_wmac(art + AP136_WMAC_CALDATA_OFFSET, NULL);
 +
 +
 +	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
 +	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-+
+ 
+-static int ap136_pci_plat_dev_init(struct pci_dev *dev)
 +	ath79_register_mdio(0, 0x0);
 +	ath79_register_mdio(0, 0x0);
 +	ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0);
 +	ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0);
 +
 +
@@ -211,16 +211,16 @@
 +	/* GMAC0 of the AR8327 switch is connected to GMAC1 via SGMII */
 +	/* GMAC0 of the AR8327 switch is connected to GMAC1 via SGMII */
 +	ap136_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_SGMII;
 +	ap136_ar8327_pad0_cfg.mode = AR8327_PAD_MAC_SGMII;
 +	ap136_ar8327_pad0_cfg.sgmii_delay_en = true;
 +	ap136_ar8327_pad0_cfg.sgmii_delay_en = true;
- 
--	ath79_pci_set_plat_dev_init(ap136_pci_plat_dev_init);
--	ath79_register_pci();
++
 +	/* GMAC6 of the AR8327 switch is connected to GMAC0 via RGMII */
 +	/* GMAC6 of the AR8327 switch is connected to GMAC0 via RGMII */
 +	ap136_ar8327_pad6_cfg.mode = AR8327_PAD_MAC_RGMII;
 +	ap136_ar8327_pad6_cfg.mode = AR8327_PAD_MAC_RGMII;
 +	ap136_ar8327_pad6_cfg.txclk_delay_en = true;
 +	ap136_ar8327_pad6_cfg.txclk_delay_en = true;
 +	ap136_ar8327_pad6_cfg.rxclk_delay_en = true;
 +	ap136_ar8327_pad6_cfg.rxclk_delay_en = true;
 +	ap136_ar8327_pad6_cfg.txclk_delay_sel = AR8327_CLK_DELAY_SEL1;
 +	ap136_ar8327_pad6_cfg.txclk_delay_sel = AR8327_CLK_DELAY_SEL1;
 +	ap136_ar8327_pad6_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2;
 +	ap136_ar8327_pad6_cfg.rxclk_delay_sel = AR8327_CLK_DELAY_SEL2;
-+
+ 
+-	ath79_pci_set_plat_dev_init(ap136_pci_plat_dev_init);
+-	ath79_register_pci();
 +	ath79_eth0_pll_data.pll_1000 = 0x56000000;
 +	ath79_eth0_pll_data.pll_1000 = 0x56000000;
 +	ath79_eth1_pll_data.pll_1000 = 0x03000101;
 +	ath79_eth1_pll_data.pll_1000 = 0x03000101;
 +
 +

+ 3 - 3
target/linux/ar71xx/patches-4.4/739-MIPS-ath79-add-gpio-func-register-for-QCA955x-SoC.patch

@@ -9,9 +9,6 @@
  	u32 t, s;
  	u32 t, s;
  
  
 -	BUG_ON(!soc_is_ar934x() && !soc_is_qca953x() && !soc_is_qca956x());
 -	BUG_ON(!soc_is_ar934x() && !soc_is_qca953x() && !soc_is_qca956x());
--
--	if (gpio >= AR934X_GPIO_COUNT)
--		return;
 +	if (soc_is_ar934x())
 +	if (soc_is_ar934x())
 +		reg_base = AR934X_GPIO_REG_OUT_FUNC0;
 +		reg_base = AR934X_GPIO_REG_OUT_FUNC0;
 +	else if (soc_is_qca953x())
 +	else if (soc_is_qca953x())
@@ -23,6 +20,9 @@
 +	else
 +	else
 +		BUG();
 +		BUG();
  
  
+-	if (gpio >= AR934X_GPIO_COUNT)
+-		return;
+-
 -	reg = AR934X_GPIO_REG_OUT_FUNC0 + 4 * (gpio / 4);
 -	reg = AR934X_GPIO_REG_OUT_FUNC0 + 4 * (gpio / 4);
 +	reg = reg_base + 4 * (gpio / 4);
 +	reg = reg_base + 4 * (gpio / 4);
  	s = 8 * (gpio % 4);
  	s = 8 * (gpio % 4);

+ 11 - 6
target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch

@@ -214,7 +214,7 @@
  #include <linux/uaccess.h>
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
  #include <linux/icmpv6.h>
-@@ -776,10 +777,10 @@ static void tcp_v6_send_response(const s
+@@ -778,10 +779,10 @@ static void tcp_v6_send_response(const s
  	topt = (__be32 *)(t1 + 1);
  	topt = (__be32 *)(t1 + 1);
  
  
  	if (tsecr) {
  	if (tsecr) {
@@ -632,14 +632,19 @@
  #include <linux/netdevice.h>
  #include <linux/netdevice.h>
 --- a/include/net/inet_ecn.h
 --- a/include/net/inet_ecn.h
 +++ b/include/net/inet_ecn.h
 +++ b/include/net/inet_ecn.h
-@@ -115,13 +115,13 @@ static inline int IP6_ECN_set_ce(struct
- {
+@@ -124,9 +124,9 @@ static inline int IP6_ECN_set_ce(struct
  	if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
  	if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
  		return 0;
  		return 0;
--	*(__be32*)iph |= htonl(INET_ECN_CE << 20);
-+	net_hdr_word(iph) |= htonl(INET_ECN_CE << 20);
+ 
+-	from = *(__be32 *)iph;
++	from = net_hdr_word(iph);
+ 	to = from | htonl(INET_ECN_CE << 20);
+-	*(__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;
  	return 1;
- }
+@@ -134,7 +134,7 @@ static inline int IP6_ECN_set_ce(struct
  
  
  static inline void IP6_ECN_clear(struct ipv6hdr *iph)
  static inline void IP6_ECN_clear(struct ipv6hdr *iph)
  {
  {

+ 1 - 1
target/linux/bcm53xx/patches-4.4/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch

@@ -21,7 +21,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  
  
  #include "b53_regs.h"
  #include "b53_regs.h"
  #include "b53_priv.h"
  #include "b53_priv.h"
-@@ -1313,6 +1314,20 @@ static int b53_switch_init(struct b53_de
+@@ -1370,6 +1371,20 @@ static int b53_switch_init(struct b53_de
  			sw_dev->cpu_port = 5;
  			sw_dev->cpu_port = 5;
  	}
  	}
  
  

+ 1 - 1
target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch

@@ -659,7 +659,7 @@ dwc_otg: Remove duplicate gadget probe/unregister function
  }
  }
 --- a/drivers/usb/core/hub.c
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -4946,7 +4946,7 @@ static void port_event(struct usb_hub *h
+@@ -4967,7 +4967,7 @@ static void port_event(struct usb_hub *h
  	if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
  	if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
  		u16 status = 0, unused;
  		u16 status = 0, unused;
  
  

+ 3 - 3
target/linux/brcm47xx/patches-4.4/800-bcma-add-table-of-serial-flashes-with-smaller-blocks.patch

@@ -21,7 +21,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  
  
  static struct resource bcma_sflash_resource = {
  static struct resource bcma_sflash_resource = {
  	.name	= "bcma_sflash",
  	.name	= "bcma_sflash",
-@@ -41,6 +42,13 @@ static const struct bcma_sflash_tbl_e bc
+@@ -42,6 +43,13 @@ static const struct bcma_sflash_tbl_e bc
  	{ NULL },
  	{ NULL },
  };
  };
  
  
@@ -35,7 +35,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  static const struct bcma_sflash_tbl_e bcma_sflash_sst_tbl[] = {
  static const struct bcma_sflash_tbl_e bcma_sflash_sst_tbl[] = {
  	{ "SST25WF512", 1, 0x1000, 16, },
  	{ "SST25WF512", 1, 0x1000, 16, },
  	{ "SST25VF512", 0x48, 0x1000, 16, },
  	{ "SST25VF512", 0x48, 0x1000, 16, },
-@@ -84,6 +92,24 @@ static void bcma_sflash_cmd(struct bcma_
+@@ -85,6 +93,24 @@ static void bcma_sflash_cmd(struct bcma_
  	bcma_err(cc->core->bus, "SFLASH control command failed (timeout)!\n");
  	bcma_err(cc->core->bus, "SFLASH control command failed (timeout)!\n");
  }
  }
  
  
@@ -60,7 +60,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  /* Initialize serial flash access */
  /* Initialize serial flash access */
  int bcma_sflash_init(struct bcma_drv_cc *cc)
  int bcma_sflash_init(struct bcma_drv_cc *cc)
  {
  {
-@@ -114,6 +140,10 @@ int bcma_sflash_init(struct bcma_drv_cc
+@@ -115,6 +141,10 @@ int bcma_sflash_init(struct bcma_drv_cc
  		case 0x13:
  		case 0x13:
  			return -ENOTSUPP;
  			return -ENOTSUPP;
  		default:
  		default:

+ 3 - 3
target/linux/brcm47xx/patches-4.4/901-Revert-bcma-switch-GPIO-portions-to-use-GPIOLIB_IRQC.patch

@@ -195,7 +195,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  #if IS_BUILTIN(CONFIG_OF)
  #if IS_BUILTIN(CONFIG_OF)
  	if (cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC)
  	if (cc->core->bus->hosttype == BCMA_HOSTTYPE_SOC)
  		chip->of_node	= cc->core->dev.of_node;
  		chip->of_node	= cc->core->dev.of_node;
-@@ -216,13 +248,13 @@ int bcma_gpio_init(struct bcma_drv_cc *c
+@@ -217,13 +249,13 @@ int bcma_gpio_init(struct bcma_drv_cc *c
  	else
  	else
  		chip->base		= -1;
  		chip->base		= -1;
  
  
@@ -212,7 +212,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  		return err;
  		return err;
  	}
  	}
  
  
-@@ -231,7 +263,7 @@ int bcma_gpio_init(struct bcma_drv_cc *c
+@@ -232,7 +264,7 @@ int bcma_gpio_init(struct bcma_drv_cc *c
  
  
  int bcma_gpio_unregister(struct bcma_drv_cc *cc)
  int bcma_gpio_unregister(struct bcma_drv_cc *cc)
  {
  {
@@ -223,7 +223,7 @@ Signed-off-by: Rafał Miłecki <[email protected]>
  }
  }
 --- a/include/linux/bcma/bcma_driver_chipcommon.h
 --- a/include/linux/bcma/bcma_driver_chipcommon.h
 +++ b/include/linux/bcma/bcma_driver_chipcommon.h
 +++ b/include/linux/bcma/bcma_driver_chipcommon.h
-@@ -640,6 +640,7 @@ struct bcma_drv_cc {
+@@ -646,6 +646,7 @@ struct bcma_drv_cc {
  	spinlock_t gpio_lock;
  	spinlock_t gpio_lock;
  #ifdef CONFIG_BCMA_DRIVER_GPIO
  #ifdef CONFIG_BCMA_DRIVER_GPIO
  	struct gpio_chip gpio;
  	struct gpio_chip gpio;

+ 1 - 1
target/linux/brcm47xx/patches-4.4/999-wl_exports.patch

@@ -12,7 +12,7 @@
  static int cfe_env;
  static int cfe_env;
 --- a/arch/mips/mm/cache.c
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
-@@ -59,6 +59,7 @@ void (*_dma_cache_wback)(unsigned long s
+@@ -60,6 +60,7 @@ void (*_dma_cache_wback)(unsigned long s
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
  EXPORT_SYMBOL(_dma_cache_wback_inv);

+ 3 - 3
target/linux/brcm63xx/patches-4.4/574-board_HG622.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2057,6 +2057,53 @@ static struct board_info __initdata boar
+@@ -2058,6 +2058,53 @@ static struct board_info __initdata boar
  	},
  	},
  };
  };
  
  
@@ -54,7 +54,7 @@
  static struct sprom_fixup __initdata vr3025u_fixups[] = {
  static struct sprom_fixup __initdata vr3025u_fixups[] = {
  	{ .offset = 97, .value = 0xfeb3 },
  	{ .offset = 97, .value = 0xfeb3 },
  	{ .offset = 98, .value = 0x1618 },
  	{ .offset = 98, .value = 0x1618 },
-@@ -2563,6 +2610,7 @@ static const struct board_info __initcon
+@@ -2564,6 +2611,7 @@ static const struct board_info __initcon
  	&board_96368mvwg,
  	&board_96368mvwg,
  	&board_96368mvngr,
  	&board_96368mvngr,
  	&board_DGND3700v1_3800B,
  	&board_DGND3700v1_3800B,
@@ -62,7 +62,7 @@
  	&board_HG655b,
  	&board_HG655b,
  	&board_P870HW51A_V2,
  	&board_P870HW51A_V2,
  	&board_VR3025u,
  	&board_VR3025u,
-@@ -2671,6 +2719,7 @@ static struct of_device_id const bcm963x
+@@ -2672,6 +2720,7 @@ static struct of_device_id const bcm963x
  	{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
  	{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
  	{ .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
  	{ .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
  	{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
  	{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },

+ 1 - 1
target/linux/brcm63xx/patches-4.4/800-wl_exports.patch

@@ -15,7 +15,7 @@
  	unsigned int check_len;
  	unsigned int check_len;
 --- a/arch/mips/mm/cache.c
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
-@@ -59,6 +59,7 @@ void (*_dma_cache_wback)(unsigned long s
+@@ -60,6 +60,7 @@ void (*_dma_cache_wback)(unsigned long s
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
  EXPORT_SYMBOL(_dma_cache_wback_inv);

+ 0 - 70
target/linux/generic/patches-4.4/010-KEYS-Fix-keyring-ref-leak-in-join_session_keyring.patch

@@ -1,70 +0,0 @@
-From 7ca88764d45c209791e8813131c1457c2e9e51e7 Mon Sep 17 00:00:00 2001
-From: Yevgeny Pats <[email protected]>
-Date: Mon, 11 Jan 2016 12:05:28 +0000
-Subject: KEYS: Fix keyring ref leak in join_session_keyring()
-
-If a thread is asked to join as a session keyring the keyring that's already
-set as its session, we leak a keyring reference.
-
-This can be tested with the following program:
-
-	#include <stddef.h>
-	#include <stdio.h>
-	#include <sys/types.h>
-	#include <keyutils.h>
-
-	int main(int argc, const char *argv[])
-	{
-		int i = 0;
-		key_serial_t serial;
-
-		serial = keyctl(KEYCTL_JOIN_SESSION_KEYRING,
-				"leaked-keyring");
-		if (serial < 0) {
-			perror("keyctl");
-			return -1;
-		}
-
-		if (keyctl(KEYCTL_SETPERM, serial,
-			   KEY_POS_ALL | KEY_USR_ALL) < 0) {
-			perror("keyctl");
-			return -1;
-		}
-
-		for (i = 0; i < 100; i++) {
-			serial = keyctl(KEYCTL_JOIN_SESSION_KEYRING,
-					"leaked-keyring");
-			if (serial < 0) {
-				perror("keyctl");
-				return -1;
-			}
-		}
-
-		return 0;
-	}
-
-If, after the program has run, there something like the following line in
-/proc/keys:
-
-3f3d898f I--Q---   100 perm 3f3f0000     0     0 keyring   leaked-keyring: empty
-
-with a usage count of 100 * the number of times the program has been run,
-then the kernel is malfunctioning.  If leaked-keyring has zero usages or
-has been garbage collected, then the problem is fixed.
-
-Reported-by: Yevgeny Pats <[email protected]>
-Signed-off-by: David Howells <[email protected]>
----
- security/keys/process_keys.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/security/keys/process_keys.c
-+++ b/security/keys/process_keys.c
-@@ -794,6 +794,7 @@ long join_session_keyring(const char *na
- 		ret = PTR_ERR(keyring);
- 		goto error2;
- 	} else if (keyring == new->session_keyring) {
-+		key_put(keyring);
- 		ret = 0;
- 		goto error2;
- 	}

+ 0 - 118
target/linux/generic/patches-4.4/100-dump_stack-avoid-potential-deadlocks.patch

@@ -1,118 +0,0 @@
-From: Eric Dumazet <[email protected]>
-Date: Fri, 22 Jan 2016 23:06:44 -0800
-Subject: [PATCH] dump_stack: avoid potential deadlocks
-
-Some servers experienced fatal deadlocks because of a combination
-of bugs, leading to multiple cpus calling dump_stack().
-
-The checksumming bug was fixed in commit 34ae6a1aa054
-("ipv6: update skb->csum when CE mark is propagated").
-
-The second problem is a faulty locking in dump_stack()
-
-CPU1 runs in process context and calls dump_stack(), grabs dump_lock.
-
-   CPU2 receives a TCP packet under softirq, grabs socket spinlock, and
-   call dump_stack() from netdev_rx_csum_fault().
-
-   dump_stack() spins on atomic_cmpxchg(&dump_lock, -1, 2), since
-   dump_lock is owned by CPU1
-
-While dumping its stack, CPU1 is interrupted by a softirq, and happens
-to process a packet for the TCP socket locked by CPU2.
-
-CPU1 spins forever in spin_lock() : deadlock
-
-Stack trace on CPU1 looked like :
-
-[306295.402231] NMI backtrace for cpu 1
-[306295.402238] RIP: 0010:[<ffffffffa9804e95>]  [<ffffffffa9804e95>] _raw_spin_lock+0x25/0x30
-...
-[306295.402255] Stack:
-[306295.402256]  ffff88407f023cb0 ffffffffa99cbdc3 ffff88407f023ca0 ffff88012f496bb0
-[306295.402266]  ffffffffaa4dc1f0 ffff8820d94f0dc0 000000000000000a ffffffffaa4b4280
-[306295.402275]  ffff88407f023ce0 ffffffffa98a21d0 ffff88407f023cc0 ffff88407f023ca0
-[306295.402284] Call Trace:
-[306295.402286]  <IRQ>
-[306295.402288]
-[306295.402291]  [<ffffffffa99cbdc3>] tcp_v6_rcv+0x243/0x620
-[306295.402304]  [<ffffffffa99c38af>] ip6_input_finish+0x11f/0x330
-[306295.402309]  [<ffffffffa99c3b38>] ip6_input+0x38/0x40
-[306295.402313]  [<ffffffffa99c3b7c>] ip6_rcv_finish+0x3c/0x90
-[306295.402318]  [<ffffffffa99c3e79>] ipv6_rcv+0x2a9/0x500
-[306295.402323]  [<ffffffffa989a1a1>] process_backlog+0x461/0xaa0
-[306295.402332]  [<ffffffffa9899a57>] net_rx_action+0x147/0x430
-[306295.402337]  [<ffffffffa980cca7>] __do_softirq+0x167/0x2d0
-[306295.402341]  [<ffffffffa9d912dc>] call_softirq+0x1c/0x30
-[306295.402345]  [<ffffffffa980687f>] do_softirq+0x3f/0x80
-[306295.402350]  [<ffffffffa980cf7e>] irq_exit+0x6e/0xc0
-[306295.402355]  [<ffffffffa980a5b5>] smp_call_function_single_interrupt+0x35/0x40
-[306295.402360]  [<ffffffffa9d90bfa>] call_function_single_interrupt+0x6a/0x70
-[306295.402361]  <EOI>
-[306295.402364]
-[306295.402376]  [<ffffffffa9a3fa32>] printk+0x4d/0x4f
-[306295.402390]  [<ffffffffa99e1726>] printk_address+0x31/0x33
-[306295.402395]  [<ffffffffa99e175b>] print_trace_address+0x33/0x3c
-[306295.402408]  [<ffffffffa99e165b>] print_context_stack+0x7f/0x119
-[306295.402412]  [<ffffffffa99e07f1>] dump_trace+0x26b/0x28e
-[306295.402417]  [<ffffffffa99e17b3>] show_trace_log_lvl+0x4f/0x5c
-[306295.402421]  [<ffffffffa99e0a14>] show_stack_log_lvl+0x104/0x113
-[306295.402425]  [<ffffffffa99e1819>] show_stack+0x42/0x44
-[306295.402429]  [<ffffffffa9ba350a>] dump_stack+0x46/0x58
-[306295.402434]  [<ffffffffa9d0957d>] netdev_rx_csum_fault+0x38/0x3c
-[306295.402439]  [<ffffffffa9988e0e>] __skb_checksum_complete_head+0x6e/0x80
-[306295.402444]  [<ffffffffa9988e31>] __skb_checksum_complete+0x11/0x20
-[306295.402449]  [<ffffffffa98acf65>] tcp_rcv_established+0x2bd5/0x2fd0
-[306295.402468]  [<ffffffffa99cb69c>] tcp_v6_do_rcv+0x13c/0x620
-[306295.402477]  [<ffffffffa9984be5>] sk_backlog_rcv+0x15/0x30
-[306295.402482]  [<ffffffffa98931e2>] release_sock+0xd2/0x150
-[306295.402486]  [<ffffffffa98a51b1>] tcp_recvmsg+0x1c1/0xfc0
-[306295.402491]  [<ffffffffa98b637d>] inet_recvmsg+0x7d/0x90
-[306295.402495]  [<ffffffffa9891fcf>] sock_recvmsg+0xaf/0xe0
-[306295.402505]  [<ffffffffa9892611>] ___sys_recvmsg+0x111/0x3b0
-[306295.402528]  [<ffffffffa9892f5c>] SyS_recvmsg+0x5c/0xb0
-[306295.402532]  [<ffffffffa9d8fba2>] system_call_fastpath+0x16/0x1b
-
-Fixes: b58d977432c8 ("dump_stack: serialize the output from dump_stack()")
-Signed-off-by: Eric Dumazet <[email protected]>
-Cc: Alex Thorlton <[email protected]>
----
-
---- a/lib/dump_stack.c
-+++ b/lib/dump_stack.c
-@@ -25,6 +25,7 @@ static atomic_t dump_lock = ATOMIC_INIT(
- 
- asmlinkage __visible void dump_stack(void)
- {
-+	unsigned long flags;
- 	int was_locked;
- 	int old;
- 	int cpu;
-@@ -33,9 +34,8 @@ asmlinkage __visible void dump_stack(voi
- 	 * Permit this cpu to perform nested stack dumps while serialising
- 	 * against other CPUs
- 	 */
--	preempt_disable();
--
- retry:
-+	local_irq_save(flags);
- 	cpu = smp_processor_id();
- 	old = atomic_cmpxchg(&dump_lock, -1, cpu);
- 	if (old == -1) {
-@@ -43,6 +43,7 @@ retry:
- 	} else if (old == cpu) {
- 		was_locked = 1;
- 	} else {
-+		local_irq_restore(flags);
- 		cpu_relax();
- 		goto retry;
- 	}
-@@ -52,7 +53,7 @@ retry:
- 	if (!was_locked)
- 		atomic_set(&dump_lock, -1);
- 
--	preempt_enable();
-+	local_irq_restore(flags);
- }
- #else
- asmlinkage __visible void dump_stack(void)

+ 5 - 5
target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch

@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/net/core/dev.c
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4199,6 +4199,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4204,6 +4204,9 @@ static enum gro_result dev_gro_receive(s
  	enum gro_result ret;
  	enum gro_result ret;
  	int grow;
  	int grow;
  
  
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (!(skb->dev->features & NETIF_F_GRO))
  	if (!(skb->dev->features & NETIF_F_GRO))
  		goto normal;
  		goto normal;
  
  
-@@ -5349,6 +5352,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5354,6 +5357,48 @@ static void __netdev_adjacent_dev_unlink
  					   &upper_dev->adj_list.lower);
  					   &upper_dev->adj_list.lower);
  }
  }
  
  
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  static int __netdev_upper_dev_link(struct net_device *dev,
  static int __netdev_upper_dev_link(struct net_device *dev,
  				   struct net_device *upper_dev, bool master,
  				   struct net_device *upper_dev, bool master,
  				   void *private)
  				   void *private)
-@@ -5420,6 +5465,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5425,6 +5470,7 @@ static int __netdev_upper_dev_link(struc
  			goto rollback_lower_mesh;
  			goto rollback_lower_mesh;
  	}
  	}
  
  
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
  				      &changeupper_info.info);
  				      &changeupper_info.info);
  	return 0;
  	return 0;
-@@ -5546,6 +5592,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5551,6 +5597,7 @@ void netdev_upper_dev_unlink(struct net_
  	list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
  	list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
  		__netdev_adjacent_dev_unlink(dev, i->dev);
  		__netdev_adjacent_dev_unlink(dev, i->dev);
  
  
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
  				      &changeupper_info.info);
  				      &changeupper_info.info);
  }
  }
-@@ -6086,6 +6133,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6091,6 +6138,7 @@ int dev_set_mac_address(struct net_devic
  	if (err)
  	if (err)
  		return err;
  		return err;
  	dev->addr_assign_type = NET_ADDR_SET;
  	dev->addr_assign_type = NET_ADDR_SET;

+ 1 - 1
target/linux/generic/patches-4.4/721-phy_packets.patch

@@ -86,7 +86,7 @@
  	help
  	help
 --- a/net/core/dev.c
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -2708,10 +2708,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -2713,10 +2713,20 @@ static int xmit_one(struct sk_buff *skb,
  	if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
  	if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
  		dev_queue_xmit_nit(skb, dev);
  		dev_queue_xmit_nit(skb, dev);
  
  

+ 1 - 1
target/linux/generic/patches-4.4/820-usb_add_usb_find_device_by_name.patch

@@ -74,7 +74,7 @@
   * @dev: device the buffer will be used with
   * @dev: device the buffer will be used with
 --- a/include/linux/usb.h
 --- a/include/linux/usb.h
 +++ b/include/linux/usb.h
 +++ b/include/linux/usb.h
-@@ -725,6 +725,7 @@ static inline bool usb_device_no_sg_cons
+@@ -729,6 +729,7 @@ static inline bool usb_device_no_sg_cons
  	return udev && udev->bus && udev->bus->no_sg_constraint;
  	return udev && udev->bus && udev->bus->no_sg_constraint;
  }
  }
  
  

+ 1 - 1
target/linux/lantiq/patches-4.4/0004-MIPS-lantiq-add-atm-hack.patch

@@ -441,7 +441,7 @@ Signed-off-by: John Crispin <[email protected]>
  {
  {
 --- a/arch/mips/mm/cache.c
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
-@@ -59,6 +59,8 @@ void (*_dma_cache_wback)(unsigned long s
+@@ -60,6 +60,8 @@ void (*_dma_cache_wback)(unsigned long s
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);
  
  
  EXPORT_SYMBOL(_dma_cache_wback_inv);
  EXPORT_SYMBOL(_dma_cache_wback_inv);

+ 1 - 1
target/linux/lantiq/patches-4.4/0032-USB-fix-roothub-for-IFXHCD.patch

@@ -20,7 +20,7 @@ Subject: [PATCH 32/36] USB: fix roothub for IFXHCD
  choice
  choice
 --- a/drivers/usb/core/hub.c
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -4337,7 +4337,7 @@ hub_port_init(struct usb_hub *hub, struc
+@@ -4358,7 +4358,7 @@ hub_port_init(struct usb_hub *hub, struc
  		udev->ttport = hdev->ttport;
  		udev->ttport = hdev->ttport;
  	} else if (udev->speed != USB_SPEED_HIGH
  	} else if (udev->speed != USB_SPEED_HIGH
  			&& hdev->speed == USB_SPEED_HIGH) {
  			&& hdev->speed == USB_SPEED_HIGH) {

+ 4 - 4
target/linux/lantiq/patches-4.4/0044-pinctrl-lantiq-introduce-new-dedicated-devicetree-bi.patch

@@ -1266,7 +1266,7 @@ Signed-off-by: Linus Walleij <[email protected]>
  /* ---------  pinconf related code --------- */
  /* ---------  pinconf related code --------- */
  static int xway_pinconf_get(struct pinctrl_dev *pctldev,
  static int xway_pinconf_get(struct pinctrl_dev *pctldev,
  				unsigned pin,
  				unsigned pin,
-@@ -714,10 +1601,7 @@ static struct gpio_chip xway_chip = {
+@@ -715,10 +1602,7 @@ static struct gpio_chip xway_chip = {
  
  
  
  
  /* --------- register the pinctrl layer --------- */
  /* --------- register the pinctrl layer --------- */
@@ -1278,7 +1278,7 @@ Signed-off-by: Linus Walleij <[email protected]>
  	int pin_count;
  	int pin_count;
  	const struct ltq_mfp_pin *mfp;
  	const struct ltq_mfp_pin *mfp;
  	const struct ltq_pin_group *grps;
  	const struct ltq_pin_group *grps;
-@@ -726,22 +1610,54 @@ static struct pinctrl_xway_soc {
+@@ -727,22 +1611,54 @@ static struct pinctrl_xway_soc {
  	unsigned int num_funcs;
  	unsigned int num_funcs;
  	const unsigned *exin;
  	const unsigned *exin;
  	unsigned int num_exin;
  	unsigned int num_exin;
@@ -1349,7 +1349,7 @@ Signed-off-by: Linus Walleij <[email protected]>
  };
  };
  
  
  static struct pinctrl_gpio_range xway_gpio_range = {
  static struct pinctrl_gpio_range xway_gpio_range = {
-@@ -750,9 +1666,14 @@ static struct pinctrl_gpio_range xway_gp
+@@ -751,9 +1667,14 @@ static struct pinctrl_gpio_range xway_gp
  };
  };
  
  
  static const struct of_device_id xway_match[] = {
  static const struct of_device_id xway_match[] = {
@@ -1367,7 +1367,7 @@ Signed-off-by: Linus Walleij <[email protected]>
  	{},
  	{},
  };
  };
  MODULE_DEVICE_TABLE(of, xway_match);
  MODULE_DEVICE_TABLE(of, xway_match);
-@@ -774,7 +1695,7 @@ static int pinmux_xway_probe(struct plat
+@@ -775,7 +1696,7 @@ static int pinmux_xway_probe(struct plat
  	if (match)
  	if (match)
  		xway_soc = (const struct pinctrl_xway_soc *) match->data;
  		xway_soc = (const struct pinctrl_xway_soc *) match->data;
  	else
  	else

+ 2 - 2
target/linux/mxs/patches-4.4/101-mxs-add-mxs_power.patch

@@ -17,9 +17,9 @@
  	depends on MFD_WM831X
  	depends on MFD_WM831X
 --- a/drivers/power/Makefile
 --- a/drivers/power/Makefile
 +++ b/drivers/power/Makefile
 +++ b/drivers/power/Makefile
-@@ -10,6 +10,7 @@ obj-$(CONFIG_GENERIC_ADC_BATTERY)	+= gen
- obj-$(CONFIG_PDA_POWER)		+= pda_power.o
+@@ -11,6 +11,7 @@ obj-$(CONFIG_PDA_POWER)		+= pda_power.o
  obj-$(CONFIG_APM_POWER)		+= apm_power.o
  obj-$(CONFIG_APM_POWER)		+= apm_power.o
+ obj-$(CONFIG_AXP20X_POWER)	+= axp20x_usb_power.o
  obj-$(CONFIG_MAX8925_POWER)	+= max8925_power.o
  obj-$(CONFIG_MAX8925_POWER)	+= max8925_power.o
 +obj-$(CONFIG_MXS_POWER)		+= mxs_power.o
 +obj-$(CONFIG_MXS_POWER)		+= mxs_power.o
  obj-$(CONFIG_WM831X_BACKUP)	+= wm831x_backup.o
  obj-$(CONFIG_WM831X_BACKUP)	+= wm831x_backup.o

+ 5 - 5
target/linux/mxs/patches-4.4/102-mxs-add-regulator-driver.patch

@@ -1,6 +1,6 @@
 --- a/drivers/regulator/Kconfig
 --- a/drivers/regulator/Kconfig
 +++ b/drivers/regulator/Kconfig
 +++ b/drivers/regulator/Kconfig
-@@ -450,6 +450,14 @@ config REGULATOR_MT6397
+@@ -461,6 +461,14 @@ config REGULATOR_MT6397
  	  This driver supports the control of different power rails of device
  	  This driver supports the control of different power rails of device
  	  through regulator interface.
  	  through regulator interface.
  
  
@@ -17,14 +17,14 @@
  	depends on MFD_PALMAS
  	depends on MFD_PALMAS
 --- a/drivers/regulator/Makefile
 --- a/drivers/regulator/Makefile
 +++ b/drivers/regulator/Makefile
 +++ b/drivers/regulator/Makefile
-@@ -60,6 +60,7 @@ obj-$(CONFIG_REGULATOR_MC13783) += mc137
- obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o
+@@ -61,6 +61,7 @@ obj-$(CONFIG_REGULATOR_MC13892) += mc138
  obj-$(CONFIG_REGULATOR_MC13XXX_CORE) +=  mc13xxx-regulator-core.o
  obj-$(CONFIG_REGULATOR_MC13XXX_CORE) +=  mc13xxx-regulator-core.o
+ obj-$(CONFIG_REGULATOR_MT6311) += mt6311-regulator.o
  obj-$(CONFIG_REGULATOR_MT6397)	+= mt6397-regulator.o
  obj-$(CONFIG_REGULATOR_MT6397)	+= mt6397-regulator.o
 +obj-$(CONFIG_REGULATOR_MXS) += mxs-regulator.o
 +obj-$(CONFIG_REGULATOR_MXS) += mxs-regulator.o
  obj-$(CONFIG_REGULATOR_QCOM_RPM) += qcom_rpm-regulator.o
  obj-$(CONFIG_REGULATOR_QCOM_RPM) += qcom_rpm-regulator.o
- obj-$(CONFIG_REGULATOR_PALMAS) += palmas-regulator.o
- obj-$(CONFIG_REGULATOR_PFUZE100) += pfuze100-regulator.o
+ obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o
+ obj-$(CONFIG_REGULATOR_QCOM_SPMI) += qcom_spmi-regulator.o
 --- /dev/null
 --- /dev/null
 +++ b/drivers/regulator/mxs-regulator.c
 +++ b/drivers/regulator/mxs-regulator.c
 @@ -0,0 +1,540 @@
 @@ -0,0 +1,540 @@

+ 2 - 2
target/linux/mxs/patches-4.4/103-dt-enable-regulator.patch

@@ -1,6 +1,6 @@
 --- a/arch/arm/boot/dts/imx23.dtsi
 --- a/arch/arm/boot/dts/imx23.dtsi
 +++ b/arch/arm/boot/dts/imx23.dtsi
 +++ b/arch/arm/boot/dts/imx23.dtsi
-@@ -404,8 +404,46 @@
+@@ -439,8 +439,46 @@
  			};
  			};
  
  
  			power@80044000 {
  			power@80044000 {
@@ -50,7 +50,7 @@
  			saif1: saif@80046000 {
  			saif1: saif@80046000 {
 --- a/arch/arm/boot/dts/imx28.dtsi
 --- a/arch/arm/boot/dts/imx28.dtsi
 +++ b/arch/arm/boot/dts/imx28.dtsi
 +++ b/arch/arm/boot/dts/imx28.dtsi
-@@ -1035,8 +1035,46 @@
+@@ -1037,8 +1037,46 @@
  			};
  			};
  
  
  			power: power@80044000 {
  			power: power@80044000 {

+ 2 - 8
target/linux/mxs/patches-4.4/110-crypto-mxsdcp-provide-importexport.patch

@@ -21,11 +21,9 @@ Changes since v2:
  drivers/crypto/mxs-dcp.c | 24 ++++++++++++++++++++++++
  drivers/crypto/mxs-dcp.c | 24 ++++++++++++++++++++++++
  1 file changed, 24 insertions(+)
  1 file changed, 24 insertions(+)
 
 
-diff --git a/drivers/crypto/mxs-dcp.c b/drivers/crypto/mxs-dcp.c
-index 59ed54e..1e2017f 100644
 --- a/drivers/crypto/mxs-dcp.c
 --- a/drivers/crypto/mxs-dcp.c
 +++ b/drivers/crypto/mxs-dcp.c
 +++ b/drivers/crypto/mxs-dcp.c
-@@ -775,6 +775,24 @@ static void dcp_sha_cra_exit(struct crypto_tfm *tfm)
+@@ -775,6 +775,24 @@ static void dcp_sha_cra_exit(struct cryp
  {
  {
  }
  }
  
  
@@ -62,7 +60,7 @@ index 59ed54e..1e2017f 100644
  		.base		= {
  		.base		= {
  			.cra_name		= "sha1",
  			.cra_name		= "sha1",
  			.cra_driver_name	= "sha1-dcp",
  			.cra_driver_name	= "sha1-dcp",
-@@ -858,8 +879,11 @@ static struct ahash_alg dcp_sha256_alg = {
+@@ -858,8 +879,11 @@ static struct ahash_alg dcp_sha256_alg =
  	.final	= dcp_sha_final,
  	.final	= dcp_sha_final,
  	.finup	= dcp_sha_finup,
  	.finup	= dcp_sha_finup,
  	.digest	= dcp_sha_digest,
  	.digest	= dcp_sha_digest,
@@ -74,7 +72,3 @@ index 59ed54e..1e2017f 100644
  		.base		= {
  		.base		= {
  			.cra_name		= "sha256",
  			.cra_name		= "sha256",
  			.cra_driver_name	= "sha256-dcp",
  			.cra_driver_name	= "sha256-dcp",
--- 
-1.9.1
-
---

+ 1 - 1
target/linux/oxnas/patches-4.4/340-oxnas-pcie.patch

@@ -1,6 +1,6 @@
 --- a/drivers/pci/host/Kconfig
 --- a/drivers/pci/host/Kconfig
 +++ b/drivers/pci/host/Kconfig
 +++ b/drivers/pci/host/Kconfig
-@@ -172,4 +172,9 @@ config PCI_HISI
+@@ -173,4 +173,9 @@ config PCI_HISI
  	help
  	help
  	  Say Y here if you want PCIe controller support on HiSilicon HIP05 SoC
  	  Say Y here if you want PCIe controller support on HiSilicon HIP05 SoC
  
  

+ 0 - 37
target/linux/sunxi/patches-4.4/116-crypto-add-missing-statesize.patch

@@ -1,37 +0,0 @@
-From 4f9ea86604e3ba64edd2817795798168fbb3c1a6 Mon Sep 17 00:00:00 2001
-From: LABBE Corentin <[email protected]>
-Date: Mon, 16 Nov 2015 09:35:54 +0100
-Subject: [PATCH] crypto: sun4i-ss - add missing statesize
-
-sun4i-ss implementaton of md5/sha1 is via ahash algorithms.
-Commit 8996eafdcbad ("crypto: ahash - ensure statesize is non-zero")
-made impossible to load them without giving statesize. This patch
-specifiy statesize for sha1 and md5.
-
-Fixes: 6298e948215f ("crypto: sunxi-ss - Add Allwinner Security System crypto accelerator")
-Cc: <[email protected]> # v4.3+
-Tested-by: Chen-Yu Tsai <[email protected]>
-Signed-off-by: LABBE Corentin <[email protected]>
-Signed-off-by: Herbert Xu <[email protected]>
----
- drivers/crypto/sunxi-ss/sun4i-ss-core.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/crypto/sunxi-ss/sun4i-ss-core.c
-+++ b/drivers/crypto/sunxi-ss/sun4i-ss-core.c
-@@ -39,6 +39,7 @@ static struct sun4i_ss_alg_template ss_a
- 		.import = sun4i_hash_import_md5,
- 		.halg = {
- 			.digestsize = MD5_DIGEST_SIZE,
-+			.statesize = sizeof(struct md5_state),
- 			.base = {
- 				.cra_name = "md5",
- 				.cra_driver_name = "md5-sun4i-ss",
-@@ -66,6 +67,7 @@ static struct sun4i_ss_alg_template ss_a
- 		.import = sun4i_hash_import_sha1,
- 		.halg = {
- 			.digestsize = SHA1_DIGEST_SIZE,
-+			.statesize = sizeof(struct sha1_state),
- 			.base = {
- 				.cra_name = "sha1",
- 				.cra_driver_name = "sha1-sun4i-ss",

+ 1 - 1
target/linux/uml/patches-4.4/100-link-libpthread.patch

@@ -1,6 +1,6 @@
 --- a/scripts/link-vmlinux.sh
 --- a/scripts/link-vmlinux.sh
 +++ b/scripts/link-vmlinux.sh
 +++ b/scripts/link-vmlinux.sh
-@@ -62,7 +62,7 @@
+@@ -62,7 +62,7 @@ vmlinux_link()
  			-Wl,--start-group                                    \
  			-Wl,--start-group                                    \
  				 ${KBUILD_VMLINUX_MAIN}                      \
  				 ${KBUILD_VMLINUX_MAIN}                      \
  			-Wl,--end-group                                      \
  			-Wl,--end-group                                      \

+ 9 - 9
target/linux/uml/patches-4.4/101-mconsole-exec.patch

@@ -17,7 +17,7 @@
 #
 #
 --- a/arch/um/drivers/mconsole.h
 --- a/arch/um/drivers/mconsole.h
 +++ b/arch/um/drivers/mconsole.h
 +++ b/arch/um/drivers/mconsole.h
-@@ -85,6 +85,7 @@
+@@ -85,6 +85,7 @@ extern void mconsole_cad(struct mc_reque
  extern void mconsole_stop(struct mc_request *req);
  extern void mconsole_stop(struct mc_request *req);
  extern void mconsole_go(struct mc_request *req);
  extern void mconsole_go(struct mc_request *req);
  extern void mconsole_log(struct mc_request *req);
  extern void mconsole_log(struct mc_request *req);
@@ -43,7 +43,7 @@
  #include <asm/uaccess.h>
  #include <asm/uaccess.h>
  #include <asm/switch_to.h>
  #include <asm/switch_to.h>
  
  
-@@ -121,6 +123,59 @@
+@@ -121,6 +123,59 @@ void mconsole_log(struct mc_request *req
  	mconsole_reply(req, "", 0, 0);
  	mconsole_reply(req, "", 0, 0);
  }
  }
  
  
@@ -103,7 +103,7 @@
  void mconsole_proc(struct mc_request *req)
  void mconsole_proc(struct mc_request *req)
  {
  {
  	struct vfsmount *mnt = task_active_pid_ns(current)->proc_mnt;
  	struct vfsmount *mnt = task_active_pid_ns(current)->proc_mnt;
-@@ -187,6 +242,7 @@
+@@ -187,6 +242,7 @@ void mconsole_proc(struct mc_request *re
      stop - pause the UML; it will do nothing until it receives a 'go' \n\
      stop - pause the UML; it will do nothing until it receives a 'go' \n\
      go - continue the UML after a 'stop' \n\
      go - continue the UML after a 'stop' \n\
      log <string> - make UML enter <string> into the kernel log\n\
      log <string> - make UML enter <string> into the kernel log\n\
@@ -113,7 +113,7 @@
  "
  "
 --- a/arch/um/drivers/mconsole_user.c
 --- a/arch/um/drivers/mconsole_user.c
 +++ b/arch/um/drivers/mconsole_user.c
 +++ b/arch/um/drivers/mconsole_user.c
-@@ -30,6 +30,7 @@
+@@ -30,6 +30,7 @@ static struct mconsole_command commands[
  	{ "stop", mconsole_stop, MCONSOLE_PROC },
  	{ "stop", mconsole_stop, MCONSOLE_PROC },
  	{ "go", mconsole_go, MCONSOLE_INTR },
  	{ "go", mconsole_go, MCONSOLE_INTR },
  	{ "log", mconsole_log, MCONSOLE_INTR },
  	{ "log", mconsole_log, MCONSOLE_INTR },
@@ -123,7 +123,7 @@
  };
  };
 --- a/arch/um/os-Linux/file.c
 --- a/arch/um/os-Linux/file.c
 +++ b/arch/um/os-Linux/file.c
 +++ b/arch/um/os-Linux/file.c
-@@ -535,6 +535,8 @@
+@@ -535,6 +535,8 @@ int os_create_unix_socket(const char *fi
  
  
  	addr.sun_family = AF_UNIX;
  	addr.sun_family = AF_UNIX;
  
  
@@ -134,7 +134,7 @@
  	err = bind(sock, (struct sockaddr *) &addr, sizeof(addr));
  	err = bind(sock, (struct sockaddr *) &addr, sizeof(addr));
 --- a/include/linux/kmod.h
 --- a/include/linux/kmod.h
 +++ b/include/linux/kmod.h
 +++ b/include/linux/kmod.h
-@@ -62,6 +62,7 @@
+@@ -62,6 +62,7 @@ struct subprocess_info {
  	int wait;
  	int wait;
  	int retval;
  	int retval;
  	int (*init)(struct subprocess_info *info, struct cred *new);
  	int (*init)(struct subprocess_info *info, struct cred *new);
@@ -142,7 +142,7 @@
  	void (*cleanup)(struct subprocess_info *info);
  	void (*cleanup)(struct subprocess_info *info);
  	void *data;
  	void *data;
  };
  };
-@@ -102,4 +103,6 @@
+@@ -102,4 +103,6 @@ extern int usermodehelper_read_trylock(v
  extern long usermodehelper_read_lock_wait(long timeout);
  extern long usermodehelper_read_lock_wait(long timeout);
  extern void usermodehelper_read_unlock(void);
  extern void usermodehelper_read_unlock(void);
  
  
@@ -159,7 +159,7 @@
  #include <asm/uaccess.h>
  #include <asm/uaccess.h>
  
  
  #include <trace/events/module.h>
  #include <trace/events/module.h>
-@@ -222,6 +223,28 @@
+@@ -222,6 +223,28 @@ static int call_usermodehelper_exec_asyn
  	flush_signal_handlers(current, 1);
  	flush_signal_handlers(current, 1);
  	spin_unlock_irq(&current->sighand->siglock);
  	spin_unlock_irq(&current->sighand->siglock);
  
  
@@ -188,7 +188,7 @@
  	/*
  	/*
  	 * Our parent (unbound workqueue) runs with elevated scheduling
  	 * Our parent (unbound workqueue) runs with elevated scheduling
  	 * priority. Avoid propagating that into the userspace child.
  	 * priority. Avoid propagating that into the userspace child.
-@@ -540,6 +563,20 @@
+@@ -540,6 +563,20 @@ struct subprocess_info *call_usermodehel
  }
  }
  EXPORT_SYMBOL(call_usermodehelper_setup);
  EXPORT_SYMBOL(call_usermodehelper_setup);
  
  

+ 3 - 3
target/linux/uml/patches-4.4/102-pseudo-random-mac.patch

@@ -11,7 +11,7 @@ Applies to vanilla kernel 3.9.4.
 ===============================================================================
 ===============================================================================
 --- a/arch/um/Kconfig.net
 --- a/arch/um/Kconfig.net
 +++ b/arch/um/Kconfig.net
 +++ b/arch/um/Kconfig.net
-@@ -21,6 +21,19 @@
+@@ -21,6 +21,19 @@ config UML_NET
          enable at least one of the following transport options to actually
          enable at least one of the following transport options to actually
          make use of UML networking.
          make use of UML networking.
  
  
@@ -47,7 +47,7 @@ Applies to vanilla kernel 3.9.4.
  #define DRIVER_NAME "uml-netdev"
  #define DRIVER_NAME "uml-netdev"
  
  
  static DEFINE_SPINLOCK(opened_lock);
  static DEFINE_SPINLOCK(opened_lock);
-@@ -295,11 +302,47 @@
+@@ -295,11 +302,47 @@ static void uml_net_user_timer_expire(un
  #endif
  #endif
  }
  }
  
  
@@ -95,7 +95,7 @@ Applies to vanilla kernel 3.9.4.
  
  
  	if (str == NULL)
  	if (str == NULL)
  		goto random;
  		goto random;
-@@ -340,9 +383,26 @@
+@@ -340,9 +383,26 @@ static void setup_etheraddr(struct net_d
  	return;
  	return;
  
  
  random:
  random:

+ 7 - 12
target/linux/zynq/patches-4.4/0001-arm-dts-zynq-zc702.dts-Set-default-rdinit-to-sbin-in.patch

@@ -5,19 +5,14 @@ Subject: [PATCH] arm: dts: zynq-zc702.dts: Set default rdinit to /sbin/init
 
 
 Signed-off-by: Jason Wu <[email protected]>
 Signed-off-by: Jason Wu <[email protected]>
 
 
-diff --git a/arch/arm/boot/dts/zynq-zc702.dts b/arch/arm/boot/dts/zynq-zc702.dts
-index 68bd8c1..adf9a1d 100644
 --- a/arch/arm/boot/dts/zynq-zc702.dts
 --- a/arch/arm/boot/dts/zynq-zc702.dts
 +++ b/arch/arm/boot/dts/zynq-zc702.dts
 +++ b/arch/arm/boot/dts/zynq-zc702.dts
-@@ -31,7 +31,7 @@
-	};
-
-	chosen {
+@@ -30,7 +30,7 @@
+ 	};
+ 
+ 	chosen {
 -		bootargs = "earlyprintk";
 -		bootargs = "earlyprintk";
 +		bootargs = "earlyprintk rdinit=/sbin/init";
 +		bootargs = "earlyprintk rdinit=/sbin/init";
-		stdout-path = "serial0:115200n8";
-	};
-
---
-1.9.1
-
+ 		stdout-path = "serial0:115200n8";
+ 	};
+