From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org,
syzbot <syzbot+355f8edb2ff45d5f95fa@syzkaller.appspotmail.com>,
syzbot <syzbot+0f1827363a305f74996f@syzkaller.appspotmail.com>,
Kirill Tkhai <ktkhai@virtuozzo.com>,
Oliver Hartkopp <socketcan@hartkopp.net>,
Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
Marc Kleine-Budde <mkl@pengutronix.de>
Subject: [PATCH 5.10 099/146] can: bcm/raw/isotp: use per module netdevice notifier
Date: Mon, 21 Jun 2021 18:15:29 +0200 [thread overview]
Message-ID: <20210621154917.491920656@linuxfoundation.org> (raw)
In-Reply-To: <20210621154911.244649123@linuxfoundation.org>
From: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
commit 8d0caedb759683041d9db82069937525999ada53 upstream.
syzbot is reporting hung task at register_netdevice_notifier() [1] and
unregister_netdevice_notifier() [2], for cleanup_net() might perform
time consuming operations while CAN driver's raw/bcm/isotp modules are
calling {register,unregister}_netdevice_notifier() on each socket.
Change raw/bcm/isotp modules to call register_netdevice_notifier() from
module's __init function and call unregister_netdevice_notifier() from
module's __exit function, as with gw/j1939 modules are doing.
Link: https://syzkaller.appspot.com/bug?id=391b9498827788b3cc6830226d4ff5be87107c30 [1]
Link: https://syzkaller.appspot.com/bug?id=1724d278c83ca6e6df100a2e320c10d991cf2bce [2]
Link: https://lore.kernel.org/r/54a5f451-05ed-f977-8534-79e7aa2bcc8f@i-love.sakura.ne.jp
Cc: linux-stable <stable@vger.kernel.org>
Reported-by: syzbot <syzbot+355f8edb2ff45d5f95fa@syzkaller.appspotmail.com>
Reported-by: syzbot <syzbot+0f1827363a305f74996f@syzkaller.appspotmail.com>
Reviewed-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Tested-by: syzbot <syzbot+355f8edb2ff45d5f95fa@syzkaller.appspotmail.com>
Tested-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/can/bcm.c | 59 +++++++++++++++++++++++++++++++++++++++++------------
net/can/isotp.c | 61 +++++++++++++++++++++++++++++++++++++++++++------------
net/can/raw.c | 62 +++++++++++++++++++++++++++++++++++++++++++-------------
3 files changed, 142 insertions(+), 40 deletions(-)
--- a/net/can/bcm.c
+++ b/net/can/bcm.c
@@ -125,7 +125,7 @@ struct bcm_sock {
struct sock sk;
int bound;
int ifindex;
- struct notifier_block notifier;
+ struct list_head notifier;
struct list_head rx_ops;
struct list_head tx_ops;
unsigned long dropped_usr_msgs;
@@ -133,6 +133,10 @@ struct bcm_sock {
char procname [32]; /* inode number in decimal with \0 */
};
+static LIST_HEAD(bcm_notifier_list);
+static DEFINE_SPINLOCK(bcm_notifier_lock);
+static struct bcm_sock *bcm_busy_notifier;
+
static inline struct bcm_sock *bcm_sk(const struct sock *sk)
{
return (struct bcm_sock *)sk;
@@ -1381,20 +1385,15 @@ static int bcm_sendmsg(struct socket *so
/*
* notification handler for netdevice status changes
*/
-static int bcm_notifier(struct notifier_block *nb, unsigned long msg,
- void *ptr)
+static void bcm_notify(struct bcm_sock *bo, unsigned long msg,
+ struct net_device *dev)
{
- struct net_device *dev = netdev_notifier_info_to_dev(ptr);
- struct bcm_sock *bo = container_of(nb, struct bcm_sock, notifier);
struct sock *sk = &bo->sk;
struct bcm_op *op;
int notify_enodev = 0;
if (!net_eq(dev_net(dev), sock_net(sk)))
- return NOTIFY_DONE;
-
- if (dev->type != ARPHRD_CAN)
- return NOTIFY_DONE;
+ return;
switch (msg) {
@@ -1429,7 +1428,28 @@ static int bcm_notifier(struct notifier_
sk->sk_error_report(sk);
}
}
+}
+static int bcm_notifier(struct notifier_block *nb, unsigned long msg,
+ void *ptr)
+{
+ struct net_device *dev = netdev_notifier_info_to_dev(ptr);
+
+ if (dev->type != ARPHRD_CAN)
+ return NOTIFY_DONE;
+ if (msg != NETDEV_UNREGISTER && msg != NETDEV_DOWN)
+ return NOTIFY_DONE;
+ if (unlikely(bcm_busy_notifier)) /* Check for reentrant bug. */
+ return NOTIFY_DONE;
+
+ spin_lock(&bcm_notifier_lock);
+ list_for_each_entry(bcm_busy_notifier, &bcm_notifier_list, notifier) {
+ spin_unlock(&bcm_notifier_lock);
+ bcm_notify(bcm_busy_notifier, msg, dev);
+ spin_lock(&bcm_notifier_lock);
+ }
+ bcm_busy_notifier = NULL;
+ spin_unlock(&bcm_notifier_lock);
return NOTIFY_DONE;
}
@@ -1449,9 +1469,9 @@ static int bcm_init(struct sock *sk)
INIT_LIST_HEAD(&bo->rx_ops);
/* set notifier */
- bo->notifier.notifier_call = bcm_notifier;
-
- register_netdevice_notifier(&bo->notifier);
+ spin_lock(&bcm_notifier_lock);
+ list_add_tail(&bo->notifier, &bcm_notifier_list);
+ spin_unlock(&bcm_notifier_lock);
return 0;
}
@@ -1474,7 +1494,14 @@ static int bcm_release(struct socket *so
/* remove bcm_ops, timer, rx_unregister(), etc. */
- unregister_netdevice_notifier(&bo->notifier);
+ spin_lock(&bcm_notifier_lock);
+ while (bcm_busy_notifier == bo) {
+ spin_unlock(&bcm_notifier_lock);
+ schedule_timeout_uninterruptible(1);
+ spin_lock(&bcm_notifier_lock);
+ }
+ list_del(&bo->notifier);
+ spin_unlock(&bcm_notifier_lock);
lock_sock(sk);
@@ -1695,6 +1722,10 @@ static struct pernet_operations canbcm_p
.exit = canbcm_pernet_exit,
};
+static struct notifier_block canbcm_notifier = {
+ .notifier_call = bcm_notifier
+};
+
static int __init bcm_module_init(void)
{
int err;
@@ -1708,12 +1739,14 @@ static int __init bcm_module_init(void)
}
register_pernet_subsys(&canbcm_pernet_ops);
+ register_netdevice_notifier(&canbcm_notifier);
return 0;
}
static void __exit bcm_module_exit(void)
{
can_proto_unregister(&bcm_can_proto);
+ unregister_netdevice_notifier(&canbcm_notifier);
unregister_pernet_subsys(&canbcm_pernet_ops);
}
--- a/net/can/isotp.c
+++ b/net/can/isotp.c
@@ -143,10 +143,14 @@ struct isotp_sock {
u32 force_tx_stmin;
u32 force_rx_stmin;
struct tpcon rx, tx;
- struct notifier_block notifier;
+ struct list_head notifier;
wait_queue_head_t wait;
};
+static LIST_HEAD(isotp_notifier_list);
+static DEFINE_SPINLOCK(isotp_notifier_lock);
+static struct isotp_sock *isotp_busy_notifier;
+
static inline struct isotp_sock *isotp_sk(const struct sock *sk)
{
return (struct isotp_sock *)sk;
@@ -1008,7 +1012,14 @@ static int isotp_release(struct socket *
/* wait for complete transmission of current pdu */
wait_event_interruptible(so->wait, so->tx.state == ISOTP_IDLE);
- unregister_netdevice_notifier(&so->notifier);
+ spin_lock(&isotp_notifier_lock);
+ while (isotp_busy_notifier == so) {
+ spin_unlock(&isotp_notifier_lock);
+ schedule_timeout_uninterruptible(1);
+ spin_lock(&isotp_notifier_lock);
+ }
+ list_del(&so->notifier);
+ spin_unlock(&isotp_notifier_lock);
lock_sock(sk);
@@ -1284,21 +1295,16 @@ static int isotp_getsockopt(struct socke
return 0;
}
-static int isotp_notifier(struct notifier_block *nb, unsigned long msg,
- void *ptr)
+static void isotp_notify(struct isotp_sock *so, unsigned long msg,
+ struct net_device *dev)
{
- struct net_device *dev = netdev_notifier_info_to_dev(ptr);
- struct isotp_sock *so = container_of(nb, struct isotp_sock, notifier);
struct sock *sk = &so->sk;
if (!net_eq(dev_net(dev), sock_net(sk)))
- return NOTIFY_DONE;
-
- if (dev->type != ARPHRD_CAN)
- return NOTIFY_DONE;
+ return;
if (so->ifindex != dev->ifindex)
- return NOTIFY_DONE;
+ return;
switch (msg) {
case NETDEV_UNREGISTER:
@@ -1324,7 +1330,28 @@ static int isotp_notifier(struct notifie
sk->sk_error_report(sk);
break;
}
+}
+static int isotp_notifier(struct notifier_block *nb, unsigned long msg,
+ void *ptr)
+{
+ struct net_device *dev = netdev_notifier_info_to_dev(ptr);
+
+ if (dev->type != ARPHRD_CAN)
+ return NOTIFY_DONE;
+ if (msg != NETDEV_UNREGISTER && msg != NETDEV_DOWN)
+ return NOTIFY_DONE;
+ if (unlikely(isotp_busy_notifier)) /* Check for reentrant bug. */
+ return NOTIFY_DONE;
+
+ spin_lock(&isotp_notifier_lock);
+ list_for_each_entry(isotp_busy_notifier, &isotp_notifier_list, notifier) {
+ spin_unlock(&isotp_notifier_lock);
+ isotp_notify(isotp_busy_notifier, msg, dev);
+ spin_lock(&isotp_notifier_lock);
+ }
+ isotp_busy_notifier = NULL;
+ spin_unlock(&isotp_notifier_lock);
return NOTIFY_DONE;
}
@@ -1361,8 +1388,9 @@ static int isotp_init(struct sock *sk)
init_waitqueue_head(&so->wait);
- so->notifier.notifier_call = isotp_notifier;
- register_netdevice_notifier(&so->notifier);
+ spin_lock(&isotp_notifier_lock);
+ list_add_tail(&so->notifier, &isotp_notifier_list);
+ spin_unlock(&isotp_notifier_lock);
return 0;
}
@@ -1409,6 +1437,10 @@ static const struct can_proto isotp_can_
.prot = &isotp_proto,
};
+static struct notifier_block canisotp_notifier = {
+ .notifier_call = isotp_notifier
+};
+
static __init int isotp_module_init(void)
{
int err;
@@ -1418,6 +1450,8 @@ static __init int isotp_module_init(void
err = can_proto_register(&isotp_can_proto);
if (err < 0)
pr_err("can: registration of isotp protocol failed\n");
+ else
+ register_netdevice_notifier(&canisotp_notifier);
return err;
}
@@ -1425,6 +1459,7 @@ static __init int isotp_module_init(void
static __exit void isotp_module_exit(void)
{
can_proto_unregister(&isotp_can_proto);
+ unregister_netdevice_notifier(&canisotp_notifier);
}
module_init(isotp_module_init);
--- a/net/can/raw.c
+++ b/net/can/raw.c
@@ -83,7 +83,7 @@ struct raw_sock {
struct sock sk;
int bound;
int ifindex;
- struct notifier_block notifier;
+ struct list_head notifier;
int loopback;
int recv_own_msgs;
int fd_frames;
@@ -95,6 +95,10 @@ struct raw_sock {
struct uniqframe __percpu *uniq;
};
+static LIST_HEAD(raw_notifier_list);
+static DEFINE_SPINLOCK(raw_notifier_lock);
+static struct raw_sock *raw_busy_notifier;
+
/* Return pointer to store the extra msg flags for raw_recvmsg().
* We use the space of one unsigned int beyond the 'struct sockaddr_can'
* in skb->cb.
@@ -263,21 +267,16 @@ static int raw_enable_allfilters(struct
return err;
}
-static int raw_notifier(struct notifier_block *nb,
- unsigned long msg, void *ptr)
+static void raw_notify(struct raw_sock *ro, unsigned long msg,
+ struct net_device *dev)
{
- struct net_device *dev = netdev_notifier_info_to_dev(ptr);
- struct raw_sock *ro = container_of(nb, struct raw_sock, notifier);
struct sock *sk = &ro->sk;
if (!net_eq(dev_net(dev), sock_net(sk)))
- return NOTIFY_DONE;
-
- if (dev->type != ARPHRD_CAN)
- return NOTIFY_DONE;
+ return;
if (ro->ifindex != dev->ifindex)
- return NOTIFY_DONE;
+ return;
switch (msg) {
case NETDEV_UNREGISTER:
@@ -305,7 +304,28 @@ static int raw_notifier(struct notifier_
sk->sk_error_report(sk);
break;
}
+}
+
+static int raw_notifier(struct notifier_block *nb, unsigned long msg,
+ void *ptr)
+{
+ struct net_device *dev = netdev_notifier_info_to_dev(ptr);
+
+ if (dev->type != ARPHRD_CAN)
+ return NOTIFY_DONE;
+ if (msg != NETDEV_UNREGISTER && msg != NETDEV_DOWN)
+ return NOTIFY_DONE;
+ if (unlikely(raw_busy_notifier)) /* Check for reentrant bug. */
+ return NOTIFY_DONE;
+ spin_lock(&raw_notifier_lock);
+ list_for_each_entry(raw_busy_notifier, &raw_notifier_list, notifier) {
+ spin_unlock(&raw_notifier_lock);
+ raw_notify(raw_busy_notifier, msg, dev);
+ spin_lock(&raw_notifier_lock);
+ }
+ raw_busy_notifier = NULL;
+ spin_unlock(&raw_notifier_lock);
return NOTIFY_DONE;
}
@@ -334,9 +354,9 @@ static int raw_init(struct sock *sk)
return -ENOMEM;
/* set notifier */
- ro->notifier.notifier_call = raw_notifier;
-
- register_netdevice_notifier(&ro->notifier);
+ spin_lock(&raw_notifier_lock);
+ list_add_tail(&ro->notifier, &raw_notifier_list);
+ spin_unlock(&raw_notifier_lock);
return 0;
}
@@ -351,7 +371,14 @@ static int raw_release(struct socket *so
ro = raw_sk(sk);
- unregister_netdevice_notifier(&ro->notifier);
+ spin_lock(&raw_notifier_lock);
+ while (raw_busy_notifier == ro) {
+ spin_unlock(&raw_notifier_lock);
+ schedule_timeout_uninterruptible(1);
+ spin_lock(&raw_notifier_lock);
+ }
+ list_del(&ro->notifier);
+ spin_unlock(&raw_notifier_lock);
lock_sock(sk);
@@ -881,6 +908,10 @@ static const struct can_proto raw_can_pr
.prot = &raw_proto,
};
+static struct notifier_block canraw_notifier = {
+ .notifier_call = raw_notifier
+};
+
static __init int raw_module_init(void)
{
int err;
@@ -890,6 +921,8 @@ static __init int raw_module_init(void)
err = can_proto_register(&raw_can_proto);
if (err < 0)
pr_err("can: registration of raw protocol failed\n");
+ else
+ register_netdevice_notifier(&canraw_notifier);
return err;
}
@@ -897,6 +930,7 @@ static __init int raw_module_init(void)
static __exit void raw_module_exit(void)
{
can_proto_unregister(&raw_can_proto);
+ unregister_netdevice_notifier(&canraw_notifier);
}
module_init(raw_module_init);
next prev parent reply other threads:[~2021-06-21 16:31 UTC|newest]
Thread overview: 164+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-21 16:13 [PATCH 5.10 000/146] 5.10.46-rc1 review Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.10 001/146] dmaengine: idxd: add missing dsa driver unregister Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.10 002/146] dmaengine: fsl-dpaa2-qdma: Fix error return code in two functions Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.10 003/146] dmaengine: xilinx: dpdma: initialize registers before request_irq Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.10 004/146] dmaengine: ALTERA_MSGDMA depends on HAS_IOMEM Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.10 005/146] dmaengine: QCOM_HIDMA_MGMT " Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.10 006/146] dmaengine: SF_PDMA " Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.10 007/146] dmaengine: stedma40: add missing iounmap() on error in d40_probe() Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.10 008/146] afs: Fix an IS_ERR() vs NULL check Greg Kroah-Hartman
2021-06-21 16:13 ` [PATCH 5.10 009/146] mm/memory-failure: make sure wait for page writeback in memory_failure Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 010/146] kvm: LAPIC: Restore guard to prevent illegal APIC register access Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 011/146] fanotify: fix copy_event_to_user() fid error clean up Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 012/146] batman-adv: Avoid WARN_ON timing related checks Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 013/146] mac80211: fix skb length check in ieee80211_scan_rx() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 014/146] mlxsw: reg: Spectrum-3: Enforce lowest max-shaper burst size of 11 Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 015/146] mlxsw: core: Set thermal zone polling delay argument to real value at init Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 016/146] libbpf: Fixes incorrect rx_ring_setup_done Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 017/146] net: ipv4: fix memory leak in netlbl_cipsov4_add_std Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 018/146] vrf: fix maximum MTU Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 019/146] net: rds: fix memory leak in rds_recvmsg Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 020/146] net: dsa: felix: re-enable TX flow control in ocelot_port_flush() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 021/146] net: lantiq: disable interrupt before sheduling NAPI Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 022/146] netfilter: nft_fib_ipv6: skip ipv6 packets from any to link-local Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 023/146] ice: add ndo_bpf callback for safe mode netdev ops Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 024/146] ice: parameterize functions responsible for Tx ring management Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 025/146] udp: fix race between close() and udp_abort() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 026/146] rtnetlink: Fix regression in bridge VLAN configuration Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 027/146] net/sched: act_ct: handle DNAT tuple collision Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 028/146] net/mlx5e: Remove dependency in IPsec initialization flows Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 029/146] net/mlx5e: Fix page reclaim for dead peer hairpin Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 030/146] net/mlx5: Consider RoCE cap before init RDMA resources Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 031/146] net/mlx5: DR, Allow SW steering for sw_owner_v2 devices Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 032/146] net/mlx5: DR, Dont use SW steering when RoCE is not supported Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 033/146] net/mlx5e: Block offload of outer header csum for UDP tunnels Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 034/146] netfilter: synproxy: Fix out of bounds when parsing TCP options Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 035/146] mptcp: " Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 036/146] sch_cake: Fix out of bounds when parsing TCP options and header Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 037/146] mptcp: try harder to borrow memory from subflow under pressure Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 038/146] mptcp: do not warn on bad input from the network Greg Kroah-Hartman
2021-06-23 14:22 ` Pavel Machek
2021-06-23 16:36 ` Paolo Abeni
2021-06-23 16:45 ` Mat Martineau
2021-06-23 16:53 ` Pavel Machek
2021-06-23 17:19 ` Paolo Abeni
2021-06-21 16:14 ` [PATCH 5.10 039/146] selftests: mptcp: enable syncookie only in absence of reorders Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 040/146] alx: Fix an error handling path in alx_probe() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 041/146] cxgb4: fix endianness when flashing boot image Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 042/146] cxgb4: fix sleep in atomic when flashing PHY firmware Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 043/146] cxgb4: halt chip before flashing PHY firmware image Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 044/146] net: stmmac: dwmac1000: Fix extended MAC address registers definition Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 045/146] net: make get_net_ns return error if NET_NS is disabled Greg Kroah-Hartman
2021-06-23 14:26 ` Pavel Machek
2021-06-27 8:57 ` Changbin Du
2021-06-21 16:14 ` [PATCH 5.10 046/146] net: qualcomm: rmnet: Update rmnet device MTU based on real device Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 047/146] net: qualcomm: rmnet: dont over-count statistics Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 048/146] ethtool: strset: fix message length calculation Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 049/146] qlcnic: Fix an error handling path in qlcnic_probe() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 050/146] netxen_nic: Fix an error handling path in netxen_nic_probe() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 051/146] cxgb4: fix wrong ethtool n-tuple rule lookup Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 052/146] ipv4: Fix device used for dst_alloc with local routes Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 053/146] net: qrtr: fix OOB Read in qrtr_endpoint_post Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 054/146] bpf: Fix leakage under speculation on mispredicted branches Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 055/146] ptp: improve max_adj check against unreasonable values Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 056/146] net: cdc_ncm: switch to eth%d interface naming Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 057/146] lantiq: net: fix duplicated skb in rx descriptor ring Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 058/146] net: usb: fix possible use-after-free in smsc75xx_bind Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 059/146] net: fec_ptp: fix issue caused by refactor the fec_devtype Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 060/146] net: ipv4: fix memory leak in ip_mc_add1_src Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 061/146] net/af_unix: fix a data-race in unix_dgram_sendmsg / unix_release_sock Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 062/146] net/mlx5: E-Switch, Read PF mac address Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 063/146] net/mlx5: E-Switch, Allow setting GUID for host PF vport Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 064/146] net/mlx5: Reset mkey index on creation Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 065/146] be2net: Fix an error handling path in be_probe() Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 066/146] net: hamradio: fix memory leak in mkiss_close Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 067/146] net: cdc_eem: fix tx fixup skb leak Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 068/146] cxgb4: fix wrong shift Greg Kroah-Hartman
2021-06-21 16:14 ` [PATCH 5.10 069/146] bnxt_en: Rediscover PHY capabilities after firmware reset Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 070/146] bnxt_en: Fix TQM fastpath ring backing store computation Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 071/146] bnxt_en: Call bnxt_ethtool_free() in bnxt_init_one() error path Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 072/146] icmp: dont send out ICMP messages with a source address of 0.0.0.0 Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 073/146] net: ethernet: fix potential use-after-free in ec_bhf_remove Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 074/146] regulator: cros-ec: Fix error code in dev_err message Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 075/146] regulator: max77620: Silence deferred probe error Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 076/146] regulator: bd70528: Fix off-by-one for buck123 .n_voltages setting Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 077/146] platform/x86: thinkpad_acpi: Add X1 Carbon Gen 9 second fan support Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 078/146] ASoC: rt5659: Fix the lost powers for the HDA header Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 079/146] phy: phy-mtk-tphy: Fix some resource leaks in mtk_phy_init() Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 080/146] ASoC: fsl-asoc-card: Set .owner attribute when registering card Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 081/146] regulator: rtmv20: Fix to make regcache value first reading back from HW Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 082/146] spi: spi-zynq-qspi: Fix some wrong goto jumps & missing error code Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 083/146] sched/pelt: Ensure that *_sum is always synced with *_avg Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 084/146] ASoC: tas2562: Fix TDM_CFG0_SAMPRATE values Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 085/146] spi: stm32-qspi: Always wait BUSY bit to be cleared in stm32_qspi_wait_cmd() Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 086/146] regulator: rt4801: Fix NULL pointer dereference if priv->enable_gpios is NULL Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 087/146] ASoC: rt5682: Fix the fast discharge for headset unplugging in soundwire mode Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 088/146] pinctrl: ralink: rt2880: avoid to error in calls is pin is already enabled Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 089/146] drm/sun4i: dw-hdmi: Make HDMI PHY into a platform device Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 090/146] ASoC: qcom: lpass-cpu: Fix pop noise during audio capture begin Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 091/146] radeon: use memcpy_to/fromio for UVD fw upload Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 092/146] hwmon: (scpi-hwmon) shows the negative temperature properly Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 093/146] mm: relocate write_protect_seq in struct mm_struct Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 094/146] irqchip/gic-v3: Workaround inconsistent PMR setting on NMI entry Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 095/146] sched/fair: Correctly insert cfs_rqs to list on unthrottle Greg Kroah-Hartman
2021-06-21 16:57 ` Peter Zijlstra
2021-06-22 10:14 ` Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 096/146] bpf: Inherit expanded/patched seen count from old aux data Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 097/146] bpf: Do not mark insn as seen under speculative path verification Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 098/146] can: bcm: fix infoleak in struct bcm_msg_head Greg Kroah-Hartman
2021-06-21 16:15 ` Greg Kroah-Hartman [this message]
2021-06-21 16:15 ` [PATCH 5.10 100/146] can: j1939: fix Use-after-Free, hold skb ref while in use Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 101/146] can: mcba_usb: fix memory leak in mcba_usb Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 102/146] usb: core: hub: Disable autosuspend for Cypress CY7C65632 Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 103/146] usb: chipidea: imx: Fix Battery Charger 1.2 CDP detection Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 104/146] tracing: Do not stop recording cmdlines when tracing is off Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 105/146] tracing: Do not stop recording comms if the trace file is being read Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 106/146] tracing: Do no increment trace_clock_global() by one Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 107/146] PCI: Mark TI C667X to avoid bus reset Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 108/146] PCI: Mark some NVIDIA GPUs " Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 109/146] PCI: aardvark: Fix kernel panic during PIO transfer Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 110/146] PCI: Add ACS quirk for Broadcom BCM57414 NIC Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 111/146] PCI: Work around Huawei Intelligent NIC VF FLR erratum Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 112/146] KVM: x86: Immediately reset the MMU context when the SMM flag is cleared Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 113/146] KVM: x86/mmu: Calculate and check "full" mmu_role for nested MMU Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 114/146] KVM: X86: Fix x86_emulator slab cache leak Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 115/146] s390/mcck: fix calculation of SIE critical section size Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 116/146] s390/ap: Fix hanging ioctl caused by wrong msg counter Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 117/146] ARCv2: save ABI registers across signal handling Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 118/146] x86/mm: Avoid truncating memblocks for SGX memory Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 119/146] x86/process: Check PF_KTHREAD and not current->mm for kernel threads Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 120/146] x86/ioremap: Map EFI-reserved memory as encrypted for SEV Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 121/146] x86/pkru: Write hardware init value to PKRU when xstate is init Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 122/146] x86/fpu: Prevent state corruption in __fpu__restore_sig() Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 123/146] x86/fpu: Invalidate FPU state after a failed XRSTOR from a user buffer Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 124/146] x86/fpu: Reset state for all signal restore failures Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 125/146] crash_core, vmcoreinfo: append SECTION_SIZE_BITS to vmcoreinfo Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 126/146] dmaengine: pl330: fix wrong usage of spinlock flags in dma_cyclc Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 127/146] mac80211: Fix NULL ptr deref for injected rate info Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 128/146] cfg80211: make certificate generation more robust Greg Kroah-Hartman
2021-06-21 16:15 ` [PATCH 5.10 129/146] cfg80211: avoid double free of PMSR request Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 130/146] drm/amdgpu/gfx10: enlarge CP_MEC_DOORBELL_RANGE_UPPER to cover full doorbell Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 131/146] drm/amdgpu/gfx9: fix the doorbell missing when in CGPG issue Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 132/146] net: ll_temac: Make sure to free skb when it is completely used Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 133/146] net: ll_temac: Fix TX BD buffer overwrite Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 134/146] net: bridge: fix vlan tunnel dst null pointer dereference Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 135/146] net: bridge: fix vlan tunnel dst refcnt when egressing Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 136/146] mm/swap: fix pte_same_as_swp() not removing uffd-wp bit when compare Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 137/146] mm/slub: clarify verification reporting Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 138/146] mm/slub: fix redzoning for small allocations Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 139/146] mm/slub: actually fix freelist pointer vs redzoning Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 140/146] mm/slub.c: include swab.h Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 141/146] net: stmmac: disable clocks in stmmac_remove_config_dt() Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 142/146] net: fec_ptp: add clock rate zero check Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 143/146] tools headers UAPI: Sync linux/in.h copy with the kernel sources Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 144/146] perf beauty: Update copy of linux/socket.h " Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 145/146] usb: dwc3: debugfs: Add and remove endpoint dirs dynamically Greg Kroah-Hartman
2021-06-21 16:16 ` [PATCH 5.10 146/146] usb: dwc3: core: fix kernel panic when do reboot Greg Kroah-Hartman
2021-06-21 19:26 ` [PATCH 5.10 000/146] 5.10.46-rc1 review Florian Fainelli
2021-06-22 2:24 ` Naresh Kamboju
2021-06-22 8:02 ` Pavel Machek
2021-06-22 10:47 ` Sudip Mukherjee
2021-06-22 21:34 ` Guenter Roeck
2021-06-22 23:58 ` Shuah Khan
2021-06-23 0:50 ` Samuel Zou
2021-06-23 1:56 ` Rudi Heitbaum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210621154917.491920656@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=ktkhai@virtuozzo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=penguin-kernel@I-love.SAKURA.ne.jp \
--cc=socketcan@hartkopp.net \
--cc=stable@vger.kernel.org \
--cc=syzbot+0f1827363a305f74996f@syzkaller.appspotmail.com \
--cc=syzbot+355f8edb2ff45d5f95fa@syzkaller.appspotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox