diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 14db2a9693..4ae7831ee3 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.9 = .303 -LINUX_VERSION-4.14 = .268 -LINUX_VERSION-4.19 = .231 +LINUX_VERSION-4.9 = .307 +LINUX_VERSION-4.14 = .272 +LINUX_VERSION-4.19 = .235 -LINUX_KERNEL_HASH-4.9.303 = 45e9050fc13df0fe2fe291512d261a07a7649b82a00c134eda0abc3a19121ae5 -LINUX_KERNEL_HASH-4.14.268 = cf62422aaa7f5a888ed3e5baeb89b90ba697cb712e653e52fd7dd8220f11b6f5 -LINUX_KERNEL_HASH-4.19.231 = 673123b3b3b05e2d8586c82a342ff2556e0b1f2caaadd643fefb9d91d58d8131 +LINUX_KERNEL_HASH-4.9.307 = 47470f83aa64e0098830a53176c959740742973663fead7ca7cc7b84e1f9d0f7 +LINUX_KERNEL_HASH-4.14.272 = 9b6178099cf33c534c971f3f065c0debe92788f0f504d54badb2f8c2ee089d69 +LINUX_KERNEL_HASH-4.19.235 = 530c5ac848111bbf7d1ad407a4ce8173ef8f9a4554477a32c695c5a4eaf02598 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch index b007ee859a..31f1ed779d 100644 --- a/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.14/910-unaligned_access_hacks.patch @@ -312,7 +312,7 @@ #endif /* _LINUX_TYPES_H */ --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c -@@ -1352,8 +1352,8 @@ struct sk_buff **inet_gro_receive(struct +@@ -1355,8 +1355,8 @@ struct sk_buff **inet_gro_receive(struct if (unlikely(ip_fast_csum((u8 *)iph, 5))) goto out_unlock; @@ -576,7 +576,7 @@ goto next_ht; --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c -@@ -221,7 +221,7 @@ static struct sk_buff **ipv6_gro_receive +@@ -223,7 +223,7 @@ static struct sk_buff **ipv6_gro_receive continue; iph2 = (struct ipv6hdr *)(p->data + off); diff --git a/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch index e0bb5521bb..e6a299708b 100644 --- a/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.9/910-unaligned_access_hacks.patch @@ -303,7 +303,7 @@ #endif /* _LINUX_TYPES_H */ --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c -@@ -1319,8 +1319,8 @@ struct sk_buff **inet_gro_receive(struct +@@ -1322,8 +1322,8 @@ struct sk_buff **inet_gro_receive(struct if (unlikely(ip_fast_csum((u8 *)iph, 5))) goto out_unlock; @@ -567,7 +567,7 @@ goto next_ht; --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c -@@ -221,7 +221,7 @@ static struct sk_buff **ipv6_gro_receive +@@ -223,7 +223,7 @@ static struct sk_buff **ipv6_gro_receive continue; iph2 = (struct ipv6hdr *)(p->data + off); diff --git a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch index b122dd848f..c758458fa6 100644 --- a/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.14/910-unaligned_access_hacks.patch @@ -303,7 +303,7 @@ #endif /* _LINUX_TYPES_H */ --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c -@@ -1352,8 +1352,8 @@ struct sk_buff **inet_gro_receive(struct +@@ -1355,8 +1355,8 @@ struct sk_buff **inet_gro_receive(struct if (unlikely(ip_fast_csum((u8 *)iph, 5))) goto out_unlock; @@ -556,7 +556,7 @@ goto next_ht; --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c -@@ -221,7 +221,7 @@ static struct sk_buff **ipv6_gro_receive +@@ -223,7 +223,7 @@ static struct sk_buff **ipv6_gro_receive continue; iph2 = (struct ipv6hdr *)(p->data + off); diff --git a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch index 57e8a5f209..1ba65d78e8 100644 --- a/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch @@ -303,7 +303,7 @@ #endif /* _LINUX_TYPES_H */ --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c -@@ -1422,8 +1422,8 @@ struct sk_buff *inet_gro_receive(struct +@@ -1425,8 +1425,8 @@ struct sk_buff *inet_gro_receive(struct if (unlikely(ip_fast_csum((u8 *)iph, 5))) goto out_unlock; @@ -556,7 +556,7 @@ goto next_ht; --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c -@@ -223,7 +223,7 @@ static struct sk_buff *ipv6_gro_receive( +@@ -225,7 +225,7 @@ static struct sk_buff *ipv6_gro_receive( continue; iph2 = (struct ipv6hdr *)(p->data + off); diff --git a/target/linux/bcm27xx/patches-4.19/950-0028-i2c-bcm2835-Add-debug-support.patch b/target/linux/bcm27xx/patches-4.19/950-0028-i2c-bcm2835-Add-debug-support.patch index d6372ec7cb..637b414234 100644 --- a/target/linux/bcm27xx/patches-4.19/950-0028-i2c-bcm2835-Add-debug-support.patch +++ b/target/linux/bcm27xx/patches-4.19/950-0028-i2c-bcm2835-Add-debug-support.patch @@ -37,7 +37,7 @@ Signed-off-by: Noralf Trønnes --- a/drivers/i2c/busses/i2c-bcm2835.c +++ b/drivers/i2c/busses/i2c-bcm2835.c -@@ -56,6 +56,18 @@ +@@ -61,6 +61,18 @@ #define BCM2835_I2C_CDIV_MIN 0x0002 #define BCM2835_I2C_CDIV_MAX 0xFFFE @@ -56,7 +56,7 @@ Signed-off-by: Noralf Trønnes struct bcm2835_i2c_dev { struct device *dev; void __iomem *regs; -@@ -69,8 +81,78 @@ struct bcm2835_i2c_dev { +@@ -74,8 +86,78 @@ struct bcm2835_i2c_dev { u32 msg_err; u8 *msg_buf; size_t msg_buf_remaining; @@ -135,7 +135,7 @@ Signed-off-by: Noralf Trønnes static inline void bcm2835_i2c_writel(struct bcm2835_i2c_dev *i2c_dev, u32 reg, u32 val) { -@@ -189,6 +271,7 @@ static void bcm2835_i2c_start_transfer(s +@@ -194,6 +276,7 @@ static void bcm2835_i2c_start_transfer(s bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_A, msg->addr); bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_DLEN, msg->len); bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, c); @@ -143,7 +143,7 @@ Signed-off-by: Noralf Trønnes } static void bcm2835_i2c_finish_transfer(struct bcm2835_i2c_dev *i2c_dev) -@@ -215,6 +298,7 @@ static irqreturn_t bcm2835_i2c_isr(int t +@@ -220,6 +303,7 @@ static irqreturn_t bcm2835_i2c_isr(int t u32 val, err; val = bcm2835_i2c_readl(i2c_dev, BCM2835_I2C_S); @@ -151,7 +151,7 @@ Signed-off-by: Noralf Trønnes err = val & (BCM2835_I2C_S_CLKT | BCM2835_I2C_S_ERR); if (err) { -@@ -281,6 +365,13 @@ static int bcm2835_i2c_xfer(struct i2c_a +@@ -286,6 +370,13 @@ static int bcm2835_i2c_xfer(struct i2c_a unsigned long time_left; int i, ret; @@ -165,7 +165,7 @@ Signed-off-by: Noralf Trønnes for (i = 0; i < (num - 1); i++) if (msgs[i].flags & I2C_M_RD) { dev_warn_once(i2c_dev->dev, -@@ -303,6 +394,10 @@ static int bcm2835_i2c_xfer(struct i2c_a +@@ -308,6 +399,10 @@ static int bcm2835_i2c_xfer(struct i2c_a bcm2835_i2c_finish_transfer(i2c_dev); @@ -176,7 +176,7 @@ Signed-off-by: Noralf Trønnes if (!time_left) { bcm2835_i2c_writel(i2c_dev, BCM2835_I2C_C, BCM2835_I2C_C_CLEAR); -@@ -313,7 +408,9 @@ static int bcm2835_i2c_xfer(struct i2c_a +@@ -318,7 +413,9 @@ static int bcm2835_i2c_xfer(struct i2c_a if (!i2c_dev->msg_err) return num; diff --git a/target/linux/bcm27xx/patches-4.19/950-0446-i2c-bcm2835-Model-Divider-in-CCF.patch b/target/linux/bcm27xx/patches-4.19/950-0446-i2c-bcm2835-Model-Divider-in-CCF.patch index dc251a60c4..c26f28378e 100644 --- a/target/linux/bcm27xx/patches-4.19/950-0446-i2c-bcm2835-Model-Divider-in-CCF.patch +++ b/target/linux/bcm27xx/patches-4.19/950-0446-i2c-bcm2835-Model-Divider-in-CCF.patch @@ -45,7 +45,7 @@ Signed-off-by: Wolfram Sang #include #include #include -@@ -71,9 +73,7 @@ struct bcm2835_debug { +@@ -76,9 +78,7 @@ struct bcm2835_debug { struct bcm2835_i2c_dev { struct device *dev; void __iomem *regs; @@ -55,7 +55,7 @@ Signed-off-by: Wolfram Sang struct i2c_adapter adapter; struct completion completion; struct i2c_msg *curr_msg; -@@ -164,12 +164,17 @@ static inline u32 bcm2835_i2c_readl(stru +@@ -169,12 +169,17 @@ static inline u32 bcm2835_i2c_readl(stru return readl(i2c_dev->regs + reg); } @@ -77,7 +77,7 @@ Signed-off-by: Wolfram Sang /* * Per the datasheet, the register is always interpreted as an even * number, by rounding down. In other words, the LSB is ignored. So, -@@ -178,12 +183,23 @@ static int bcm2835_i2c_set_divider(struc +@@ -183,12 +188,23 @@ static int bcm2835_i2c_set_divider(struc if (divider & 1) divider++; if ((divider < BCM2835_I2C_CDIV_MIN) || @@ -105,7 +105,7 @@ Signed-off-by: Wolfram Sang /* * Number of core clocks to wait after falling edge before -@@ -198,12 +214,62 @@ static int bcm2835_i2c_set_divider(struc +@@ -203,12 +219,62 @@ static int bcm2835_i2c_set_divider(struc */ redl = max(divider / 4, 1u); @@ -169,7 +169,7 @@ Signed-off-by: Wolfram Sang static void bcm2835_fill_txfifo(struct bcm2835_i2c_dev *i2c_dev) { u32 val; -@@ -363,7 +429,7 @@ static int bcm2835_i2c_xfer(struct i2c_a +@@ -368,7 +434,7 @@ static int bcm2835_i2c_xfer(struct i2c_a { struct bcm2835_i2c_dev *i2c_dev = i2c_get_adapdata(adap); unsigned long time_left; @@ -178,7 +178,7 @@ Signed-off-by: Wolfram Sang if (debug) i2c_dev->debug_num_msgs = num; -@@ -379,10 +445,6 @@ static int bcm2835_i2c_xfer(struct i2c_a +@@ -384,10 +450,6 @@ static int bcm2835_i2c_xfer(struct i2c_a return -EOPNOTSUPP; } @@ -189,7 +189,7 @@ Signed-off-by: Wolfram Sang i2c_dev->curr_msg = msgs; i2c_dev->num_msgs = num; reinit_completion(&i2c_dev->completion); -@@ -443,6 +505,9 @@ static int bcm2835_i2c_probe(struct plat +@@ -448,6 +510,9 @@ static int bcm2835_i2c_probe(struct plat struct resource *mem, *irq; int ret; struct i2c_adapter *adap; @@ -199,7 +199,7 @@ Signed-off-by: Wolfram Sang i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL); if (!i2c_dev) -@@ -456,21 +521,6 @@ static int bcm2835_i2c_probe(struct plat +@@ -461,21 +526,6 @@ static int bcm2835_i2c_probe(struct plat if (IS_ERR(i2c_dev->regs)) return PTR_ERR(i2c_dev->regs); @@ -221,7 +221,7 @@ Signed-off-by: Wolfram Sang irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); if (!irq) { dev_err(&pdev->dev, "No IRQ resource\n"); -@@ -485,6 +535,35 @@ static int bcm2835_i2c_probe(struct plat +@@ -490,6 +540,35 @@ static int bcm2835_i2c_probe(struct plat return -ENODEV; } @@ -257,7 +257,7 @@ Signed-off-by: Wolfram Sang adap = &i2c_dev->adapter; i2c_set_adapdata(adap, i2c_dev); adap->owner = THIS_MODULE; -@@ -507,6 +586,10 @@ static int bcm2835_i2c_probe(struct plat +@@ -518,6 +597,10 @@ static int bcm2835_i2c_probe(struct plat static int bcm2835_i2c_remove(struct platform_device *pdev) { struct bcm2835_i2c_dev *i2c_dev = platform_get_drvdata(pdev); diff --git a/target/linux/bcm27xx/patches-4.19/950-0573-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-4.19/950-0573-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index a1841d37bc..5b6193faae 100644 --- a/target/linux/bcm27xx/patches-4.19/950-0573-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/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 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1445,6 +1445,103 @@ command_cleanup: +@@ -1452,6 +1452,103 @@ command_cleanup: } /* @@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell * non-error returns are a promise to giveback() the urb later * we drop ownership so next owner (or urb unlink) can get it */ -@@ -5261,6 +5358,7 @@ static const struct hc_driver xhci_hc_dr +@@ -5271,6 +5368,7 @@ static const struct hc_driver xhci_hc_dr .endpoint_reset = xhci_endpoint_reset, .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, diff --git a/target/linux/bcm27xx/patches-4.19/950-0605-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch b/target/linux/bcm27xx/patches-4.19/950-0605-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch index b363e753ea..3ea7b0a71b 100644 --- a/target/linux/bcm27xx/patches-4.19/950-0605-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch +++ b/target/linux/bcm27xx/patches-4.19/950-0605-i2c-bcm2835-Move-IRQ-request-after-clock-code-in-pro.patch @@ -22,7 +22,7 @@ Signed-off-by: Wolfram Sang --- a/drivers/i2c/busses/i2c-bcm2835.c +++ b/drivers/i2c/busses/i2c-bcm2835.c -@@ -521,20 +521,6 @@ static int bcm2835_i2c_probe(struct plat +@@ -526,20 +526,6 @@ static int bcm2835_i2c_probe(struct plat if (IS_ERR(i2c_dev->regs)) return PTR_ERR(i2c_dev->regs); @@ -43,7 +43,7 @@ Signed-off-by: Wolfram Sang mclk_name = of_clk_get_parent_name(pdev->dev.of_node, 0); bus_clk = bcm2835_i2c_register_div(&pdev->dev, mclk_name, i2c_dev); -@@ -564,6 +550,20 @@ static int bcm2835_i2c_probe(struct plat +@@ -569,6 +555,20 @@ static int bcm2835_i2c_probe(struct plat return ret; } diff --git a/target/linux/bcm27xx/patches-4.19/950-0606-i2c-bcm2835-Ensure-clock-exists-when-probing.patch b/target/linux/bcm27xx/patches-4.19/950-0606-i2c-bcm2835-Ensure-clock-exists-when-probing.patch index 4a468f0291..4737c2e634 100644 --- a/target/linux/bcm27xx/patches-4.19/950-0606-i2c-bcm2835-Ensure-clock-exists-when-probing.patch +++ b/target/linux/bcm27xx/patches-4.19/950-0606-i2c-bcm2835-Ensure-clock-exists-when-probing.patch @@ -23,7 +23,7 @@ Signed-off-by: Wolfram Sang --- a/drivers/i2c/busses/i2c-bcm2835.c +++ b/drivers/i2c/busses/i2c-bcm2835.c -@@ -244,15 +244,18 @@ static const struct clk_ops clk_bcm2835_ +@@ -249,15 +249,18 @@ static const struct clk_ops clk_bcm2835_ }; static struct clk *bcm2835_i2c_register_div(struct device *dev, @@ -43,7 +43,7 @@ Signed-off-by: Wolfram Sang init.ops = &clk_bcm2835_i2c_ops; init.name = name; init.parent_names = (const char* []) { mclk_name }; -@@ -505,8 +508,8 @@ static int bcm2835_i2c_probe(struct plat +@@ -510,8 +513,8 @@ static int bcm2835_i2c_probe(struct plat struct resource *mem, *irq; int ret; struct i2c_adapter *adap; @@ -53,7 +53,7 @@ Signed-off-by: Wolfram Sang u32 bus_clk_rate; i2c_dev = devm_kzalloc(&pdev->dev, sizeof(*i2c_dev), GFP_KERNEL); -@@ -521,9 +524,14 @@ static int bcm2835_i2c_probe(struct plat +@@ -526,9 +529,14 @@ static int bcm2835_i2c_probe(struct plat if (IS_ERR(i2c_dev->regs)) return PTR_ERR(i2c_dev->regs); diff --git a/target/linux/bcm27xx/patches-4.19/950-0610-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch b/target/linux/bcm27xx/patches-4.19/950-0610-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch index 280cddf9f2..c0d6d5a3f1 100644 --- a/target/linux/bcm27xx/patches-4.19/950-0610-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch +++ b/target/linux/bcm27xx/patches-4.19/950-0610-i2c-bcm2835-Set-clock-stretch-timeout-to-35ms.patch @@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell --- a/drivers/i2c/busses/i2c-bcm2835.c +++ b/drivers/i2c/busses/i2c-bcm2835.c -@@ -194,6 +194,7 @@ static int clk_bcm2835_i2c_set_rate(stru +@@ -199,6 +199,7 @@ static int clk_bcm2835_i2c_set_rate(stru { struct clk_bcm2835_i2c *div = to_clk_bcm2835_i2c(hw); u32 redl, fedl; @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell u32 divider = clk_bcm2835_i2c_calc_divider(rate, parent_rate); if (divider == -EINVAL) -@@ -217,6 +218,17 @@ static int clk_bcm2835_i2c_set_rate(stru +@@ -222,6 +223,17 @@ static int clk_bcm2835_i2c_set_rate(stru bcm2835_i2c_writel(div->i2c_dev, BCM2835_I2C_DEL, (fedl << BCM2835_I2C_FEDL_SHIFT) | (redl << BCM2835_I2C_REDL_SHIFT)); diff --git a/target/linux/cns3xxx/patches-4.14/010-arm_introduce-dma-fiq-irq-broadcast.patch b/target/linux/cns3xxx/patches-4.14/010-arm_introduce-dma-fiq-irq-broadcast.patch index 3841ca032b..c067be634f 100644 --- a/target/linux/cns3xxx/patches-4.14/010-arm_introduce-dma-fiq-irq-broadcast.patch +++ b/target/linux/cns3xxx/patches-4.14/010-arm_introduce-dma-fiq-irq-broadcast.patch @@ -20,7 +20,7 @@ #endif --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig -@@ -922,6 +922,17 @@ config DMA_CACHE_RWFO +@@ -933,6 +933,17 @@ config DMA_CACHE_RWFO in hardware, other workarounds are needed (e.g. cache maintenance broadcasting in software via FIQ). diff --git a/target/linux/cns3xxx/patches-4.14/040-fiq_support.patch b/target/linux/cns3xxx/patches-4.14/040-fiq_support.patch index 5a62eb38ac..184e271791 100644 --- a/target/linux/cns3xxx/patches-4.14/040-fiq_support.patch +++ b/target/linux/cns3xxx/patches-4.14/040-fiq_support.patch @@ -29,7 +29,7 @@ */ --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig -@@ -905,7 +905,7 @@ config VDSO +@@ -916,7 +916,7 @@ config VDSO config DMA_CACHE_RWFO bool "Enable read/write for ownership DMA cache maintenance" diff --git a/target/linux/cns3xxx/patches-4.19/010-arm_introduce-dma-fiq-irq-broadcast.patch b/target/linux/cns3xxx/patches-4.19/010-arm_introduce-dma-fiq-irq-broadcast.patch index 45f8feead4..63276d1571 100644 --- a/target/linux/cns3xxx/patches-4.19/010-arm_introduce-dma-fiq-irq-broadcast.patch +++ b/target/linux/cns3xxx/patches-4.19/010-arm_introduce-dma-fiq-irq-broadcast.patch @@ -20,7 +20,7 @@ #endif --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig -@@ -916,6 +916,17 @@ config DMA_CACHE_RWFO +@@ -927,6 +927,17 @@ config DMA_CACHE_RWFO in hardware, other workarounds are needed (e.g. cache maintenance broadcasting in software via FIQ). diff --git a/target/linux/cns3xxx/patches-4.19/040-fiq_support.patch b/target/linux/cns3xxx/patches-4.19/040-fiq_support.patch index bee8c1ef24..5fbe156b68 100644 --- a/target/linux/cns3xxx/patches-4.19/040-fiq_support.patch +++ b/target/linux/cns3xxx/patches-4.19/040-fiq_support.patch @@ -29,7 +29,7 @@ */ --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig -@@ -899,7 +899,7 @@ config VDSO +@@ -910,7 +910,7 @@ config VDSO config DMA_CACHE_RWFO bool "Enable read/write for ownership DMA cache maintenance" diff --git a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch index 7e96f20a51..81574d8684 100644 --- a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch +++ b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch @@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -2060,7 +2060,8 @@ static const struct usb_device_id option +@@ -2072,7 +2072,8 @@ static const struct usb_device_id option { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, diff --git a/target/linux/generic/backport-4.14/290-v4.16-netfilter-core-make-nf_unregister_net_hooks-simple-w.patch b/target/linux/generic/backport-4.14/290-v4.16-netfilter-core-make-nf_unregister_net_hooks-simple-w.patch index 35800c4acf..0d8bd4c176 100644 --- a/target/linux/generic/backport-4.14/290-v4.16-netfilter-core-make-nf_unregister_net_hooks-simple-w.patch +++ b/target/linux/generic/backport-4.14/290-v4.16-netfilter-core-make-nf_unregister_net_hooks-simple-w.patch @@ -22,7 +22,7 @@ Signed-off-by: Pablo Neira Ayuso --- a/net/netfilter/core.c +++ b/net/netfilter/core.c -@@ -395,63 +395,10 @@ EXPORT_SYMBOL(nf_register_net_hooks); +@@ -396,63 +396,10 @@ EXPORT_SYMBOL(nf_register_net_hooks); void nf_unregister_net_hooks(struct net *net, const struct nf_hook_ops *reg, unsigned int hookcount) { diff --git a/target/linux/generic/backport-4.14/291-v4.16-netfilter-core-remove-synchronize_net-call-if-nfqueu.patch b/target/linux/generic/backport-4.14/291-v4.16-netfilter-core-remove-synchronize_net-call-if-nfqueu.patch index cbaaaa619a..305a58c120 100644 --- a/target/linux/generic/backport-4.14/291-v4.16-netfilter-core-remove-synchronize_net-call-if-nfqueu.patch +++ b/target/linux/generic/backport-4.14/291-v4.16-netfilter-core-remove-synchronize_net-call-if-nfqueu.patch @@ -32,7 +32,7 @@ Signed-off-by: Pablo Neira Ayuso void nf_register_queue_handler(struct net *net, const struct nf_queue_handler *qh); --- a/net/netfilter/core.c +++ b/net/netfilter/core.c -@@ -341,7 +341,6 @@ void nf_unregister_net_hook(struct net * +@@ -342,7 +342,6 @@ void nf_unregister_net_hook(struct net * { struct nf_hook_entries __rcu **pp; struct nf_hook_entries *p; @@ -40,7 +40,7 @@ Signed-off-by: Pablo Neira Ayuso pp = nf_hook_entry_head(net, reg); if (!pp) -@@ -364,10 +363,7 @@ void nf_unregister_net_hook(struct net * +@@ -365,10 +364,7 @@ void nf_unregister_net_hook(struct net * synchronize_net(); @@ -65,7 +65,7 @@ Signed-off-by: Pablo Neira Ayuso int __init netfilter_log_init(void); --- a/net/netfilter/nf_queue.c +++ b/net/netfilter/nf_queue.c -@@ -96,18 +96,15 @@ void nf_queue_entry_get_refs(struct nf_q +@@ -109,18 +109,15 @@ bool nf_queue_entry_get_refs(struct nf_q } EXPORT_SYMBOL_GPL(nf_queue_entry_get_refs); @@ -88,7 +88,7 @@ Signed-off-by: Pablo Neira Ayuso --- a/net/netfilter/nfnetlink_queue.c +++ b/net/netfilter/nfnetlink_queue.c -@@ -942,23 +942,18 @@ static struct notifier_block nfqnl_dev_n +@@ -948,23 +948,18 @@ static struct notifier_block nfqnl_dev_n .notifier_call = nfqnl_rcv_dev_event, }; diff --git a/target/linux/generic/backport-4.14/292-v4.16-netfilter-core-free-hooks-with-call_rcu.patch b/target/linux/generic/backport-4.14/292-v4.16-netfilter-core-free-hooks-with-call_rcu.patch index 5eca73552b..500b4409af 100644 --- a/target/linux/generic/backport-4.14/292-v4.16-netfilter-core-free-hooks-with-call_rcu.patch +++ b/target/linux/generic/backport-4.14/292-v4.16-netfilter-core-free-hooks-with-call_rcu.patch @@ -107,7 +107,7 @@ Signed-off-by: Pablo Neira Ayuso static unsigned int accept_all(void *priv, struct sk_buff *skb, const struct nf_hook_state *state) -@@ -291,9 +316,8 @@ int nf_register_net_hook(struct net *net +@@ -292,9 +317,8 @@ int nf_register_net_hook(struct net *net #ifdef HAVE_JUMP_LABEL static_key_slow_inc(&nf_hooks_needed[reg->pf][reg->hooknum]); #endif @@ -118,7 +118,7 @@ Signed-off-by: Pablo Neira Ayuso return 0; } EXPORT_SYMBOL(nf_register_net_hook); -@@ -361,10 +385,8 @@ void nf_unregister_net_hook(struct net * +@@ -362,10 +386,8 @@ void nf_unregister_net_hook(struct net * if (!p) return; diff --git a/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch b/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch index 90e3500f0e..eaa4feca2c 100644 --- a/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch +++ b/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch @@ -129,7 +129,7 @@ Signed-off-by: Pablo Neira Ayuso #ifdef CONFIG_NETFILTER_INGRESS if (reg->hooknum == NF_NETDEV_INGRESS) { -@@ -534,14 +549,21 @@ void (*nf_nat_decode_session_hook)(struc +@@ -535,14 +550,21 @@ void (*nf_nat_decode_session_hook)(struc EXPORT_SYMBOL(nf_nat_decode_session_hook); #endif @@ -159,7 +159,7 @@ Signed-off-by: Pablo Neira Ayuso net->nf.proc_netfilter = proc_net_mkdir(net, "netfilter", --- a/net/netfilter/nf_queue.c +++ b/net/netfilter/nf_queue.c -@@ -206,6 +206,23 @@ repeat: +@@ -223,6 +223,23 @@ repeat: return NF_ACCEPT; } @@ -183,7 +183,7 @@ Signed-off-by: Pablo Neira Ayuso /* Caller must hold rcu read-side lock */ void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict) { -@@ -221,12 +238,12 @@ void nf_reinject(struct nf_queue_entry * +@@ -238,12 +255,12 @@ void nf_reinject(struct nf_queue_entry * net = entry->state.net; pf = entry->state.pf; diff --git a/target/linux/generic/backport-4.14/294-v4.16-netfilter-reduce-hook-array-sizes-to-what-is-needed.patch b/target/linux/generic/backport-4.14/294-v4.16-netfilter-reduce-hook-array-sizes-to-what-is-needed.patch index d9009b8e1f..2a9a6d94c5 100644 --- a/target/linux/generic/backport-4.14/294-v4.16-netfilter-reduce-hook-array-sizes-to-what-is-needed.patch +++ b/target/linux/generic/backport-4.14/294-v4.16-netfilter-reduce-hook-array-sizes-to-what-is-needed.patch @@ -64,7 +64,7 @@ Signed-off-by: Pablo Neira Ayuso return net->nf.hooks_decnet + reg->hooknum; default: WARN_ON_ONCE(1); -@@ -549,21 +559,21 @@ void (*nf_nat_decode_session_hook)(struc +@@ -550,21 +560,21 @@ void (*nf_nat_decode_session_hook)(struc EXPORT_SYMBOL(nf_nat_decode_session_hook); #endif diff --git a/target/linux/generic/backport-4.14/295-v4.16-netfilter-don-t-allocate-space-for-decnet-hooks-unle.patch b/target/linux/generic/backport-4.14/295-v4.16-netfilter-don-t-allocate-space-for-decnet-hooks-unle.patch index 26a93c40ae..0019802f2c 100644 --- a/target/linux/generic/backport-4.14/295-v4.16-netfilter-don-t-allocate-space-for-decnet-hooks-unle.patch +++ b/target/linux/generic/backport-4.14/295-v4.16-netfilter-don-t-allocate-space-for-decnet-hooks-unle.patch @@ -55,7 +55,7 @@ Signed-off-by: Pablo Neira Ayuso default: WARN_ON_ONCE(1); return NULL; -@@ -573,7 +575,9 @@ static int __net_init netfilter_net_init +@@ -574,7 +576,9 @@ static int __net_init netfilter_net_init __netfilter_net_init(net->nf.hooks_ipv6, ARRAY_SIZE(net->nf.hooks_ipv6)); __netfilter_net_init(net->nf.hooks_arp, ARRAY_SIZE(net->nf.hooks_arp)); __netfilter_net_init(net->nf.hooks_bridge, ARRAY_SIZE(net->nf.hooks_bridge)); diff --git a/target/linux/generic/backport-4.14/296-v4.16-netfilter-don-t-allocate-space-for-arp-bridge-hooks-.patch b/target/linux/generic/backport-4.14/296-v4.16-netfilter-don-t-allocate-space-for-arp-bridge-hooks-.patch index 41675c3494..9e55dabdc9 100644 --- a/target/linux/generic/backport-4.14/296-v4.16-netfilter-don-t-allocate-space-for-arp-bridge-hooks-.patch +++ b/target/linux/generic/backport-4.14/296-v4.16-netfilter-don-t-allocate-space-for-arp-bridge-hooks-.patch @@ -137,7 +137,7 @@ Signed-off-by: Pablo Neira Ayuso case NFPROTO_IPV4: if (WARN_ON_ONCE(ARRAY_SIZE(net->nf.hooks_ipv4) <= reg->hooknum)) return NULL; -@@ -573,8 +577,12 @@ static int __net_init netfilter_net_init +@@ -574,8 +578,12 @@ static int __net_init netfilter_net_init { __netfilter_net_init(net->nf.hooks_ipv4, ARRAY_SIZE(net->nf.hooks_ipv4)); __netfilter_net_init(net->nf.hooks_ipv6, ARRAY_SIZE(net->nf.hooks_ipv6)); @@ -152,7 +152,7 @@ Signed-off-by: Pablo Neira Ayuso #endif --- a/net/netfilter/nf_queue.c +++ b/net/netfilter/nf_queue.c -@@ -209,8 +209,10 @@ repeat: +@@ -226,8 +226,10 @@ repeat: static struct nf_hook_entries *nf_hook_entries_head(const struct net *net, u8 pf, u8 hooknum) { switch (pf) { diff --git a/target/linux/generic/backport-4.14/297-v4.16-netfilter-core-pass-hook-number-family-and-device-to.patch b/target/linux/generic/backport-4.14/297-v4.16-netfilter-core-pass-hook-number-family-and-device-to.patch index 7d450f95f0..55bc7ec1e8 100644 --- a/target/linux/generic/backport-4.14/297-v4.16-netfilter-core-pass-hook-number-family-and-device-to.patch +++ b/target/linux/generic/backport-4.14/297-v4.16-netfilter-core-pass-hook-number-family-and-device-to.patch @@ -87,7 +87,7 @@ Signed-off-by: Pablo Neira Ayuso if (!pp) return -EINVAL; -@@ -397,7 +399,7 @@ void nf_unregister_net_hook(struct net * +@@ -398,7 +400,7 @@ void nf_unregister_net_hook(struct net * struct nf_hook_entries __rcu **pp; struct nf_hook_entries *p; diff --git a/target/linux/generic/backport-4.14/298-v4.16-netfilter-core-add-nf_remove_net_hook.patch b/target/linux/generic/backport-4.14/298-v4.16-netfilter-core-add-nf_remove_net_hook.patch index 8fea44b359..30d5c5843b 100644 --- a/target/linux/generic/backport-4.14/298-v4.16-netfilter-core-add-nf_remove_net_hook.patch +++ b/target/linux/generic/backport-4.14/298-v4.16-netfilter-core-add-nf_remove_net_hook.patch @@ -13,7 +13,7 @@ Signed-off-by: Pablo Neira Ayuso --- a/net/netfilter/core.c +++ b/net/netfilter/core.c -@@ -356,7 +356,7 @@ int nf_register_net_hook(struct net *net +@@ -357,7 +357,7 @@ int nf_register_net_hook(struct net *net EXPORT_SYMBOL(nf_register_net_hook); /* @@ -22,7 +22,7 @@ Signed-off-by: Pablo Neira Ayuso * * @oldp: current address of hook blob * @unreg: hook to unregister -@@ -364,8 +364,8 @@ EXPORT_SYMBOL(nf_register_net_hook); +@@ -365,8 +365,8 @@ EXPORT_SYMBOL(nf_register_net_hook); * This cannot fail, hook unregistration must always succeed. * Therefore replace the to-be-removed hook with a dummy hook. */ @@ -33,7 +33,7 @@ Signed-off-by: Pablo Neira Ayuso { struct nf_hook_ops **orig_ops; bool found = false; -@@ -411,7 +411,7 @@ void nf_unregister_net_hook(struct net * +@@ -412,7 +412,7 @@ void nf_unregister_net_hook(struct net * return; } diff --git a/target/linux/generic/backport-4.14/298-v4.16-netfilter-core-pass-family-as-parameter-to-nf_remove.patch b/target/linux/generic/backport-4.14/298-v4.16-netfilter-core-pass-family-as-parameter-to-nf_remove.patch index 4c52635c13..49e856b70e 100644 --- a/target/linux/generic/backport-4.14/298-v4.16-netfilter-core-pass-family-as-parameter-to-nf_remove.patch +++ b/target/linux/generic/backport-4.14/298-v4.16-netfilter-core-pass-family-as-parameter-to-nf_remove.patch @@ -13,7 +13,7 @@ Signed-off-by: Pablo Neira Ayuso --- a/net/netfilter/core.c +++ b/net/netfilter/core.c -@@ -365,7 +365,7 @@ EXPORT_SYMBOL(nf_register_net_hook); +@@ -366,7 +366,7 @@ EXPORT_SYMBOL(nf_register_net_hook); * Therefore replace the to-be-removed hook with a dummy hook. */ static void nf_remove_net_hook(struct nf_hook_entries *old, @@ -22,7 +22,7 @@ Signed-off-by: Pablo Neira Ayuso { struct nf_hook_ops **orig_ops; bool found = false; -@@ -383,14 +383,14 @@ static void nf_remove_net_hook(struct nf +@@ -384,14 +384,14 @@ static void nf_remove_net_hook(struct nf if (found) { #ifdef CONFIG_NETFILTER_INGRESS @@ -40,7 +40,7 @@ Signed-off-by: Pablo Neira Ayuso } } -@@ -411,7 +411,7 @@ void nf_unregister_net_hook(struct net * +@@ -412,7 +412,7 @@ void nf_unregister_net_hook(struct net * return; } diff --git a/target/linux/generic/backport-4.14/299-v4.16-netfilter-core-support-for-NFPROTO_INET-hook-registr.patch b/target/linux/generic/backport-4.14/299-v4.16-netfilter-core-support-for-NFPROTO_INET-hook-registr.patch index b112855132..722ba9d4aa 100644 --- a/target/linux/generic/backport-4.14/299-v4.16-netfilter-core-support-for-NFPROTO_INET-hook-registr.patch +++ b/target/linux/generic/backport-4.14/299-v4.16-netfilter-core-support-for-NFPROTO_INET-hook-registr.patch @@ -39,9 +39,9 @@ Signed-off-by: Pablo Neira Ayuso if (!pp) return -EINVAL; -@@ -343,17 +344,16 @@ int nf_register_net_hook(struct net *net +@@ -344,17 +345,16 @@ int nf_register_net_hook(struct net *net + return PTR_ERR(new_hooks); - hooks_validate(new_hooks); #ifdef CONFIG_NETFILTER_INGRESS - if (reg->pf == NFPROTO_NETDEV && reg->hooknum == NF_NETDEV_INGRESS) + if (pf == NFPROTO_NETDEV && reg->hooknum == NF_NETDEV_INGRESS) @@ -59,7 +59,7 @@ Signed-off-by: Pablo Neira Ayuso /* * nf_remove_net_hook - remove a hook from blob -@@ -394,12 +394,13 @@ static void nf_remove_net_hook(struct nf +@@ -395,12 +395,13 @@ static void nf_remove_net_hook(struct nf } } @@ -75,7 +75,7 @@ Signed-off-by: Pablo Neira Ayuso if (!pp) return; -@@ -411,7 +412,7 @@ void nf_unregister_net_hook(struct net * +@@ -412,7 +413,7 @@ void nf_unregister_net_hook(struct net * return; } @@ -84,7 +84,7 @@ Signed-off-by: Pablo Neira Ayuso p = __nf_hook_entries_try_shrink(pp); mutex_unlock(&nf_hook_mutex); -@@ -421,8 +422,42 @@ void nf_unregister_net_hook(struct net * +@@ -422,8 +423,42 @@ void nf_unregister_net_hook(struct net * nf_queue_nf_hook_drop(net); nf_hook_entries_free(p); } diff --git a/target/linux/generic/backport-4.14/306-v4.16-netfilter-remove-saveroute-indirection-in-struct-nf_.patch b/target/linux/generic/backport-4.14/306-v4.16-netfilter-remove-saveroute-indirection-in-struct-nf_.patch index 943b3eed30..78c898b0b5 100644 --- a/target/linux/generic/backport-4.14/306-v4.16-netfilter-remove-saveroute-indirection-in-struct-nf_.patch +++ b/target/linux/generic/backport-4.14/306-v4.16-netfilter-remove-saveroute-indirection-in-struct-nf_.patch @@ -176,7 +176,7 @@ Signed-off-by: Pablo Neira Ayuso #include #include #include -@@ -108,6 +110,35 @@ void nf_queue_nf_hook_drop(struct net *n +@@ -121,6 +123,35 @@ void nf_queue_nf_hook_drop(struct net *n } EXPORT_SYMBOL_GPL(nf_queue_nf_hook_drop); @@ -212,10 +212,10 @@ Signed-off-by: Pablo Neira Ayuso static int __nf_queue(struct sk_buff *skb, const struct nf_hook_state *state, const struct nf_hook_entries *entries, unsigned int index, unsigned int queuenum) -@@ -148,7 +179,16 @@ static int __nf_queue(struct sk_buff *sk - }; +@@ -165,7 +196,16 @@ static int __nf_queue(struct sk_buff *sk + return -ENOTCONN; + } - nf_queue_entry_get_refs(entry); - afinfo->saveroute(skb, entry); + + switch (entry->state.pf) { diff --git a/target/linux/generic/backport-4.14/308-v4.16-netfilter-move-reroute-indirection-to-struct-nf_ipv6.patch b/target/linux/generic/backport-4.14/308-v4.16-netfilter-move-reroute-indirection-to-struct-nf_ipv6.patch index 810f57ca19..bf351a8b2a 100644 --- a/target/linux/generic/backport-4.14/308-v4.16-netfilter-move-reroute-indirection-to-struct-nf_ipv6.patch +++ b/target/linux/generic/backport-4.14/308-v4.16-netfilter-move-reroute-indirection-to-struct-nf_ipv6.patch @@ -171,7 +171,7 @@ Signed-off-by: Pablo Neira Ayuso --- a/net/netfilter/nf_queue.c +++ b/net/netfilter/nf_queue.c -@@ -271,7 +271,6 @@ void nf_reinject(struct nf_queue_entry * +@@ -288,7 +288,6 @@ void nf_reinject(struct nf_queue_entry * const struct nf_hook_entry *hook_entry; const struct nf_hook_entries *hooks; struct sk_buff *skb = entry->skb; @@ -179,7 +179,7 @@ Signed-off-by: Pablo Neira Ayuso const struct net *net; unsigned int i; int err; -@@ -298,8 +297,7 @@ void nf_reinject(struct nf_queue_entry * +@@ -315,8 +314,7 @@ void nf_reinject(struct nf_queue_entry * verdict = nf_hook_entry_hookfn(hook_entry, skb, &entry->state); if (verdict == NF_ACCEPT) { diff --git a/target/linux/generic/backport-4.14/309-v4.16-netfilter-remove-route_key_size-field-in-struct-nf_a.patch b/target/linux/generic/backport-4.14/309-v4.16-netfilter-remove-route_key_size-field-in-struct-nf_a.patch index 20820e40ca..9911416c39 100644 --- a/target/linux/generic/backport-4.14/309-v4.16-netfilter-remove-route_key_size-field-in-struct-nf_a.patch +++ b/target/linux/generic/backport-4.14/309-v4.16-netfilter-remove-route_key_size-field-in-struct-nf_a.patch @@ -48,7 +48,7 @@ Signed-off-by: Pablo Neira Ayuso #include #include #include -@@ -145,9 +147,9 @@ static int __nf_queue(struct sk_buff *sk +@@ -158,9 +160,9 @@ static int __nf_queue(struct sk_buff *sk { int status = -ENOENT; struct nf_queue_entry *entry = NULL; @@ -59,7 +59,7 @@ Signed-off-by: Pablo Neira Ayuso /* QUEUE == DROP if no one is waiting, to be safe. */ qh = rcu_dereference(net->nf.queue_handler); -@@ -156,11 +158,19 @@ static int __nf_queue(struct sk_buff *sk +@@ -169,11 +171,19 @@ static int __nf_queue(struct sk_buff *sk goto err; } @@ -83,7 +83,7 @@ Signed-off-by: Pablo Neira Ayuso if (!entry) { status = -ENOMEM; goto err; -@@ -175,7 +185,7 @@ static int __nf_queue(struct sk_buff *sk +@@ -188,7 +198,7 @@ static int __nf_queue(struct sk_buff *sk .skb = skb, .state = *state, .hook_index = index, @@ -91,4 +91,4 @@ Signed-off-by: Pablo Neira Ayuso + .size = sizeof(*entry) + route_key_size, }; - nf_queue_entry_get_refs(entry); + if (!nf_queue_entry_get_refs(entry)) { diff --git a/target/linux/generic/backport-4.14/336-v4.15-netfilter-exit_net-cleanup-check-added.patch b/target/linux/generic/backport-4.14/336-v4.15-netfilter-exit_net-cleanup-check-added.patch index bd26f2d163..698ddbc213 100644 --- a/target/linux/generic/backport-4.14/336-v4.15-netfilter-exit_net-cleanup-check-added.patch +++ b/target/linux/generic/backport-4.14/336-v4.15-netfilter-exit_net-cleanup-check-added.patch @@ -62,7 +62,7 @@ Signed-off-by: Pablo Neira Ayuso static struct pernet_operations nfnl_log_net_ops = { --- a/net/netfilter/nfnetlink_queue.c +++ b/net/netfilter/nfnetlink_queue.c -@@ -1511,10 +1511,15 @@ static int __net_init nfnl_queue_net_ini +@@ -1517,10 +1517,15 @@ static int __net_init nfnl_queue_net_ini static void __net_exit nfnl_queue_net_exit(struct net *net) { diff --git a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch index 8bac270271..82a00543f1 100644 --- a/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch +++ b/target/linux/generic/backport-4.9/090-net-generalize-napi_complete_done.patch @@ -1379,7 +1379,7 @@ Signed-off-by: David S. Miller */ --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c -@@ -1132,7 +1132,7 @@ err: +@@ -1138,7 +1138,7 @@ err: if (work_done < budget) { int more_to_do = 0; diff --git a/target/linux/generic/config-4.14 b/target/linux/generic/config-4.14 index 2bd2346a28..ba50b0051a 100644 --- a/target/linux/generic/config-4.14 +++ b/target/linux/generic/config-4.14 @@ -1656,6 +1656,7 @@ CONFIG_GENERIC_NET_UTILS=y # CONFIG_HAMACHI is not set # CONFIG_HAMRADIO is not set # CONFIG_HAPPYMEAL is not set +# CONFIG_HARDEN_BRANCH_HISTORY is not set # CONFIG_HARDENED_USERCOPY is not set # CONFIG_HARDENED_USERCOPY_PAGESPAN is not set # CONFIG_HARDLOCKUP_DETECTOR is not set diff --git a/target/linux/generic/config-4.19 b/target/linux/generic/config-4.19 index dffb130266..eef43c9f67 100644 --- a/target/linux/generic/config-4.19 +++ b/target/linux/generic/config-4.19 @@ -1737,6 +1737,7 @@ CONFIG_GPIOLIB_FASTPATH_LIMIT=512 # CONFIG_HAMACHI is not set # CONFIG_HAMRADIO is not set # CONFIG_HAPPYMEAL is not set +# CONFIG_HARDEN_BRANCH_HISTORY is not set CONFIG_HARDENED_USERCOPY=y # CONFIG_HARDENED_USERCOPY_FALLBACK is not set # CONFIG_HARDENED_USERCOPY_PAGESPAN is not set diff --git a/target/linux/generic/config-4.9 b/target/linux/generic/config-4.9 index c8e530dd13..e3935582c0 100644 --- a/target/linux/generic/config-4.9 +++ b/target/linux/generic/config-4.9 @@ -1465,6 +1465,7 @@ CONFIG_GENERIC_NET_UTILS=y # CONFIG_HAMACHI is not set # CONFIG_HAMRADIO is not set # CONFIG_HAPPYMEAL is not set +# CONFIG_HARDEN_BRANCH_HISTORY is not set # CONFIG_HARDENED_USERCOPY is not set # CONFIG_HARDLOCKUP_DETECTOR is not set # CONFIG_HAVE_AOUT is not set diff --git a/target/linux/generic/hack-4.14/220-gc_sections.patch b/target/linux/generic/hack-4.14/220-gc_sections.patch index 2605d7f78f..cf493a2574 100644 --- a/target/linux/generic/hack-4.14/220-gc_sections.patch +++ b/target/linux/generic/hack-4.14/220-gc_sections.patch @@ -67,7 +67,7 @@ Signed-off-by: Gabor Juhos # but it is being used too early to link to meaningful stack_chk logic. --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S -@@ -18,7 +18,7 @@ +@@ -31,7 +31,7 @@ #define PROC_INFO \ . = ALIGN(4); \ VMLINUX_SYMBOL(__proc_info_begin) = .; \ @@ -76,7 +76,7 @@ Signed-off-by: Gabor Juhos VMLINUX_SYMBOL(__proc_info_end) = .; #define HYPERVISOR_TEXT \ -@@ -29,11 +29,11 @@ +@@ -42,11 +42,11 @@ #define IDMAP_TEXT \ ALIGN_FUNCTION(); \ VMLINUX_SYMBOL(__idmap_text_start) = .; \ @@ -90,7 +90,7 @@ Signed-off-by: Gabor Juhos VMLINUX_SYMBOL(__hyp_idmap_text_end) = .; #ifdef CONFIG_HOTPLUG_CPU -@@ -106,7 +106,7 @@ SECTIONS +@@ -119,7 +119,7 @@ SECTIONS _stext = .; /* Text and read-only data */ IDMAP_TEXT __exception_text_start = .; @@ -99,7 +99,7 @@ Signed-off-by: Gabor Juhos __exception_text_end = .; IRQENTRY_TEXT SOFTIRQENTRY_TEXT -@@ -135,7 +135,7 @@ SECTIONS +@@ -148,7 +148,7 @@ SECTIONS __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { __start___ex_table = .; #ifdef CONFIG_MMU @@ -108,7 +108,7 @@ Signed-off-by: Gabor Juhos #endif __stop___ex_table = .; } -@@ -147,12 +147,12 @@ SECTIONS +@@ -160,12 +160,12 @@ SECTIONS . = ALIGN(8); .ARM.unwind_idx : { __start_unwind_idx = .; @@ -123,24 +123,33 @@ Signed-off-by: Gabor Juhos __stop_unwind_tab = .; } #endif -@@ -172,14 +172,14 @@ SECTIONS - */ - __vectors_start = .; - .vectors 0xffff0000 : AT(__vectors_start) { -- *(.vectors) -+ KEEP(*(.vectors)) +@@ -186,13 +186,13 @@ SECTIONS + __vectors_lma = .; + OVERLAY 0xffff0000 : NOCROSSREFS AT(__vectors_lma) { + .vectors { +- *(.vectors) ++ KEEP(*(.vectors)) + } + .vectors.bhb.loop8 { +- *(.vectors.bhb.loop8) ++ KEEP(*(.vectors.bhb.loop8)) + } + .vectors.bhb.bpiall { +- *(.vectors.bhb.bpiall) ++ KEEP(*(.vectors.bhb.bpiall)) + } } - . = __vectors_start + SIZEOF(.vectors); - __vectors_end = .; + ARM_LMA(__vectors, .vectors); +@@ -204,7 +204,7 @@ SECTIONS - __stubs_start = .; - .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_start) { + __stubs_lma = .; + .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_lma) { - *(.stubs) + KEEP(*(.stubs)) } - . = __stubs_start + SIZEOF(.stubs); - __stubs_end = .; -@@ -195,24 +195,24 @@ SECTIONS + ARM_LMA(__stubs, .stubs); + . = __stubs_lma + SIZEOF(.stubs); +@@ -220,24 +220,24 @@ SECTIONS } .init.arch.info : { __arch_info_begin = .; diff --git a/target/linux/generic/hack-4.14/930-crashlog.patch b/target/linux/generic/hack-4.14/930-crashlog.patch index fd58841af0..3fa29a62a7 100644 --- a/target/linux/generic/hack-4.14/930-crashlog.patch +++ b/target/linux/generic/hack-4.14/930-crashlog.patch @@ -318,7 +318,7 @@ Signed-off-by: Felix Fietkau #include #include -@@ -447,6 +448,8 @@ static void __init_memblock memblock_ins +@@ -453,6 +454,8 @@ static void __init_memblock memblock_ins memblock_set_region_node(rgn, nid); type->cnt++; type->total_size += size; @@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau } /** -@@ -486,6 +489,8 @@ int __init_memblock memblock_add_range(s +@@ -492,6 +495,8 @@ int __init_memblock memblock_add_range(s type->regions[0].flags = flags; memblock_set_region_node(&type->regions[0], nid); type->total_size = size; diff --git a/target/linux/generic/hack-4.14/998-usb-serial-option-add-u9300.patch b/target/linux/generic/hack-4.14/998-usb-serial-option-add-u9300.patch index b98e21d3d8..c57a1342e5 100644 --- a/target/linux/generic/hack-4.14/998-usb-serial-option-add-u9300.patch +++ b/target/linux/generic/hack-4.14/998-usb-serial-option-add-u9300.patch @@ -10,7 +10,7 @@ {QMI_QUIRK_SET_DTR(0x2c7c, 0x0195, 4)}, /* Quectel EG95 */ --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -389,6 +389,7 @@ static void option_instat_callback(struc +@@ -391,6 +391,7 @@ static void option_instat_callback(struc * Mobidata, etc sell under their own brand names. */ #define LONGCHEER_VENDOR_ID 0x1c9e @@ -18,7 +18,7 @@ /* 4G Systems products */ /* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick * -@@ -586,6 +587,16 @@ static void option_instat_callback(struc +@@ -588,6 +589,16 @@ static void option_instat_callback(struc /* Device needs ZLP */ #define ZLP BIT(17) @@ -35,7 +35,7 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, -@@ -620,6 +631,8 @@ static const struct usb_device_id option +@@ -622,6 +633,8 @@ static const struct usb_device_id option { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) }, { USB_DEVICE(QUANTA_VENDOR_ID, 0xea42), .driver_info = RSVD(4) }, diff --git a/target/linux/generic/hack-4.19/204-module_strip.patch b/target/linux/generic/hack-4.19/204-module_strip.patch index 6c94301e14..39b93c5a99 100644 --- a/target/linux/generic/hack-4.19/204-module_strip.patch +++ b/target/linux/generic/hack-4.19/204-module_strip.patch @@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau --- a/init/Kconfig +++ b/init/Kconfig -@@ -2007,6 +2007,13 @@ config TRIM_UNUSED_KSYMS +@@ -2010,6 +2010,13 @@ config TRIM_UNUSED_KSYMS If unsure, or if you need to build out-of-tree modules, say N. diff --git a/target/linux/generic/hack-4.19/220-gc_sections.patch b/target/linux/generic/hack-4.19/220-gc_sections.patch index 823b7bee21..bc2a65d9d0 100644 --- a/target/linux/generic/hack-4.19/220-gc_sections.patch +++ b/target/linux/generic/hack-4.19/220-gc_sections.patch @@ -98,7 +98,7 @@ Signed-off-by: Gabor Juhos --- a/arch/arm/kernel/vmlinux.lds.h +++ b/arch/arm/kernel/vmlinux.lds.h -@@ -22,13 +22,13 @@ +@@ -22,7 +22,7 @@ #define ARM_MMU_DISCARD(x) #else #define ARM_MMU_KEEP(x) @@ -106,15 +106,17 @@ Signed-off-by: Gabor Juhos +#define ARM_MMU_DISCARD(x) KEEP(x) #endif + /* +@@ -41,7 +41,7 @@ #define PROC_INFO \ . = ALIGN(4); \ __proc_info_begin = .; \ - *(.proc.info.init) \ -+ KEEP(*(.proc.info.init)) \ ++ KEEP(*(.proc.info.init)) \ __proc_info_end = .; #define HYPERVISOR_TEXT \ -@@ -39,11 +39,11 @@ +@@ -52,11 +52,11 @@ #define IDMAP_TEXT \ ALIGN_FUNCTION(); \ __idmap_text_start = .; \ @@ -128,7 +130,7 @@ Signed-off-by: Gabor Juhos __hyp_idmap_text_end = .; #define ARM_DISCARD \ -@@ -86,12 +86,12 @@ +@@ -99,12 +99,12 @@ . = ALIGN(8); \ .ARM.unwind_idx : { \ __start_unwind_idx = .; \ @@ -143,23 +145,32 @@ Signed-off-by: Gabor Juhos __stop_unwind_tab = .; \ } -@@ -102,14 +102,14 @@ - #define ARM_VECTORS \ - __vectors_start = .; \ - .vectors 0xffff0000 : AT(__vectors_start) { \ -- *(.vectors) \ -+ KEEP(*(.vectors)) \ +@@ -116,13 +116,13 @@ + __vectors_lma = .; \ + OVERLAY 0xffff0000 : NOCROSSREFS AT(__vectors_lma) { \ + .vectors { \ +- *(.vectors) \ ++ KEEP(*(.vectors)) \ + } \ + .vectors.bhb.loop8 { \ +- *(.vectors.bhb.loop8) \ ++ KEEP(*(.vectors.bhb.loop8)) \ + } \ + .vectors.bhb.bpiall { \ +- *(.vectors.bhb.bpiall) \ ++ KEEP(*(.vectors.bhb.bpiall)) \ + } \ } \ - . = __vectors_start + SIZEOF(.vectors); \ - __vectors_end = .; \ + ARM_LMA(__vectors, .vectors); \ +@@ -134,7 +134,7 @@ \ - __stubs_start = .; \ - .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_start) { \ + __stubs_lma = .; \ + .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_lma) { \ - *(.stubs) \ + KEEP(*(.stubs)) \ } \ - . = __stubs_start + SIZEOF(.stubs); \ - __stubs_end = .; \ + ARM_LMA(__stubs, .stubs); \ + . = __stubs_lma + SIZEOF(.stubs); \ --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -43,6 +43,7 @@ config MIPS diff --git a/target/linux/generic/hack-4.19/930-crashlog.patch b/target/linux/generic/hack-4.19/930-crashlog.patch index b9d0d048b4..574f31ae21 100644 --- a/target/linux/generic/hack-4.19/930-crashlog.patch +++ b/target/linux/generic/hack-4.19/930-crashlog.patch @@ -41,7 +41,7 @@ Signed-off-by: Felix Fietkau +#endif --- a/init/Kconfig +++ b/init/Kconfig -@@ -1049,6 +1049,10 @@ config RELAY +@@ -1052,6 +1052,10 @@ config RELAY If unsure, say N. @@ -318,7 +318,7 @@ Signed-off-by: Felix Fietkau #include #include -@@ -510,6 +511,8 @@ static void __init_memblock memblock_ins +@@ -516,6 +517,8 @@ static void __init_memblock memblock_ins memblock_set_region_node(rgn, nid); type->cnt++; type->total_size += size; @@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau } /** -@@ -549,6 +552,8 @@ int __init_memblock memblock_add_range(s +@@ -555,6 +558,8 @@ int __init_memblock memblock_add_range(s type->regions[0].flags = flags; memblock_set_region_node(&type->regions[0], nid); type->total_size = size; diff --git a/target/linux/generic/hack-4.19/998-usb-serial-option-add-u9300.patch b/target/linux/generic/hack-4.19/998-usb-serial-option-add-u9300.patch index 09b166e8c4..0908aae72d 100644 --- a/target/linux/generic/hack-4.19/998-usb-serial-option-add-u9300.patch +++ b/target/linux/generic/hack-4.19/998-usb-serial-option-add-u9300.patch @@ -10,7 +10,7 @@ {QMI_QUIRK_SET_DTR(0x2c7c, 0x0195, 4)}, /* Quectel EG95 */ --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -386,6 +386,7 @@ static void option_instat_callback(struc +@@ -388,6 +388,7 @@ static void option_instat_callback(struc * Mobidata, etc sell under their own brand names. */ #define LONGCHEER_VENDOR_ID 0x1c9e @@ -18,7 +18,7 @@ /* 4G Systems products */ /* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick * -@@ -583,6 +584,16 @@ static void option_instat_callback(struc +@@ -585,6 +586,16 @@ static void option_instat_callback(struc /* Device needs ZLP */ #define ZLP BIT(17) @@ -35,7 +35,7 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, -@@ -617,6 +628,8 @@ static const struct usb_device_id option +@@ -619,6 +630,8 @@ static const struct usb_device_id option { USB_DEVICE(QUANTA_VENDOR_ID, QUANTA_PRODUCT_GLE) }, { USB_DEVICE(QUANTA_VENDOR_ID, 0xea42), .driver_info = RSVD(4) }, diff --git a/target/linux/generic/hack-4.9/204-module_strip.patch b/target/linux/generic/hack-4.9/204-module_strip.patch index 7996c8b5cb..994cf6e3b5 100644 --- a/target/linux/generic/hack-4.9/204-module_strip.patch +++ b/target/linux/generic/hack-4.9/204-module_strip.patch @@ -171,7 +171,7 @@ Signed-off-by: Felix Fietkau static void add_retpoline(struct buffer *b) { +#ifndef CONFIG_MODULE_STRIPPED - buf_printf(b, "\n#ifdef RETPOLINE\n"); + buf_printf(b, "\n#ifdef CONFIG_RETPOLINE\n"); buf_printf(b, "MODULE_INFO(retpoline, \"Y\");\n"); buf_printf(b, "#endif\n"); +#endif diff --git a/target/linux/generic/hack-4.9/220-gc_sections.patch b/target/linux/generic/hack-4.9/220-gc_sections.patch index 4e512262a2..b649d1f362 100644 --- a/target/linux/generic/hack-4.9/220-gc_sections.patch +++ b/target/linux/generic/hack-4.9/220-gc_sections.patch @@ -67,7 +67,7 @@ Signed-off-by: Gabor Juhos # but it is being used too early to link to meaningful stack_chk logic. --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S -@@ -17,7 +17,7 @@ +@@ -30,7 +30,7 @@ #define PROC_INFO \ . = ALIGN(4); \ VMLINUX_SYMBOL(__proc_info_begin) = .; \ @@ -76,7 +76,7 @@ Signed-off-by: Gabor Juhos VMLINUX_SYMBOL(__proc_info_end) = .; #define HYPERVISOR_TEXT \ -@@ -28,11 +28,11 @@ +@@ -41,11 +41,11 @@ #define IDMAP_TEXT \ ALIGN_FUNCTION(); \ VMLINUX_SYMBOL(__idmap_text_start) = .; \ @@ -90,7 +90,7 @@ Signed-off-by: Gabor Juhos VMLINUX_SYMBOL(__hyp_idmap_text_end) = .; #ifdef CONFIG_HOTPLUG_CPU -@@ -105,7 +105,7 @@ SECTIONS +@@ -118,7 +118,7 @@ SECTIONS _stext = .; /* Text and read-only data */ IDMAP_TEXT __exception_text_start = .; @@ -99,7 +99,7 @@ Signed-off-by: Gabor Juhos __exception_text_end = .; IRQENTRY_TEXT SOFTIRQENTRY_TEXT -@@ -134,7 +134,7 @@ SECTIONS +@@ -147,7 +147,7 @@ SECTIONS __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { __start___ex_table = .; #ifdef CONFIG_MMU @@ -108,7 +108,7 @@ Signed-off-by: Gabor Juhos #endif __stop___ex_table = .; } -@@ -146,12 +146,12 @@ SECTIONS +@@ -159,12 +159,12 @@ SECTIONS . = ALIGN(8); .ARM.unwind_idx : { __start_unwind_idx = .; @@ -123,24 +123,33 @@ Signed-off-by: Gabor Juhos __stop_unwind_tab = .; } #endif -@@ -171,14 +171,14 @@ SECTIONS - */ - __vectors_start = .; - .vectors 0xffff0000 : AT(__vectors_start) { -- *(.vectors) -+ KEEP(*(.vectors)) +@@ -185,13 +185,13 @@ SECTIONS + __vectors_lma = .; + OVERLAY 0xffff0000 : NOCROSSREFS AT(__vectors_lma) { + .vectors { +- *(.vectors) ++ KEEP(*(.vectors)) + } + .vectors.bhb.loop8 { +- *(.vectors.bhb.loop8) ++ KEEP(*(.vectors.bhb.loop8)) + } + .vectors.bhb.bpiall { +- *(.vectors.bhb.bpiall) ++ KEEP(*(.vectors.bhb.bpiall)) + } } - . = __vectors_start + SIZEOF(.vectors); - __vectors_end = .; + ARM_LMA(__vectors, .vectors); +@@ -203,7 +203,7 @@ SECTIONS - __stubs_start = .; - .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_start) { + __stubs_lma = .; + .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_lma) { - *(.stubs) + KEEP(*(.stubs)) } - . = __stubs_start + SIZEOF(.stubs); - __stubs_end = .; -@@ -194,24 +194,24 @@ SECTIONS + ARM_LMA(__stubs, .stubs); + . = __stubs_lma + SIZEOF(.stubs); +@@ -219,24 +219,24 @@ SECTIONS } .init.arch.info : { __arch_info_begin = .; diff --git a/target/linux/generic/hack-4.9/930-crashlog.patch b/target/linux/generic/hack-4.9/930-crashlog.patch index 85f8bb5b35..419d147f5f 100644 --- a/target/linux/generic/hack-4.9/930-crashlog.patch +++ b/target/linux/generic/hack-4.9/930-crashlog.patch @@ -318,7 +318,7 @@ Signed-off-by: Felix Fietkau #include #include -@@ -459,6 +460,8 @@ static void __init_memblock memblock_ins +@@ -465,6 +466,8 @@ static void __init_memblock memblock_ins memblock_set_region_node(rgn, nid); type->cnt++; type->total_size += size; @@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau } /** -@@ -498,6 +501,8 @@ int __init_memblock memblock_add_range(s +@@ -504,6 +507,8 @@ int __init_memblock memblock_add_range(s type->regions[0].flags = flags; memblock_set_region_node(&type->regions[0], nid); type->total_size = size; diff --git a/target/linux/generic/pending-4.14/601-add-kernel-imq-support.patch b/target/linux/generic/pending-4.14/601-add-kernel-imq-support.patch index 2b7ec3a394..1e57fcf500 100644 --- a/target/linux/generic/pending-4.14/601-add-kernel-imq-support.patch +++ b/target/linux/generic/pending-4.14/601-add-kernel-imq-support.patch @@ -1596,7 +1596,7 @@ +void nf_unregister_queue_imq_handler(void); +#endif - void nf_queue_entry_get_refs(struct nf_queue_entry *entry); + bool nf_queue_entry_get_refs(struct nf_queue_entry *entry); void nf_queue_entry_release_refs(struct nf_queue_entry *entry); --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h @@ -1817,7 +1817,7 @@ static int --- a/net/netfilter/core.c +++ b/net/netfilter/core.c -@@ -490,6 +490,11 @@ int nf_hook_slow(struct sk_buff *skb, st +@@ -491,6 +491,11 @@ int nf_hook_slow(struct sk_buff *skb, st if (ret == 0) ret = -EPERM; return ret; @@ -1892,7 +1892,7 @@ /* return EBUSY when somebody else is registered, return EEXIST if the * same handler is registered, return 0 in case of success. */ void nf_register_queue_handler(struct net *net, const struct nf_queue_handler *qh) -@@ -141,16 +158,29 @@ static void nf_ip6_saveroute(const struc +@@ -154,16 +171,29 @@ static void nf_ip6_saveroute(const struc static int __nf_queue(struct sk_buff *skb, const struct nf_hook_state *state, const struct nf_hook_entries *entries, @@ -1924,7 +1924,7 @@ if (!qh) { status = -ESRCH; goto err; -@@ -218,8 +248,16 @@ int nf_queue(struct sk_buff *skb, struct +@@ -235,8 +265,16 @@ int nf_queue(struct sk_buff *skb, struct { int ret; @@ -1942,7 +1942,7 @@ if (ret == -ESRCH && (verdict & NF_VERDICT_FLAG_QUEUE_BYPASS)) return 1; -@@ -323,6 +361,7 @@ next_hook: +@@ -340,6 +378,7 @@ next_hook: local_bh_enable(); break; case NF_QUEUE: diff --git a/target/linux/generic/pending-4.14/760-net-usb-aqc111-Driver-skeleton-for-Aquantia-AQtionUSB-to-5GbE.patch b/target/linux/generic/pending-4.14/760-net-usb-aqc111-Driver-skeleton-for-Aquantia-AQtionUSB-to-5GbE.patch index db73592638..45b1c52458 100644 --- a/target/linux/generic/pending-4.14/760-net-usb-aqc111-Driver-skeleton-for-Aquantia-AQtionUSB-to-5GbE.patch +++ b/target/linux/generic/pending-4.14/760-net-usb-aqc111-Driver-skeleton-for-Aquantia-AQtionUSB-to-5GbE.patch @@ -1856,7 +1856,7 @@ static const struct usb_device_id products[] = { /* BLACKLIST !! -@@ -849,6 +851,30 @@ static const struct usb_device_id produc +@@ -861,6 +863,30 @@ static const struct usb_device_id produc .driver_info = 0, }, diff --git a/target/linux/generic/pending-4.19/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-4.19/203-kallsyms_uncompressed.patch index 9230279fca..a7869fdddc 100644 --- a/target/linux/generic/pending-4.19/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-4.19/203-kallsyms_uncompressed.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/init/Kconfig +++ b/init/Kconfig -@@ -1149,6 +1149,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW +@@ -1152,6 +1152,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW the unaligned access emulation. see arch/parisc/kernel/unaligned.c for reference diff --git a/target/linux/generic/pending-4.19/601-add-kernel-imq-support.patch b/target/linux/generic/pending-4.19/601-add-kernel-imq-support.patch index 5ffe46c32b..4655051b75 100644 --- a/target/linux/generic/pending-4.19/601-add-kernel-imq-support.patch +++ b/target/linux/generic/pending-4.19/601-add-kernel-imq-support.patch @@ -1291,7 +1291,7 @@ +void nf_unregister_queue_imq_handler(void); +#endif - void nf_queue_entry_get_refs(struct nf_queue_entry *entry); + bool nf_queue_entry_get_refs(struct nf_queue_entry *entry); void nf_queue_entry_release_refs(struct nf_queue_entry *entry); --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h @@ -1513,7 +1513,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NETMAP) += xt_NETMAP.o --- a/net/netfilter/core.c +++ b/net/netfilter/core.c -@@ -518,6 +518,11 @@ int nf_hook_slow(struct sk_buff *skb, st +@@ -519,6 +519,11 @@ int nf_hook_slow(struct sk_buff *skb, st if (ret == 0) ret = -EPERM; return ret; @@ -1551,7 +1551,7 @@ /* return EBUSY when somebody else is registered, return EEXIST if the * same handler is registered, return 0 in case of success. */ void nf_register_queue_handler(struct net *net, const struct nf_queue_handler *qh) -@@ -141,16 +158,28 @@ static void nf_ip6_saveroute(const struc +@@ -154,16 +171,28 @@ static void nf_ip6_saveroute(const struc static int __nf_queue(struct sk_buff *skb, const struct nf_hook_state *state, const struct nf_hook_entries *entries, @@ -1582,7 +1582,7 @@ if (!qh) { status = -ESRCH; goto err; -@@ -218,8 +247,16 @@ int nf_queue(struct sk_buff *skb, struct +@@ -234,8 +263,16 @@ int nf_queue(struct sk_buff *skb, struct { int ret; @@ -1600,7 +1600,7 @@ if (ret == -ESRCH && (verdict & NF_VERDICT_FLAG_QUEUE_BYPASS)) return 1; -@@ -323,6 +360,7 @@ next_hook: +@@ -339,6 +376,7 @@ next_hook: local_bh_enable(); break; case NF_QUEUE: diff --git a/target/linux/generic/pending-4.19/760-net-usb-aqc111-Driver-skeleton-for-Aquantia-AQtionUSB-to-5GbE.patch b/target/linux/generic/pending-4.19/760-net-usb-aqc111-Driver-skeleton-for-Aquantia-AQtionUSB-to-5GbE.patch index 6b5608e31a..356b4dcd33 100644 --- a/target/linux/generic/pending-4.19/760-net-usb-aqc111-Driver-skeleton-for-Aquantia-AQtionUSB-to-5GbE.patch +++ b/target/linux/generic/pending-4.19/760-net-usb-aqc111-Driver-skeleton-for-Aquantia-AQtionUSB-to-5GbE.patch @@ -1856,7 +1856,7 @@ static const struct usb_device_id products[] = { /* BLACKLIST !! -@@ -849,6 +851,30 @@ static const struct usb_device_id produc +@@ -861,6 +863,30 @@ static const struct usb_device_id produc .driver_info = 0, }, diff --git a/target/linux/generic/pending-4.19/920-mangle_bootargs.patch b/target/linux/generic/pending-4.19/920-mangle_bootargs.patch index 85014cb9d8..d91bb0d98f 100644 --- a/target/linux/generic/pending-4.19/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-4.19/920-mangle_bootargs.patch @@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz --- a/init/Kconfig +++ b/init/Kconfig -@@ -1541,6 +1541,15 @@ config EMBEDDED +@@ -1544,6 +1544,15 @@ config EMBEDDED an embedded system so certain expert options are available for configuration. diff --git a/target/linux/generic/pending-4.9/601-add-kernel-imq-support.patch b/target/linux/generic/pending-4.9/601-add-kernel-imq-support.patch index 741e631d9f..61fc785ace 100644 --- a/target/linux/generic/pending-4.9/601-add-kernel-imq-support.patch +++ b/target/linux/generic/pending-4.9/601-add-kernel-imq-support.patch @@ -1549,7 +1549,7 @@ +void nf_unregister_queue_imq_handler(void); +#endif - void nf_queue_entry_get_refs(struct nf_queue_entry *entry); + bool nf_queue_entry_get_refs(struct nf_queue_entry *entry); void nf_queue_entry_release_refs(struct nf_queue_entry *entry); --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h @@ -1866,7 +1866,7 @@ /* return EBUSY when somebody else is registered, return EEXIST if the * same handler is registered, return 0 in case of success. */ void nf_register_queue_handler(struct net *net, const struct nf_queue_handler *qh) -@@ -108,16 +125,28 @@ void nf_queue_nf_hook_drop(struct net *n +@@ -121,16 +138,28 @@ void nf_queue_nf_hook_drop(struct net *n } static int __nf_queue(struct sk_buff *skb, const struct nf_hook_state *state, @@ -1897,7 +1897,7 @@ if (!qh) { status = -ESRCH; goto err; -@@ -164,8 +193,14 @@ int nf_queue(struct sk_buff *skb, struct +@@ -181,8 +210,14 @@ int nf_queue(struct sk_buff *skb, struct int ret; RCU_INIT_POINTER(state->hook_entries, entry); @@ -1913,7 +1913,7 @@ if (ret == -ESRCH && (verdict & NF_VERDICT_FLAG_QUEUE_BYPASS)) { *entryp = rcu_dereference(entry->next); -@@ -218,6 +253,7 @@ okfn: +@@ -235,6 +270,7 @@ okfn: local_bh_enable(); break; case NF_QUEUE: diff --git a/target/linux/layerscape/patches-4.14/301-arch-support-layerscape.patch b/target/linux/layerscape/patches-4.14/301-arch-support-layerscape.patch index 27c7d864fa..4659414d4c 100644 --- a/target/linux/layerscape/patches-4.14/301-arch-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/301-arch-support-layerscape.patch @@ -214,7 +214,7 @@ Signed-off-by: Zhao Qiang * address space as memory. Needed when the kernel wants to execute --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c -@@ -315,6 +315,13 @@ static struct mem_type mem_types[] __ro_ +@@ -317,6 +317,13 @@ static struct mem_type mem_types[] __ro_ .prot_sect = PMD_TYPE_SECT | PMD_SECT_AP_WRITE, .domain = DOMAIN_KERNEL, }, @@ -228,7 +228,7 @@ Signed-off-by: Zhao Qiang [MT_ROM] = { .prot_sect = PMD_TYPE_SECT, .domain = DOMAIN_KERNEL, -@@ -651,6 +658,7 @@ static void __init build_mem_type_table( +@@ -653,6 +660,7 @@ static void __init build_mem_type_table( } kern_pgprot |= PTE_EXT_AF; vecs_pgprot |= PTE_EXT_AF; @@ -236,7 +236,7 @@ Signed-off-by: Zhao Qiang /* * Set PXN for user mappings -@@ -679,6 +687,7 @@ static void __init build_mem_type_table( +@@ -681,6 +689,7 @@ static void __init build_mem_type_table( mem_types[MT_MEMORY_RWX].prot_pte |= kern_pgprot; mem_types[MT_MEMORY_RW].prot_sect |= ecc_mask | cp->pmd; mem_types[MT_MEMORY_RW].prot_pte |= kern_pgprot; diff --git a/target/linux/layerscape/patches-4.14/805-qe-support-layerscape.patch b/target/linux/layerscape/patches-4.14/805-qe-support-layerscape.patch index 0a6ad579ff..fc733c4b85 100644 --- a/target/linux/layerscape/patches-4.14/805-qe-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/805-qe-support-layerscape.patch @@ -1482,7 +1482,7 @@ Signed-off-by: Zhao Qiang #undef DEBUG -@@ -61,16 +59,16 @@ void __par_io_config_pin(struct qe_pio_r +@@ -63,16 +61,16 @@ void __par_io_config_pin(struct qe_pio_r pin_mask1bit = (u32) (1 << (QE_PIO_PINS - (pin + 1))); /* Set open drain, if required */ @@ -1504,7 +1504,7 @@ Signed-off-by: Zhao Qiang /* get all bits mask for 2 bit per port */ pin_mask2bits = (u32) (0x3 << (QE_PIO_PINS - -@@ -82,34 +80,30 @@ void __par_io_config_pin(struct qe_pio_r +@@ -84,34 +82,30 @@ void __par_io_config_pin(struct qe_pio_r /* clear and set 2 bits mask */ if (pin > (QE_PIO_PINS / 2) - 1) { @@ -1549,7 +1549,7 @@ Signed-off-by: Zhao Qiang } } EXPORT_SYMBOL(__par_io_config_pin); -@@ -137,12 +131,12 @@ int par_io_data_set(u8 port, u8 pin, u8 +@@ -139,12 +133,12 @@ int par_io_data_set(u8 port, u8 pin, u8 /* calculate pin location */ pin_mask = (u32) (1 << (QE_PIO_PINS - 1 - pin)); diff --git a/target/linux/layerscape/patches-4.14/807-usb-support-layerscape.patch b/target/linux/layerscape/patches-4.14/807-usb-support-layerscape.patch index 47525dd8ec..e215ceb2dc 100644 --- a/target/linux/layerscape/patches-4.14/807-usb-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/807-usb-support-layerscape.patch @@ -528,7 +528,7 @@ Signed-off-by: Zhao Chenhui reg &= ~DWC3_DCTL_INITU2ENA; --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c -@@ -3257,6 +3257,7 @@ int dwc3_gadget_init(struct dwc3 *dwc) +@@ -3259,6 +3259,7 @@ int dwc3_gadget_init(struct dwc3 *dwc) { int ret; int irq; @@ -536,7 +536,7 @@ Signed-off-by: Zhao Chenhui irq = dwc3_gadget_get_irq(dwc); if (irq < 0) { -@@ -3335,6 +3336,12 @@ int dwc3_gadget_init(struct dwc3 *dwc) +@@ -3337,6 +3338,12 @@ int dwc3_gadget_init(struct dwc3 *dwc) dwc3_gadget_set_speed(&dwc->gadget, dwc->maximum_speed); @@ -1340,7 +1340,7 @@ Signed-off-by: Zhao Chenhui while (ep_ring->dequeue != td->last_trb) --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1615,13 +1615,38 @@ static int xhci_urb_dequeue(struct usb_h +@@ -1625,13 +1625,38 @@ static int xhci_urb_dequeue(struct usb_h ret = -ENOMEM; goto done; } diff --git a/target/linux/layerscape/patches-4.14/823-pm-support-layerscape.patch b/target/linux/layerscape/patches-4.14/823-pm-support-layerscape.patch index 99863c47a0..01665febf4 100644 --- a/target/linux/layerscape/patches-4.14/823-pm-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/823-pm-support-layerscape.patch @@ -25,7 +25,7 @@ Signed-off-by: Zhao Chenhui --- a/drivers/firmware/psci.c +++ b/drivers/firmware/psci.c -@@ -437,8 +437,18 @@ CPUIDLE_METHOD_OF_DECLARE(psci, "psci", +@@ -452,8 +452,18 @@ CPUIDLE_METHOD_OF_DECLARE(psci, "psci", static int psci_system_suspend(unsigned long unused) { @@ -46,7 +46,7 @@ Signed-off-by: Zhao Chenhui } static int psci_system_suspend_enter(suspend_state_t state) -@@ -562,6 +572,8 @@ static void __init psci_0_2_set_function +@@ -577,6 +587,8 @@ static void __init psci_0_2_set_function arm_pm_restart = psci_sys_reset; pm_power_off = psci_sys_poweroff;