Browse Source

kernel: bump 4.19 to 4.19.122

Refreshed all patches.

Remove upstreamed:
- 551-loop-Better-discard-support-for-block-devices.patch

Fixed:
- CVE-2020-11884
- CVE-2020-12114
- CVE-2019-3016
- CVE-2020-11669

Compile-tested on: cns3xxx
Runtime-tested on: cns3xxx

Signed-off-by: Koen Vandeputte <[email protected]>
Koen Vandeputte 5 years ago
parent
commit
7dd2d7289a
23 changed files with 40 additions and 151 deletions
  1. 2 2
      include/kernel-version.mk
  2. 2 1
      target/linux/ath79/patches-4.19/404-mtd-cybertan-trx-parser.patch
  3. 2 2
      target/linux/bcm27xx/patches-4.19/950-0039-Add-dwc_otg-driver.patch
  4. 1 1
      target/linux/bcm27xx/patches-4.19/950-0179-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch
  5. 2 2
      target/linux/bcm27xx/patches-4.19/950-0470-bcmgenet-Better-coalescing-parameter-defaults.patch
  6. 3 3
      target/linux/bcm27xx/patches-4.19/950-0556-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch
  7. 1 1
      target/linux/bcm27xx/patches-4.19/950-0572-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
  8. 2 2
      target/linux/bcm27xx/patches-4.19/950-0573-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
  9. 1 1
      target/linux/bcm27xx/patches-4.19/950-0630-drm-vc4-A-present-but-empty-dmas-disables-audio.patch
  10. 1 1
      target/linux/bcm27xx/patches-4.19/950-0658-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch
  11. 2 2
      target/linux/bcm47xx/patches-4.19/159-cpu_fixes.patch
  12. 2 2
      target/linux/generic/backport-4.19/095-Allow-class-e-address-assignment-via-ifconfig-ioctl.patch
  13. 1 1
      target/linux/generic/backport-4.19/451-v5.0-mtd-spinand-Add-initial-support-for-Toshiba-TC58CVG2.patch
  14. 1 1
      target/linux/generic/backport-4.19/452-v5.0-mtd-spinand-add-support-for-GigaDevice-GD5FxGQ4xA.patch
  15. 1 1
      target/linux/generic/backport-4.19/461-v5.3-mtd-spinand-Add-support-for-two-byte-device-IDs.patch
  16. 1 1
      target/linux/generic/backport-4.19/463-v5.3-mtd-spinand-Add-initial-support-for-Paragon-PN26G0xA.patch
  17. 2 2
      target/linux/generic/hack-4.19/550-loop-Report-EOPNOTSUPP-properly.patch
  18. 0 101
      target/linux/generic/hack-4.19/551-loop-Better-discard-support-for-block-devices.patch
  19. 1 1
      target/linux/generic/hack-4.19/902-debloat_proc.patch
  20. 3 10
      target/linux/generic/pending-4.19/270-platform-mikrotik-build-bits.patch
  21. 1 5
      target/linux/generic/pending-4.19/435-mtd-add-routerbootpart-parser-config.patch
  22. 5 5
      target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
  23. 3 3
      target/linux/generic/pending-4.19/810-pci_disable_common_quirks.patch

+ 2 - 2
include/kernel-version.mk

@@ -7,11 +7,11 @@ ifdef CONFIG_TESTING_KERNEL
 endif
 endif
 
 
 LINUX_VERSION-4.14 = .180
 LINUX_VERSION-4.14 = .180
-LINUX_VERSION-4.19 = .115
+LINUX_VERSION-4.19 = .122
 LINUX_VERSION-5.4 = .39
 LINUX_VERSION-5.4 = .39
 
 
 LINUX_KERNEL_HASH-4.14.180 = 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e
 LINUX_KERNEL_HASH-4.14.180 = 444ef973d9b6a6ea174e4a9086f0aea980d8575d13302e431ad688f22e27ed0e
-LINUX_KERNEL_HASH-4.19.115 = 11b2d97c8ea5ceb40c5e1d0bb87ad5b2b8c84560181bc60c0d28ec3a3e3801c2
+LINUX_KERNEL_HASH-4.19.122 = 5050268ec5cf003d96366d1611ecfa4ab6974125d6fa26cea1ccb81dd4df00a5
 LINUX_KERNEL_HASH-5.4.39 = 5141965a61a7b1c538443782ec3ef25fe0c3f9cd4d70c4e9f969d16883f365c8
 LINUX_KERNEL_HASH-5.4.39 = 5141965a61a7b1c538443782ec3ef25fe0c3f9cd4d70c4e9f969d16883f365c8
 
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))

+ 2 - 1
target/linux/ath79/patches-4.19/404-mtd-cybertan-trx-parser.patch

@@ -1,9 +1,10 @@
 --- a/drivers/mtd/parsers/Makefile
 --- a/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
-@@ -1,2 +1,3 @@
+@@ -1,3 +1,4 @@
 +obj-$(CONFIG_MTD_PARSER_CYBERTAN)	+= parser_cybertan.o
 +obj-$(CONFIG_MTD_PARSER_CYBERTAN)	+= parser_cybertan.o
  obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_trx.o
  obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_trx.o
  obj-$(CONFIG_MTD_SHARPSL_PARTS)		+= sharpslpart.o
  obj-$(CONFIG_MTD_SHARPSL_PARTS)		+= sharpslpart.o
+ obj-$(CONFIG_MTD_ROUTERBOOT_PARTS)		+= routerbootpart.o
 --- a/drivers/mtd/parsers/Kconfig
 --- a/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
 @@ -1,3 +1,11 @@
 @@ -1,3 +1,11 @@

+ 2 - 2
target/linux/bcm27xx/patches-4.19/950-0039-Add-dwc_otg-driver.patch

@@ -917,7 +917,7 @@ Fixes https://github.com/raspberrypi/linux/issues/2408
  }
  }
 --- a/drivers/usb/core/hub.c
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -5232,7 +5232,7 @@ static void port_event(struct usb_hub *h
+@@ -5246,7 +5246,7 @@ static void port_event(struct usb_hub *h
  		u16 status = 0, unused;
  		u16 status = 0, unused;
  		port_dev->over_current_count++;
  		port_dev->over_current_count++;
  
  
@@ -928,7 +928,7 @@ Fixes https://github.com/raspberrypi/linux/issues/2408
  				USB_PORT_FEAT_C_OVER_CURRENT);
  				USB_PORT_FEAT_C_OVER_CURRENT);
 --- a/drivers/usb/core/message.c
 --- a/drivers/usb/core/message.c
 +++ b/drivers/usb/core/message.c
 +++ b/drivers/usb/core/message.c
-@@ -1993,6 +1993,85 @@ free_interfaces:
+@@ -2000,6 +2000,85 @@ free_interfaces:
  	if (cp->string == NULL &&
  	if (cp->string == NULL &&
  			!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
  			!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
  		cp->string = usb_cache_string(dev, cp->desc.iConfiguration);
  		cp->string = usb_cache_string(dev, cp->desc.iConfiguration);

+ 1 - 1
target/linux/bcm27xx/patches-4.19/950-0179-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch

@@ -156,7 +156,7 @@ Signed-off-by: Dave Stevenson <[email protected]>
 +};
 +};
 --- a/arch/arm/boot/dts/bcm283x.dtsi
 --- a/arch/arm/boot/dts/bcm283x.dtsi
 +++ b/arch/arm/boot/dts/bcm283x.dtsi
 +++ b/arch/arm/boot/dts/bcm283x.dtsi
-@@ -565,6 +565,32 @@
+@@ -566,6 +566,32 @@
  			status = "disabled";
  			status = "disabled";
  		};
  		};
  
  

+ 2 - 2
target/linux/bcm27xx/patches-4.19/950-0470-bcmgenet-Better-coalescing-parameter-defaults.patch

@@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <[email protected]>
 
 
 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -2147,7 +2147,7 @@ static void bcmgenet_init_tx_ring(struct
+@@ -2150,7 +2150,7 @@ static void bcmgenet_init_tx_ring(struct
  
  
  	bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
  	bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
  	bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
  	bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <[email protected]>
  	/* Disable rate control for now */
  	/* Disable rate control for now */
  	bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
  	bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
  				  TDMA_FLOW_PERIOD);
  				  TDMA_FLOW_PERIOD);
