mirror of
https://github.com/openwrt/openwrt.git
synced 2025-04-11 13:21:36 +00:00
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 <koen.vandeputte@ncentric.com>
This commit is contained in:
parent
09050b6fe2
commit
86fd8cb435
include
target/linux
apm821xx/patches-4.19
ath79/patches-4.19
cns3xxx/patches-4.19
generic
backport-4.19
060-v5.1-serial-ar933x_uart-Fix-build-failure-with-disabled-c.patch400-v5.2-leds-trigger-netdev-fix-refcnt-leak-on-interface-ren.patch
hack-4.19
pending-4.19
@ -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)))))))
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
#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);
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
#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);
|
||||
}
|
||||
|
@ -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.
|
||||
|
||||
|
@ -1,94 +0,0 @@
|
||||
From 72ff51d8dd262d1fef25baedc2ac35116435be47 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
|
||||
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 <gregkh@linuxfoundation.org>
|
||||
Cc: Jiri Slaby <jslaby@suse.com>
|
||||
Cc: Andrey Batyiev <batyiev@gmail.com>
|
||||
Reported-by: Andrey Batyiev <batyiev@gmail.com>
|
||||
Tested-by: Andrey Batyiev <batyiev@gmail.com>
|
||||
Signed-off-by: Petr Štetiar <ynezz@true.cz>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
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)
|
@ -1,69 +0,0 @@
|
||||
From dd7590a3ab3f0804ed5e930295e2caa5979e3958 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
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 <rafal@milecki.pl>
|
||||
Acked-by: Pavel Machek <pavel@ucw.cz>
|
||||
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
|
||||
---
|
||||
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:
|
@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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'
|
||||
|
@ -244,7 +244,7 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com>
|
||||
+}
|
||||
--- 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);
|
||||
|
||||
|
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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 <nbd@nbd.name>
|
||||
|
||||
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 <nbd@nbd.name>
|
||||
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;
|
||||
|
20
target/linux/generic/pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
20
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 <jogo@openwrt.org>
|
||||
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 <jogo@openwrt.org>
|
||||
[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 <jogo@openwrt.org>
|
||||
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 <jogo@openwrt.org>
|
||||
/*
|
||||
* 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 <jogo@openwrt.org>
|
||||
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 <jogo@openwrt.org>
|
||||
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 <jogo@openwrt.org>
|
||||
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 <jogo@openwrt.org>
|
||||
#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 <jogo@openwrt.org>
|
||||
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 <jogo@openwrt.org>
|
||||
#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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user