From 86fd8cb435daf05f52468daabd41a363917485b7 Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Mon, 13 May 2019 13:41:34 +0200 Subject: kernel: bump 4.19 to 4.19.42 Refreshed all patches. Remove upstreamed: - 060-v5.1-serial-ar933x_uart-Fix-build-failure-with-disabled-c.patch - 400-v5.2-leds-trigger-netdev-fix-refcnt-leak-on-interface-ren.patch Compile-tested on: cns3xxx, imx6 Runtime-tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 +- .../140-GPIO-add-named-gpio-exports.patch | 2 +- .../0036-GPIO-add-named-gpio-exports.patch | 2 +- .../cns3xxx/patches-4.19/070-i2c_support.patch | 2 +- ...3x_uart-Fix-build-failure-with-disabled-c.patch | 94 ---------------------- ...r-netdev-fix-refcnt-leak-on-interface-ren.patch | 69 ---------------- .../generic/hack-4.19/250-netfilter_depends.patch | 2 +- .../530-jffs2_make_lzma_available.patch | 2 +- .../pending-4.19/630-packet_socket_type.patch | 6 +- ...jecting-with-source-address-failed-policy.patch | 20 ++--- 10 files changed, 20 insertions(+), 183 deletions(-) delete mode 100644 target/linux/generic/backport-4.19/060-v5.1-serial-ar933x_uart-Fix-build-failure-with-disabled-c.patch delete mode 100644 target/linux/generic/backport-4.19/400-v5.2-leds-trigger-netdev-fix-refcnt-leak-on-interface-ren.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 43daed1729..c9c6b864b9 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -8,11 +8,11 @@ endif LINUX_VERSION-4.9 = .175 LINUX_VERSION-4.14 = .118 -LINUX_VERSION-4.19 = .38 +LINUX_VERSION-4.19 = .42 LINUX_KERNEL_HASH-4.9.175 = d98434f91f9df2bf36c7896ca747b7cf98be2e3a491073fd26e3f53cda07500c LINUX_KERNEL_HASH-4.14.118 = 687d73abd4b9af66ec30bdccdf96193e04316f9f5a1c7b8d74732c10b4729a15 -LINUX_KERNEL_HASH-4.19.38 = 6a3fdfa02dbc61ee8120ff0947a6eb0d6595b9bbe27e30a1b6f53b905f0bcd7f +LINUX_KERNEL_HASH-4.19.42 = f809d76010d575979362551fda3190569502973d5e2a972e78b9093a3526da26 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/apm821xx/patches-4.19/140-GPIO-add-named-gpio-exports.patch b/target/linux/apm821xx/patches-4.19/140-GPIO-add-named-gpio-exports.patch index 6b1f7fc1cc..8e3060d768 100644 --- a/target/linux/apm821xx/patches-4.19/140-GPIO-add-named-gpio-exports.patch +++ b/target/linux/apm821xx/patches-4.19/140-GPIO-add-named-gpio-exports.patch @@ -22,7 +22,7 @@ Signed-off-by: John Crispin #include "gpiolib.h" -@@ -654,3 +656,72 @@ void of_gpiochip_remove(struct gpio_chip +@@ -660,3 +662,72 @@ void of_gpiochip_remove(struct gpio_chip gpiochip_remove_pin_ranges(chip); of_node_put(chip->of_node); } diff --git a/target/linux/ath79/patches-4.19/0036-GPIO-add-named-gpio-exports.patch b/target/linux/ath79/patches-4.19/0036-GPIO-add-named-gpio-exports.patch index c3977efa01..b3aa9fcc01 100644 --- a/target/linux/ath79/patches-4.19/0036-GPIO-add-named-gpio-exports.patch +++ b/target/linux/ath79/patches-4.19/0036-GPIO-add-named-gpio-exports.patch @@ -22,7 +22,7 @@ Signed-off-by: John Crispin #include "gpiolib.h" -@@ -654,3 +656,68 @@ void of_gpiochip_remove(struct gpio_chip +@@ -660,3 +662,68 @@ void of_gpiochip_remove(struct gpio_chip gpiochip_remove_pin_ranges(chip); of_node_put(chip->of_node); } diff --git a/target/linux/cns3xxx/patches-4.19/070-i2c_support.patch b/target/linux/cns3xxx/patches-4.19/070-i2c_support.patch index e151bf90f0..9bfb8444e6 100644 --- a/target/linux/cns3xxx/patches-4.19/070-i2c_support.patch +++ b/target/linux/cns3xxx/patches-4.19/070-i2c_support.patch @@ -1,6 +1,6 @@ --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig -@@ -458,6 +458,18 @@ config I2C_CBUS_GPIO +@@ -459,6 +459,18 @@ config I2C_CBUS_GPIO This driver can also be built as a module. If so, the module will be called i2c-cbus-gpio. diff --git a/target/linux/generic/backport-4.19/060-v5.1-serial-ar933x_uart-Fix-build-failure-with-disabled-c.patch b/target/linux/generic/backport-4.19/060-v5.1-serial-ar933x_uart-Fix-build-failure-with-disabled-c.patch deleted file mode 100644 index b1843842e4..0000000000 --- a/target/linux/generic/backport-4.19/060-v5.1-serial-ar933x_uart-Fix-build-failure-with-disabled-c.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 72ff51d8dd262d1fef25baedc2ac35116435be47 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20=C5=A0tetiar?= -Date: Wed, 6 Mar 2019 17:54:03 +0100 -Subject: [PATCH] serial: ar933x_uart: Fix build failure with disabled console -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Andrey has reported on OpenWrt's bug tracking system[1], that he -currently can't use ar93xx_uart as pure serial UART without console -(CONFIG_SERIAL_8250_CONSOLE and CONFIG_SERIAL_AR933X_CONSOLE undefined), -because compilation ends with following error: - - ar933x_uart.c: In function 'ar933x_uart_console_write': - ar933x_uart.c:550:14: error: 'struct uart_port' has no - member named 'sysrq' - -So this patch moves all the code related to console handling behind -series of CONFIG_SERIAL_AR933X_CONSOLE ifdefs. - -1. https://bugs.openwrt.org/index.php?do=details&task_id=2152 - -Cc: Greg Kroah-Hartman -Cc: Jiri Slaby -Cc: Andrey Batyiev -Reported-by: Andrey Batyiev -Tested-by: Andrey Batyiev -Signed-off-by: Petr Štetiar -Signed-off-by: Greg Kroah-Hartman ---- - drivers/tty/serial/ar933x_uart.c | 24 ++++++++---------------- - 1 file changed, 8 insertions(+), 16 deletions(-) - ---- a/drivers/tty/serial/ar933x_uart.c -+++ b/drivers/tty/serial/ar933x_uart.c -@@ -49,11 +49,6 @@ struct ar933x_uart_port { - struct clk *clk; - }; - --static inline bool ar933x_uart_console_enabled(void) --{ -- return IS_ENABLED(CONFIG_SERIAL_AR933X_CONSOLE); --} -- - static inline unsigned int ar933x_uart_read(struct ar933x_uart_port *up, - int offset) - { -@@ -508,6 +503,7 @@ static const struct uart_ops ar933x_uart - .verify_port = ar933x_uart_verify_port, - }; - -+#ifdef CONFIG_SERIAL_AR933X_CONSOLE - static struct ar933x_uart_port * - ar933x_console_ports[CONFIG_SERIAL_AR933X_NR_UARTS]; - -@@ -604,14 +600,7 @@ static struct console ar933x_uart_consol - .index = -1, - .data = &ar933x_uart_driver, - }; -- --static void ar933x_uart_add_console_port(struct ar933x_uart_port *up) --{ -- if (!ar933x_uart_console_enabled()) -- return; -- -- ar933x_console_ports[up->port.line] = up; --} -+#endif /* CONFIG_SERIAL_AR933X_CONSOLE */ - - static struct uart_driver ar933x_uart_driver = { - .owner = THIS_MODULE, -@@ -700,7 +689,9 @@ static int ar933x_uart_probe(struct plat - baud = ar933x_uart_get_baud(port->uartclk, 0, AR933X_UART_MAX_STEP); - up->max_baud = min_t(unsigned int, baud, AR933X_UART_MAX_BAUD); - -- ar933x_uart_add_console_port(up); -+#ifdef CONFIG_SERIAL_AR933X_CONSOLE -+ ar933x_console_ports[up->port.line] = up; -+#endif - - ret = uart_add_one_port(&ar933x_uart_driver, &up->port); - if (ret) -@@ -749,8 +740,9 @@ static int __init ar933x_uart_init(void) - { - int ret; - -- if (ar933x_uart_console_enabled()) -- ar933x_uart_driver.cons = &ar933x_uart_console; -+#ifdef CONFIG_SERIAL_AR933X_CONSOLE -+ ar933x_uart_driver.cons = &ar933x_uart_console; -+#endif - - ret = uart_register_driver(&ar933x_uart_driver); - if (ret) diff --git a/target/linux/generic/backport-4.19/400-v5.2-leds-trigger-netdev-fix-refcnt-leak-on-interface-ren.patch b/target/linux/generic/backport-4.19/400-v5.2-leds-trigger-netdev-fix-refcnt-leak-on-interface-ren.patch deleted file mode 100644 index 851e13ba2e..0000000000 --- a/target/linux/generic/backport-4.19/400-v5.2-leds-trigger-netdev-fix-refcnt-leak-on-interface-ren.patch +++ /dev/null @@ -1,69 +0,0 @@ -From dd7590a3ab3f0804ed5e930295e2caa5979e3958 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Thu, 28 Feb 2019 22:57:33 +0100 -Subject: [PATCH] leds: trigger: netdev: fix refcnt leak on interface rename -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Renaming a netdev-trigger-tracked interface was resulting in an -unbalanced dev_hold(). - -Example: -> iw phy phy0 interface add foo type __ap -> echo netdev > trigger -> echo foo > device_name -> ip link set foo name bar -> iw dev bar del -[ 237.355366] unregister_netdevice: waiting for bar to become free. Usage count = 1 -[ 247.435362] unregister_netdevice: waiting for bar to become free. Usage count = 1 -[ 257.545366] unregister_netdevice: waiting for bar to become free. Usage count = 1 - -Above problem was caused by trigger checking a dev->name which obviously -changes after renaming an interface. It meant missing all further events -including the NETDEV_UNREGISTER which is required for calling dev_put(). - -This change fixes that by: -1) Comparing device struct *address* for notification-filtering purposes -2) Dropping unneeded NETDEV_CHANGENAME code (no behavior change) - -Fixes: 06f502f57d0d ("leds: trigger: Introduce a NETDEV trigger") -Signed-off-by: Rafał Miłecki -Acked-by: Pavel Machek -Signed-off-by: Jacek Anaszewski ---- - drivers/leds/trigger/ledtrig-netdev.c | 13 +++++-------- - 1 file changed, 5 insertions(+), 8 deletions(-) - ---- a/drivers/leds/trigger/ledtrig-netdev.c -+++ b/drivers/leds/trigger/ledtrig-netdev.c -@@ -301,11 +301,11 @@ static int netdev_trig_notify(struct not - container_of(nb, struct led_netdev_data, notifier); - - if (evt != NETDEV_UP && evt != NETDEV_DOWN && evt != NETDEV_CHANGE -- && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER -- && evt != NETDEV_CHANGENAME) -+ && evt != NETDEV_REGISTER && evt != NETDEV_UNREGISTER) - return NOTIFY_DONE; - -- if (strcmp(dev->name, trigger_data->device_name)) -+ if (!(dev == trigger_data->net_dev || -+ (evt == NETDEV_REGISTER && !strcmp(dev->name, trigger_data->device_name)))) - return NOTIFY_DONE; - - cancel_delayed_work_sync(&trigger_data->work); -@@ -320,12 +320,9 @@ static int netdev_trig_notify(struct not - dev_hold(dev); - trigger_data->net_dev = dev; - break; -- case NETDEV_CHANGENAME: - case NETDEV_UNREGISTER: -- if (trigger_data->net_dev) { -- dev_put(trigger_data->net_dev); -- trigger_data->net_dev = NULL; -- } -+ dev_put(trigger_data->net_dev); -+ trigger_data->net_dev = NULL; - break; - case NETDEV_UP: - case NETDEV_CHANGE: diff --git a/target/linux/generic/hack-4.19/250-netfilter_depends.patch b/target/linux/generic/hack-4.19/250-netfilter_depends.patch index b29ca5190e..cb744bd8ab 100644 --- a/target/linux/generic/hack-4.19/250-netfilter_depends.patch +++ b/target/linux/generic/hack-4.19/250-netfilter_depends.patch @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau depends on NETFILTER_ADVANCED help H.323 is a VoIP signalling protocol from ITU-T. As one of the most -@@ -1076,7 +1075,6 @@ config NETFILTER_XT_TARGET_SECMARK +@@ -1077,7 +1076,6 @@ config NETFILTER_XT_TARGET_SECMARK config NETFILTER_XT_TARGET_TCPMSS tristate '"TCPMSS" target support' diff --git a/target/linux/generic/pending-4.19/530-jffs2_make_lzma_available.patch b/target/linux/generic/pending-4.19/530-jffs2_make_lzma_available.patch index f0b4bdf036..625967342e 100644 --- a/target/linux/generic/pending-4.19/530-jffs2_make_lzma_available.patch +++ b/target/linux/generic/pending-4.19/530-jffs2_make_lzma_available.patch @@ -244,7 +244,7 @@ Signed-off-by: Alexandros C. Couloumbis +} --- a/fs/jffs2/super.c +++ b/fs/jffs2/super.c -@@ -371,14 +371,41 @@ static int __init init_jffs2_fs(void) +@@ -374,14 +374,41 @@ static int __init init_jffs2_fs(void) BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68); BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32); diff --git a/target/linux/generic/pending-4.19/630-packet_socket_type.patch b/target/linux/generic/pending-4.19/630-packet_socket_type.patch index a0d177586a..333d4f5739 100644 --- a/target/linux/generic/pending-4.19/630-packet_socket_type.patch +++ b/target/linux/generic/pending-4.19/630-packet_socket_type.patch @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3233,6 +3235,7 @@ static int packet_create(struct net *net +@@ -3237,6 +3239,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3844,6 +3847,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3848,6 +3851,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3896,6 +3909,13 @@ static int packet_getsockopt(struct sock +@@ -3900,6 +3913,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 51cc20667c..d727edeb20 100644 --- a/target/linux/generic/pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__refcnt = ATOMIC_INIT(1), -@@ -903,6 +917,7 @@ static const int fib6_prop[RTN_MAX + 1] +@@ -900,6 +914,7 @@ static const int fib6_prop[RTN_MAX + 1] [RTN_BLACKHOLE] = -EINVAL, [RTN_UNREACHABLE] = -EHOSTUNREACH, [RTN_PROHIBIT] = -EACCES, @@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski [RTN_THROW] = -EAGAIN, [RTN_NAT] = -EINVAL, [RTN_XRESOLVE] = -EINVAL, -@@ -940,6 +955,10 @@ static void ip6_rt_init_dst_reject(struc +@@ -937,6 +952,10 @@ static void ip6_rt_init_dst_reject(struc rt->dst.output = ip6_pkt_prohibit_out; rt->dst.input = ip6_pkt_prohibit; break; @@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski case RTN_THROW: case RTN_UNREACHABLE: default: -@@ -3769,6 +3788,17 @@ static int ip6_pkt_prohibit_out(struct n +@@ -3758,6 +3777,17 @@ static int ip6_pkt_prohibit_out(struct n return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -4216,7 +4246,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -4205,7 +4235,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -5060,6 +5091,8 @@ static int ip6_route_dev_notify(struct n +@@ -5053,6 +5084,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -5071,6 +5104,7 @@ static int ip6_route_dev_notify(struct n +@@ -5064,6 +5097,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -5265,6 +5299,15 @@ static int __net_init ip6_route_net_init +@@ -5258,6 +5292,15 @@ static int __net_init ip6_route_net_init net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); @@ -218,7 +218,7 @@ Signed-off-by: Jonas Gorski #endif net->ipv6.sysctl.flush_delay = 0; -@@ -5283,6 +5326,8 @@ out: +@@ -5276,6 +5319,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -227,7 +227,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -5303,6 +5348,7 @@ static void __net_exit ip6_route_net_exi +@@ -5296,6 +5341,7 @@ static void __net_exit ip6_route_net_exi #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_blk_hole_entry); @@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); } -@@ -5379,6 +5425,9 @@ void __init ip6_route_init_special_entri +@@ -5372,6 +5418,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); -- cgit v1.2.3