-@@ -3576,9 +3576,12 @@ static int bcmgenet_probe(struct platfor
+@@ -3580,9 +3580,12 @@ static int bcmgenet_probe(struct platfor
  	netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
  	netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
  
  
  	/* Set default coalescing parameters */
  	/* Set default coalescing parameters */

+ 3 - 3
target/linux/bcm27xx/patches-4.19/950-0556-ARM-dts-bcm283x-Move-BCM2835-6-7-specific-to-bcm2835.patch

@@ -159,8 +159,8 @@ Signed-off-by: Stefan Wahren <[email protected]>
  			jtag_gpio22: jtag_gpio22 {
  			jtag_gpio22: jtag_gpio22 {
  				brcm,pins = <22 23 24 25 26 27>;
  				brcm,pins = <22 23 24 25 26 27>;
  				brcm,function = <BCM2835_FSEL_ALT4>;
  				brcm,function = <BCM2835_FSEL_ALT4>;
-@@ -487,14 +460,6 @@
- 
+@@ -488,14 +461,6 @@
+ 			status = "disabled";
  		};
  		};
  
  
 -		thermal: thermal@7e212000 {
 -		thermal: thermal@7e212000 {
@@ -174,7 +174,7 @@ Signed-off-by: Stefan Wahren <[email protected]>
  		aux: aux@7e215000 {
  		aux: aux@7e215000 {
  			compatible = "brcm,bcm2835-aux";
  			compatible = "brcm,bcm2835-aux";
  			#clock-cells = <1>;
  			#clock-cells = <1>;
-@@ -660,12 +625,6 @@
+@@ -661,12 +626,6 @@
  			phy-names = "usb2-phy";
  			phy-names = "usb2-phy";
  		};
  		};
  
  

+ 1 - 1
target/linux/bcm27xx/patches-4.19/950-0572-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch

@@ -46,7 +46,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
   * have been called previously.  Use for set_configuration, set_interface,
   * have been called previously.  Use for set_configuration, set_interface,
 --- a/drivers/usb/core/message.c
 --- a/drivers/usb/core/message.c
 +++ b/drivers/usb/core/message.c
 +++ b/drivers/usb/core/message.c
-@@ -1113,6 +1113,21 @@ static void remove_intf_ep_devs(struct u
+@@ -1120,6 +1120,21 @@ static void remove_intf_ep_devs(struct u
  	intf->ep_devs_created = 0;
  	intf->ep_devs_created = 0;
  }
  }
  
  

+ 2 - 2
target/linux/bcm27xx/patches-4.19/950-0573-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch

@@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
 
 
 --- a/drivers/usb/host/xhci.c
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -1425,6 +1425,103 @@ command_cleanup:
+@@ -1427,6 +1427,103 @@ command_cleanup:
  }
  }
  
  
  /*
  /*
@@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
   * non-error returns are a promise to giveback() the urb later
   * non-error returns are a promise to giveback() the urb later
   * we drop ownership so next owner (or urb unlink) can get it
   * we drop ownership so next owner (or urb unlink) can get it
   */
   */
-@@ -5217,6 +5314,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5219,6 +5316,7 @@ static const struct hc_driver xhci_hc_dr
  	.endpoint_reset =	xhci_endpoint_reset,
  	.endpoint_reset =	xhci_endpoint_reset,
  	.check_bandwidth =	xhci_check_bandwidth,
  	.check_bandwidth =	xhci_check_bandwidth,
  	.reset_bandwidth =	xhci_reset_bandwidth,
  	.reset_bandwidth =	xhci_reset_bandwidth,

+ 1 - 1
target/linux/bcm27xx/patches-4.19/950-0630-drm-vc4-A-present-but-empty-dmas-disables-audio.patch

@@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <[email protected]>
 
 
 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
 +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
 +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
-@@ -1087,10 +1087,12 @@ static int vc4_hdmi_audio_init(struct vc
+@@ -1099,10 +1099,12 @@ static int vc4_hdmi_audio_init(struct vc
  	struct device *dev = &hdmi->pdev->dev;
  	struct device *dev = &hdmi->pdev->dev;
  	const __be32 *addr;
  	const __be32 *addr;
  	int ret;
  	int ret;

+ 1 - 1
target/linux/bcm27xx/patches-4.19/950-0658-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch

@@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <[email protected]>
  static inline void bcmgenet_writel(u32 value, void __iomem *offset)
  static inline void bcmgenet_writel(u32 value, void __iomem *offset)
  {
  {
  	/* MIPS chips strapped for BE will automagically configure the
  	/* MIPS chips strapped for BE will automagically configure the
-@@ -1993,6 +1997,11 @@ static void reset_umac(struct bcmgenet_p
+@@ -1996,6 +2000,11 @@ static void reset_umac(struct bcmgenet_p
  	bcmgenet_rbuf_ctrl_set(priv, 0);
  	bcmgenet_rbuf_ctrl_set(priv, 0);
  	udelay(10);
  	udelay(10);
  
  

+ 2 - 2
target/linux/bcm47xx/patches-4.19/159-cpu_fixes.patch

@@ -488,7 +488,7 @@
  		uasm_i_eret(&p); /* return from trap */
  		uasm_i_eret(&p); /* return from trap */
  	}
  	}
  #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
  #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
-@@ -2046,6 +2055,9 @@ build_r4000_tlbchange_handler_head(u32 *
+@@ -2049,6 +2058,9 @@ build_r4000_tlbchange_handler_head(u32 *
  #ifdef CONFIG_64BIT
  #ifdef CONFIG_64BIT
  	build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */
  	build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */
  #else
  #else
@@ -498,7 +498,7 @@
  	build_get_pgde32(p, wr.r1, wr.r2); /* get pgd in ptr */
  	build_get_pgde32(p, wr.r1, wr.r2); /* get pgd in ptr */
  #endif
  #endif
  
  
-@@ -2092,6 +2104,9 @@ build_r4000_tlbchange_handler_tail(u32 *
+@@ -2095,6 +2107,9 @@ build_r4000_tlbchange_handler_tail(u32 *
  	build_tlb_write_entry(p, l, r, tlb_indexed);
  	build_tlb_write_entry(p, l, r, tlb_indexed);
  	uasm_l_leave(l, *p);
  	uasm_l_leave(l, *p);
  	build_restore_work_registers(p);
  	build_restore_work_registers(p);

+ 2 - 2
target/linux/generic/backport-4.19/095-Allow-class-e-address-assignment-via-ifconfig-ioctl.patch

@@ -48,7 +48,7 @@ Reviewed-by: John Gilmore <[email protected]>
  #define	INADDR_ANY		((unsigned long int) 0x00000000)
  #define	INADDR_ANY		((unsigned long int) 0x00000000)
 --- a/net/ipv4/devinet.c
 --- a/net/ipv4/devinet.c
 +++ b/net/ipv4/devinet.c
 +++ b/net/ipv4/devinet.c
-@@ -949,7 +949,7 @@ static int inet_abc_len(__be32 addr)
+@@ -954,7 +954,7 @@ static int inet_abc_len(__be32 addr)
  {
  {
  	int rc = -1;	/* Something else, probably a multicast. */
  	int rc = -1;	/* Something else, probably a multicast. */
  
  
@@ -57,7 +57,7 @@ Reviewed-by: John Gilmore <[email protected]>
  		rc = 0;
  		rc = 0;
  	else {
  	else {
  		__u32 haddr = ntohl(addr);
  		__u32 haddr = ntohl(addr);
-@@ -960,6 +960,8 @@ static int inet_abc_len(__be32 addr)
+@@ -965,6 +965,8 @@ static int inet_abc_len(__be32 addr)
  			rc = 16;
  			rc = 16;
  		else if (IN_CLASSC(haddr))
  		else if (IN_CLASSC(haddr))
  			rc = 24;
  			rc = 24;

+ 1 - 1
target/linux/generic/backport-4.19/451-v5.0-mtd-spinand-Add-initial-support-for-Toshiba-TC58CVG2.patch

@@ -28,7 +28,7 @@ Signed-off-by: Miquel Raynal <[email protected]>
  obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
  obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
 --- a/drivers/mtd/nand/spi/core.c
 --- a/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
-@@ -764,6 +764,7 @@ static const struct nand_ops spinand_ops
+@@ -762,6 +762,7 @@ static const struct nand_ops spinand_ops
  static const struct spinand_manufacturer *spinand_manufacturers[] = {
  static const struct spinand_manufacturer *spinand_manufacturers[] = {
  	&macronix_spinand_manufacturer,
  	&macronix_spinand_manufacturer,
  	&micron_spinand_manufacturer,
  	&micron_spinand_manufacturer,

+ 1 - 1
target/linux/generic/backport-4.19/452-v5.0-mtd-spinand-add-support-for-GigaDevice-GD5FxGQ4xA.patch

@@ -25,7 +25,7 @@ Signed-off-by: Miquel Raynal <[email protected]>
  obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
  obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
 --- a/drivers/mtd/nand/spi/core.c
 --- a/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
-@@ -762,6 +762,7 @@ static const struct nand_ops spinand_ops
+@@ -760,6 +760,7 @@ static const struct nand_ops spinand_ops
  };
  };
  
  
  static const struct spinand_manufacturer *spinand_manufacturers[] = {
  static const struct spinand_manufacturer *spinand_manufacturers[] = {

+ 1 - 1
target/linux/generic/backport-4.19/461-v5.3-mtd-spinand-Add-support-for-two-byte-device-IDs.patch

@@ -17,7 +17,7 @@ Signed-off-by: Miquel Raynal <[email protected]>
 
 
 --- a/drivers/mtd/nand/spi/core.c
 --- a/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
-@@ -853,7 +853,7 @@ spinand_select_op_variant(struct spinand
+@@ -851,7 +851,7 @@ spinand_select_op_variant(struct spinand
   */
   */
  int spinand_match_and_init(struct spinand_device *spinand,
  int spinand_match_and_init(struct spinand_device *spinand,
  			   const struct spinand_info *table,
  			   const struct spinand_info *table,

+ 1 - 1
target/linux/generic/backport-4.19/463-v5.3-mtd-spinand-Add-initial-support-for-Paragon-PN26G0xA.patch

@@ -33,7 +33,7 @@ ADOPTED FROM UPSTREAM	due to upstream commit 377e517b5fa5 in Linux 5.2
  obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
  obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
 --- a/drivers/mtd/nand/spi/core.c
 --- a/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
 +++ b/drivers/mtd/nand/spi/core.c
-@@ -765,6 +765,7 @@ static const struct spinand_manufacturer
+@@ -763,6 +763,7 @@ static const struct spinand_manufacturer
  	&gigadevice_spinand_manufacturer,
  	&gigadevice_spinand_manufacturer,
  	&macronix_spinand_manufacturer,
  	&macronix_spinand_manufacturer,
  	&micron_spinand_manufacturer,
  	&micron_spinand_manufacturer,

+ 2 - 2
target/linux/generic/hack-4.19/550-loop-Report-EOPNOTSUPP-properly.patch

@@ -18,7 +18,7 @@ Reviewed-by: Bart Van Assche <[email protected]>
 
 
 --- a/drivers/block/loop.c
 --- a/drivers/block/loop.c
 +++ b/drivers/block/loop.c
 +++ b/drivers/block/loop.c
-@@ -460,7 +460,7 @@ static void lo_complete_rq(struct reques
+@@ -461,7 +461,7 @@ static void lo_complete_rq(struct reques
  	if (!cmd->use_aio || cmd->ret < 0 || cmd->ret == blk_rq_bytes(rq) ||
  	if (!cmd->use_aio || cmd->ret < 0 || cmd->ret == blk_rq_bytes(rq) ||
  	    req_op(rq) != REQ_OP_READ) {
  	    req_op(rq) != REQ_OP_READ) {
  		if (cmd->ret < 0)
  		if (cmd->ret < 0)
@@ -27,7 +27,7 @@ Reviewed-by: Bart Van Assche <[email protected]>
  		goto end_io;
  		goto end_io;
  	}
  	}
  
  
-@@ -1904,7 +1904,10 @@ static void loop_handle_cmd(struct loop_
+@@ -1924,7 +1924,10 @@ static void loop_handle_cmd(struct loop_
   failed:
   failed:
  	/* complete non-aio request */
  	/* complete non-aio request */
  	if (!cmd->use_aio || ret) {
  	if (!cmd->use_aio || ret) {

+ 0 - 101
target/linux/generic/hack-4.19/551-loop-Better-discard-support-for-block-devices.patch

@@ -1,101 +0,0 @@
-From 3117c3f45edbcc269baaebd3d13f39b7bf884aa6 Mon Sep 17 00:00:00 2001
-From: Evan Green <[email protected]>
-Date: Thu, 14 Nov 2019 15:50:08 -0800
-Subject: loop: Better discard support for block devices
-
-If the backing device for a loop device is itself a block device,
-then mirror the "write zeroes" capabilities of the underlying
-block device into the loop device. Copy this capability into both
-max_write_zeroes_sectors and max_discard_sectors of the loop device.
-
-The reason for this is that REQ_OP_DISCARD on a loop device translates
-into blkdev_issue_zeroout(), rather than blkdev_issue_discard(). This
-presents a consistent interface for loop devices (that discarded data
-is zeroed), regardless of the backing device type of the loop device.
-There should be no behavior change for loop devices backed by regular
-files.
-
-This change fixes blktest block/003, and removes an extraneous
-error print in block/013 when testing on a loop device backed
-by a block device that does not support discard.
-
-Signed-off-by: Evan Green <[email protected]>
-Reviewed-by: Gwendal Grignou <[email protected]>
-Reviewed-by: Chaitanya Kulkarni <[email protected]>
----
- drivers/block/loop.c | 40 +++++++++++++++++++++++++++++-----------
- 1 file changed, 29 insertions(+), 11 deletions(-)
-
---- a/drivers/block/loop.c
-+++ b/drivers/block/loop.c
-@@ -426,11 +426,12 @@ static int lo_fallocate(struct loop_devi
- 	 * information.
- 	 */
- 	struct file *file = lo->lo_backing_file;
-+	struct request_queue *q = lo->lo_queue;
- 	int ret;
- 
- 	mode |= FALLOC_FL_KEEP_SIZE;
- 
--	if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) {
-+	if (!blk_queue_discard(q)) {
- 		ret = -EOPNOTSUPP;
- 		goto out;
- 	}
-@@ -863,6 +864,21 @@ static void loop_config_discard(struct l
- 	struct file *file = lo->lo_backing_file;
- 	struct inode *inode = file->f_mapping->host;
- 	struct request_queue *q = lo->lo_queue;
-+	struct request_queue *backingq;
-+
-+	/*
-+	 * If the backing device is a block device, mirror its zeroing
-+	 * capability. REQ_OP_DISCARD translates to a zero-out even when backed
-+	 * by block devices to keep consistent behavior with file-backed loop
-+	 * devices.
-+	 */
-+	if (S_ISBLK(inode->i_mode) && !lo->lo_encrypt_key_size) {
-+		backingq = bdev_get_queue(inode->i_bdev);
-+		blk_queue_max_discard_sectors(q,
-+			backingq->limits.max_write_zeroes_sectors);
-+
-+		blk_queue_max_write_zeroes_sectors(q,
-+			backingq->limits.max_write_zeroes_sectors);
- 
- 	/*
- 	 * We use punch hole to reclaim the free space used by the
-@@ -870,22 +886,24 @@ static void loop_config_discard(struct l
- 	 * encryption is enabled, because it may give an attacker
- 	 * useful information.
- 	 */
--	if ((!file->f_op->fallocate) ||
--	    lo->lo_encrypt_key_size) {
-+	} else if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) {
- 		q->limits.discard_granularity = 0;
- 		q->limits.discard_alignment = 0;
- 		blk_queue_max_discard_sectors(q, 0);
- 		blk_queue_max_write_zeroes_sectors(q, 0);
--		blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q);
--		return;
--	}
- 
--	q->limits.discard_granularity = inode->i_sb->s_blocksize;
--	q->limits.discard_alignment = 0;
-+	} else {
-+		q->limits.discard_granularity = inode->i_sb->s_blocksize;
-+		q->limits.discard_alignment = 0;
- 
--	blk_queue_max_discard_sectors(q, UINT_MAX >> 9);
--	blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9);
--	blk_queue_flag_set(QUEUE_FLAG_DISCARD, q);
-+		blk_queue_max_discard_sectors(q, UINT_MAX >> 9);
-+		blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9);
-+	}
-+
-+	if (q->limits.max_write_zeroes_sectors)
-+		blk_queue_flag_set(QUEUE_FLAG_DISCARD, q);
-+	else
-+		blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q);
- }
- 
- static void loop_unprepare_queue(struct loop_device *lo)

+ 1 - 1
target/linux/generic/hack-4.19/902-debloat_proc.patch

@@ -232,7 +232,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (!pe)
  	if (!pe)
 --- a/mm/vmalloc.c
 --- a/mm/vmalloc.c
 +++ b/mm/vmalloc.c
 +++ b/mm/vmalloc.c
-@@ -2752,6 +2752,8 @@ static const struct seq_operations vmall
+@@ -2764,6 +2764,8 @@ static const struct seq_operations vmall
  
  
  static int __init proc_vmalloc_init(void)
  static int __init proc_vmalloc_init(void)
  {
  {

+ 3 - 10
target/linux/generic/pending-4.19/270-platform-mikrotik-build-bits.patch

@@ -14,25 +14,18 @@ Signed-off-by: Thibaut VARÈNE <[email protected]>
  drivers/platform/Makefile | 1 +
  drivers/platform/Makefile | 1 +
  2 files changed, 3 insertions(+)
  2 files changed, 3 insertions(+)
 
 
-diff --git a/drivers/platform/Kconfig b/drivers/platform/Kconfig
-index c11db8b..0283f0b 100644
 --- a/drivers/platform/Kconfig
 --- a/drivers/platform/Kconfig
 +++ b/drivers/platform/Kconfig
 +++ b/drivers/platform/Kconfig
-@@ -10,3 +10,5 @@
+@@ -10,3 +10,5 @@ source "drivers/platform/goldfish/Kconfi
  source "drivers/platform/chrome/Kconfig"
  source "drivers/platform/chrome/Kconfig"
-
+ 
  source "drivers/platform/mellanox/Kconfig"
  source "drivers/platform/mellanox/Kconfig"
 +
 +
 +source "drivers/platform/mikrotik/Kconfig"
 +source "drivers/platform/mikrotik/Kconfig"
-diff --git a/drivers/platform/Makefile b/drivers/platform/Makefile
-index d3a6630..ad290c3 100644
 --- a/drivers/platform/Makefile
 --- a/drivers/platform/Makefile
 +++ b/drivers/platform/Makefile
 +++ b/drivers/platform/Makefile
-@@ -9,3 +9,4 @@
+@@ -9,3 +9,4 @@ obj-$(CONFIG_MIPS)		+= mips/
  obj-$(CONFIG_OLPC)		+= olpc/
  obj-$(CONFIG_OLPC)		+= olpc/
  obj-$(CONFIG_GOLDFISH)		+= goldfish/
  obj-$(CONFIG_GOLDFISH)		+= goldfish/
  obj-$(CONFIG_CHROME_PLATFORMS)	+= chrome/
  obj-$(CONFIG_CHROME_PLATFORMS)	+= chrome/
 +obj-$(CONFIG_MIKROTIK)		+= mikrotik/
 +obj-$(CONFIG_MIKROTIK)		+= mikrotik/
--- 
-2.11.0
-

+ 1 - 5
target/linux/generic/pending-4.19/435-mtd-add-routerbootpart-parser-config.patch

@@ -14,11 +14,9 @@ Signed-off-by: Thibaut VARÈNE <[email protected]>
  drivers/mtd/parsers/Makefile | 1 +
  drivers/mtd/parsers/Makefile | 1 +
  2 files changed, 10 insertions(+)
  2 files changed, 10 insertions(+)
 
 
-diff --git a/drivers/mtd/parsers/Kconfig b/drivers/mtd/parsers/Kconfig
-index de6f5f8..0afa89c 100644
 --- a/drivers/mtd/parsers/Kconfig
 --- a/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
-@@ -22,3 +22,12 @@ config MTD_SHARPSL_PARTS
+@@ -14,3 +14,12 @@ config MTD_SHARPSL_PARTS
  	  This provides the read-only FTL logic necessary to read the partition
  	  This provides the read-only FTL logic necessary to read the partition
  	  table from the NAND flash of Sharp SL Series (Zaurus) and the MTD
  	  table from the NAND flash of Sharp SL Series (Zaurus) and the MTD
  	  partition parser using this code.
  	  partition parser using this code.
@@ -31,8 +29,6 @@ index de6f5f8..0afa89c 100644
 +	  flash, some of which are fixed and some of which are located at
 +	  flash, some of which are fixed and some of which are located at
 +	  variable offsets. This parser handles both cases via properly
 +	  variable offsets. This parser handles both cases via properly
 +	  formatted DTS.
 +	  formatted DTS.
-diff --git a/drivers/mtd/parsers/Makefile b/drivers/mtd/parsers/Makefile
-index 44ff342..0543362 100644
 --- a/drivers/mtd/parsers/Makefile
 --- a/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
 @@ -1,2 +1,3 @@
 @@ -1,2 +1,3 @@

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

@@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	__u16			tc_index;	/* traffic control index */
  	__u16			tc_index;	/* traffic control index */
 --- a/net/core/dev.c
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -5456,6 +5456,9 @@ static enum gro_result dev_gro_receive(s
+@@ -5457,6 +5457,9 @@ static enum gro_result dev_gro_receive(s
  	int same_flow;
  	int same_flow;
  	int grow;
  	int grow;
  
  
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	if (netif_elide_gro(skb->dev))
  	if (netif_elide_gro(skb->dev))
  		goto normal;
  		goto normal;
  
  
-@@ -7114,6 +7117,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7115,6 +7118,48 @@ static void __netdev_adjacent_dev_unlink
  					   &upper_dev->adj_list.lower);
  					   &upper_dev->adj_list.lower);
  }
  }
  
  
@@ -91,7 +91,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 *upper_priv, void *upper_info,
  				   void *upper_priv, void *upper_info,
-@@ -7164,6 +7209,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7165,6 +7210,7 @@ static int __netdev_upper_dev_link(struc
  	if (ret)
  	if (ret)
  		return ret;
  		return ret;
  
  
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
  	ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
  					    &changeupper_info.info);
  					    &changeupper_info.info);
  	ret = notifier_to_errno(ret);
  	ret = notifier_to_errno(ret);
-@@ -7256,6 +7302,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -7257,6 +7303,7 @@ void netdev_upper_dev_unlink(struct net_
  
  
  	__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
  	__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
  
  
@@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
  	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
  				      &changeupper_info.info);
  				      &changeupper_info.info);
  
  
-@@ -7895,6 +7942,7 @@ int dev_set_mac_address(struct net_devic
+@@ -7896,6 +7943,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;

+ 3 - 3
target/linux/generic/pending-4.19/810-pci_disable_common_quirks.patch

@@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <[email protected]>
  /*
  /*
   * The Mellanox Tavor device gives false positive parity errors.  Mark this
   * The Mellanox Tavor device gives false positive parity errors.  Mark this
   * device with a broken_parity_status to allow PCI scanning code to "skip"
   * device with a broken_parity_status to allow PCI scanning code to "skip"
-@@ -3147,6 +3148,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -3213,6 +3214,8 @@ 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, 0x65f9, quirk_intel_mc_errata);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
  
  
@@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <[email protected]>
  /*
  /*
   * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
   * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
   * To work around this, query the size it should be configured to by the
   * To work around this, query the size it should be configured to by the
-@@ -3172,6 +3175,8 @@ static void quirk_intel_ntb(struct pci_d
+@@ -3238,6 +3241,8 @@ static void quirk_intel_ntb(struct pci_d
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
  
  
@@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <[email protected]>
  /*
  /*
   * Some BIOS implementations leave the Intel GPU interrupts enabled, even
   * Some BIOS implementations leave the Intel GPU interrupts enabled, even
   * though no one is handling them (e.g., if the i915 driver is never
   * though no one is handling them (e.g., if the i915 driver is never
-@@ -3210,6 +3215,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
+@@ -3276,6 +3281,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, 0x010a, disable_igfx_irq);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);