public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Eric Dumazet <edumazet@google.com>,
	Vlad Buslov <vladbu@mellanox.com>,
	syzbot <syzkaller@googlegroups.com>,
	Jamal Hadi Salim <jhs@mojatatu.com>,
	Cong Wang <xiyou.wangcong@gmail.com>,
	Jiri Pirko <jiri@resnulli.us>,
	"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 5.10 063/121] net_sched: add __rcu annotation to netdev->qdisc
Date: Mon, 21 Feb 2022 09:49:15 +0100	[thread overview]
Message-ID: <20220221084923.339519479@linuxfoundation.org> (raw)
In-Reply-To: <20220221084921.147454846@linuxfoundation.org>

From: Eric Dumazet <edumazet@google.com>

commit 5891cd5ec46c2c2eb6427cb54d214b149635dd0e upstream.

syzbot found a data-race [1] which lead me to add __rcu
annotations to netdev->qdisc, and proper accessors
to get LOCKDEP support.

[1]
BUG: KCSAN: data-race in dev_activate / qdisc_lookup_rcu

write to 0xffff888168ad6410 of 8 bytes by task 13559 on cpu 1:
 attach_default_qdiscs net/sched/sch_generic.c:1167 [inline]
 dev_activate+0x2ed/0x8f0 net/sched/sch_generic.c:1221
 __dev_open+0x2e9/0x3a0 net/core/dev.c:1416
 __dev_change_flags+0x167/0x3f0 net/core/dev.c:8139
 rtnl_configure_link+0xc2/0x150 net/core/rtnetlink.c:3150
 __rtnl_newlink net/core/rtnetlink.c:3489 [inline]
 rtnl_newlink+0xf4d/0x13e0 net/core/rtnetlink.c:3529
 rtnetlink_rcv_msg+0x745/0x7e0 net/core/rtnetlink.c:5594
 netlink_rcv_skb+0x14e/0x250 net/netlink/af_netlink.c:2494
 rtnetlink_rcv+0x18/0x20 net/core/rtnetlink.c:5612
 netlink_unicast_kernel net/netlink/af_netlink.c:1317 [inline]
 netlink_unicast+0x602/0x6d0 net/netlink/af_netlink.c:1343
 netlink_sendmsg+0x728/0x850 net/netlink/af_netlink.c:1919
 sock_sendmsg_nosec net/socket.c:705 [inline]
 sock_sendmsg net/socket.c:725 [inline]
 ____sys_sendmsg+0x39a/0x510 net/socket.c:2413
 ___sys_sendmsg net/socket.c:2467 [inline]
 __sys_sendmsg+0x195/0x230 net/socket.c:2496
 __do_sys_sendmsg net/socket.c:2505 [inline]
 __se_sys_sendmsg net/socket.c:2503 [inline]
 __x64_sys_sendmsg+0x42/0x50 net/socket.c:2503
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae

read to 0xffff888168ad6410 of 8 bytes by task 13560 on cpu 0:
 qdisc_lookup_rcu+0x30/0x2e0 net/sched/sch_api.c:323
 __tcf_qdisc_find+0x74/0x3a0 net/sched/cls_api.c:1050
 tc_del_tfilter+0x1c7/0x1350 net/sched/cls_api.c:2211
 rtnetlink_rcv_msg+0x5ba/0x7e0 net/core/rtnetlink.c:5585
 netlink_rcv_skb+0x14e/0x250 net/netlink/af_netlink.c:2494
 rtnetlink_rcv+0x18/0x20 net/core/rtnetlink.c:5612
 netlink_unicast_kernel net/netlink/af_netlink.c:1317 [inline]
 netlink_unicast+0x602/0x6d0 net/netlink/af_netlink.c:1343
 netlink_sendmsg+0x728/0x850 net/netlink/af_netlink.c:1919
 sock_sendmsg_nosec net/socket.c:705 [inline]
 sock_sendmsg net/socket.c:725 [inline]
 ____sys_sendmsg+0x39a/0x510 net/socket.c:2413
 ___sys_sendmsg net/socket.c:2467 [inline]
 __sys_sendmsg+0x195/0x230 net/socket.c:2496
 __do_sys_sendmsg net/socket.c:2505 [inline]
 __se_sys_sendmsg net/socket.c:2503 [inline]
 __x64_sys_sendmsg+0x42/0x50 net/socket.c:2503
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae

value changed: 0xffffffff85dee080 -> 0xffff88815d96ec00

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 13560 Comm: syz-executor.2 Not tainted 5.17.0-rc3-syzkaller-00116-gf1baf68e1383-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011

Fixes: 470502de5bdb ("net: sched: unlock rules update API")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Vlad Buslov <vladbu@mellanox.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Cong Wang <xiyou.wangcong@gmail.com>
Cc: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/linux/netdevice.h |    2 +-
 net/core/rtnetlink.c      |    6 ++++--
 net/sched/cls_api.c       |    6 +++---
 net/sched/sch_api.c       |   22 ++++++++++++----------
 net/sched/sch_generic.c   |   29 ++++++++++++++++-------------
 5 files changed, 36 insertions(+), 29 deletions(-)

--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -2061,7 +2061,7 @@ struct net_device {
 	struct netdev_queue	*_tx ____cacheline_aligned_in_smp;
 	unsigned int		num_tx_queues;
 	unsigned int		real_num_tx_queues;
-	struct Qdisc		*qdisc;
+	struct Qdisc __rcu	*qdisc;
 	unsigned int		tx_queue_len;
 	spinlock_t		tx_global_lock;
 
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -1705,6 +1705,7 @@ static int rtnl_fill_ifinfo(struct sk_bu
 {
 	struct ifinfomsg *ifm;
 	struct nlmsghdr *nlh;
+	struct Qdisc *qdisc;
 
 	ASSERT_RTNL();
 	nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ifm), flags);
@@ -1722,6 +1723,7 @@ static int rtnl_fill_ifinfo(struct sk_bu
 	if (tgt_netnsid >= 0 && nla_put_s32(skb, IFLA_TARGET_NETNSID, tgt_netnsid))
 		goto nla_put_failure;
 
+	qdisc = rtnl_dereference(dev->qdisc);
 	if (nla_put_string(skb, IFLA_IFNAME, dev->name) ||
 	    nla_put_u32(skb, IFLA_TXQLEN, dev->tx_queue_len) ||
 	    nla_put_u8(skb, IFLA_OPERSTATE,
@@ -1740,8 +1742,8 @@ static int rtnl_fill_ifinfo(struct sk_bu
 #endif
 	    put_master_ifindex(skb, dev) ||
 	    nla_put_u8(skb, IFLA_CARRIER, netif_carrier_ok(dev)) ||
-	    (dev->qdisc &&
-	     nla_put_string(skb, IFLA_QDISC, dev->qdisc->ops->id)) ||
+	    (qdisc &&
+	     nla_put_string(skb, IFLA_QDISC, qdisc->ops->id)) ||
 	    nla_put_ifalias(skb, dev) ||
 	    nla_put_u32(skb, IFLA_CARRIER_CHANGES,
 			atomic_read(&dev->carrier_up_count) +
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -1045,7 +1045,7 @@ static int __tcf_qdisc_find(struct net *
 
 	/* Find qdisc */
 	if (!*parent) {
-		*q = dev->qdisc;
+		*q = rcu_dereference(dev->qdisc);
 		*parent = (*q)->handle;
 	} else {
 		*q = qdisc_lookup_rcu(dev, TC_H_MAJ(*parent));
@@ -2591,7 +2591,7 @@ static int tc_dump_tfilter(struct sk_buf
 
 		parent = tcm->tcm_parent;
 		if (!parent)
-			q = dev->qdisc;
+			q = rtnl_dereference(dev->qdisc);
 		else
 			q = qdisc_lookup(dev, TC_H_MAJ(tcm->tcm_parent));
 		if (!q)
@@ -2977,7 +2977,7 @@ static int tc_dump_chain(struct sk_buff
 
 		parent = tcm->tcm_parent;
 		if (!parent) {
-			q = dev->qdisc;
+			q = rtnl_dereference(dev->qdisc);
 			parent = q->handle;
 		} else {
 			q = qdisc_lookup(dev, TC_H_MAJ(tcm->tcm_parent));
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -301,7 +301,7 @@ struct Qdisc *qdisc_lookup(struct net_de
 
 	if (!handle)
 		return NULL;
-	q = qdisc_match_from_root(dev->qdisc, handle);
+	q = qdisc_match_from_root(rtnl_dereference(dev->qdisc), handle);
 	if (q)
 		goto out;
 
@@ -320,7 +320,7 @@ struct Qdisc *qdisc_lookup_rcu(struct ne
 
 	if (!handle)
 		return NULL;
-	q = qdisc_match_from_root(dev->qdisc, handle);
+	q = qdisc_match_from_root(rcu_dereference(dev->qdisc), handle);
 	if (q)
 		goto out;
 
@@ -1082,10 +1082,10 @@ static int qdisc_graft(struct net_device
 skip:
 		if (!ingress) {
 			notify_and_destroy(net, skb, n, classid,
-					   dev->qdisc, new);
+					   rtnl_dereference(dev->qdisc), new);
 			if (new && !new->ops->attach)
 				qdisc_refcount_inc(new);
-			dev->qdisc = new ? : &noop_qdisc;
+			rcu_assign_pointer(dev->qdisc, new ? : &noop_qdisc);
 
 			if (new && new->ops->attach)
 				new->ops->attach(new);
@@ -1460,7 +1460,7 @@ static int tc_get_qdisc(struct sk_buff *
 				q = dev_ingress_queue(dev)->qdisc_sleeping;
 			}
 		} else {
-			q = dev->qdisc;
+			q = rtnl_dereference(dev->qdisc);
 		}
 		if (!q) {
 			NL_SET_ERR_MSG(extack, "Cannot find specified qdisc on specified device");
@@ -1549,7 +1549,7 @@ replay:
 				q = dev_ingress_queue(dev)->qdisc_sleeping;
 			}
 		} else {
-			q = dev->qdisc;
+			q = rtnl_dereference(dev->qdisc);
 		}
 
 		/* It may be default qdisc, ignore it */
@@ -1771,7 +1771,8 @@ static int tc_dump_qdisc(struct sk_buff
 			s_q_idx = 0;
 		q_idx = 0;
 
-		if (tc_dump_qdisc_root(dev->qdisc, skb, cb, &q_idx, s_q_idx,
+		if (tc_dump_qdisc_root(rtnl_dereference(dev->qdisc),
+				       skb, cb, &q_idx, s_q_idx,
 				       true, tca[TCA_DUMP_INVISIBLE]) < 0)
 			goto done;
 
@@ -2047,7 +2048,7 @@ static int tc_ctl_tclass(struct sk_buff
 		} else if (qid1) {
 			qid = qid1;
 		} else if (qid == 0)
-			qid = dev->qdisc->handle;
+			qid = rtnl_dereference(dev->qdisc)->handle;
 
 		/* Now qid is genuine qdisc handle consistent
 		 * both with parent and child.
@@ -2058,7 +2059,7 @@ static int tc_ctl_tclass(struct sk_buff
 			portid = TC_H_MAKE(qid, portid);
 	} else {
 		if (qid == 0)
-			qid = dev->qdisc->handle;
+			qid = rtnl_dereference(dev->qdisc)->handle;
 	}
 
 	/* OK. Locate qdisc */
@@ -2219,7 +2220,8 @@ static int tc_dump_tclass(struct sk_buff
 	s_t = cb->args[0];
 	t = 0;
 
-	if (tc_dump_tclass_root(dev->qdisc, skb, tcm, cb, &t, s_t, true) < 0)
+	if (tc_dump_tclass_root(rtnl_dereference(dev->qdisc),
+				skb, tcm, cb, &t, s_t, true) < 0)
 		goto done;
 
 	dev_queue = dev_ingress_queue(dev);
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -1088,30 +1088,33 @@ static void attach_default_qdiscs(struct
 	if (!netif_is_multiqueue(dev) ||
 	    dev->priv_flags & IFF_NO_QUEUE) {
 		netdev_for_each_tx_queue(dev, attach_one_default_qdisc, NULL);
-		dev->qdisc = txq->qdisc_sleeping;
-		qdisc_refcount_inc(dev->qdisc);
+		qdisc = txq->qdisc_sleeping;
+		rcu_assign_pointer(dev->qdisc, qdisc);
+		qdisc_refcount_inc(qdisc);
 	} else {
 		qdisc = qdisc_create_dflt(txq, &mq_qdisc_ops, TC_H_ROOT, NULL);
 		if (qdisc) {
-			dev->qdisc = qdisc;
+			rcu_assign_pointer(dev->qdisc, qdisc);
 			qdisc->ops->attach(qdisc);
 		}
 	}
+	qdisc = rtnl_dereference(dev->qdisc);
 
 	/* Detect default qdisc setup/init failed and fallback to "noqueue" */
-	if (dev->qdisc == &noop_qdisc) {
+	if (qdisc == &noop_qdisc) {
 		netdev_warn(dev, "default qdisc (%s) fail, fallback to %s\n",
 			    default_qdisc_ops->id, noqueue_qdisc_ops.id);
 		dev->priv_flags |= IFF_NO_QUEUE;
 		netdev_for_each_tx_queue(dev, attach_one_default_qdisc, NULL);
-		dev->qdisc = txq->qdisc_sleeping;
-		qdisc_refcount_inc(dev->qdisc);
+		qdisc = txq->qdisc_sleeping;
+		rcu_assign_pointer(dev->qdisc, qdisc);
+		qdisc_refcount_inc(qdisc);
 		dev->priv_flags ^= IFF_NO_QUEUE;
 	}
 
 #ifdef CONFIG_NET_SCHED
-	if (dev->qdisc != &noop_qdisc)
-		qdisc_hash_add(dev->qdisc, false);
+	if (qdisc != &noop_qdisc)
+		qdisc_hash_add(qdisc, false);
 #endif
 }
 
@@ -1141,7 +1144,7 @@ void dev_activate(struct net_device *dev
 	 * and noqueue_qdisc for virtual interfaces
 	 */
 
-	if (dev->qdisc == &noop_qdisc)
+	if (rtnl_dereference(dev->qdisc) == &noop_qdisc)
 		attach_default_qdiscs(dev);
 
 	if (!netif_carrier_ok(dev))
@@ -1306,7 +1309,7 @@ static int qdisc_change_tx_queue_len(str
 void dev_qdisc_change_real_num_tx(struct net_device *dev,
 				  unsigned int new_real_tx)
 {
-	struct Qdisc *qdisc = dev->qdisc;
+	struct Qdisc *qdisc = rtnl_dereference(dev->qdisc);
 
 	if (qdisc->ops->change_real_num_tx)
 		qdisc->ops->change_real_num_tx(qdisc, new_real_tx);
@@ -1346,7 +1349,7 @@ static void dev_init_scheduler_queue(str
 
 void dev_init_scheduler(struct net_device *dev)
 {
-	dev->qdisc = &noop_qdisc;
+	rcu_assign_pointer(dev->qdisc, &noop_qdisc);
 	netdev_for_each_tx_queue(dev, dev_init_scheduler_queue, &noop_qdisc);
 	if (dev_ingress_queue(dev))
 		dev_init_scheduler_queue(dev, dev_ingress_queue(dev), &noop_qdisc);
@@ -1374,8 +1377,8 @@ void dev_shutdown(struct net_device *dev
 	netdev_for_each_tx_queue(dev, shutdown_scheduler_queue, &noop_qdisc);
 	if (dev_ingress_queue(dev))
 		shutdown_scheduler_queue(dev, dev_ingress_queue(dev), &noop_qdisc);
-	qdisc_put(dev->qdisc);
-	dev->qdisc = &noop_qdisc;
+	qdisc_put(rtnl_dereference(dev->qdisc));
+	rcu_assign_pointer(dev->qdisc, &noop_qdisc);
 
 	WARN_ON(timer_pending(&dev->watchdog_timer));
 }



  parent reply	other threads:[~2022-02-21  9:14 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-21  8:48 [PATCH 5.10 000/121] 5.10.102-rc1 review Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 001/121] drm/nouveau/pmu/gm200-: use alternate falcon reset sequence Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 002/121] mm: memcg: synchronize objcg lists with a dedicated spinlock Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 003/121] rcu: Do not report strict GPs for outgoing CPUs Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 004/121] fget: clarify and improve __fget_files() implementation Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 005/121] fs/proc: task_mmu.c: dont read mapcount for migration entry Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 006/121] can: isotp: prevent race between isotp_bind() and isotp_setsockopt() Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 007/121] can: isotp: add SF_BROADCAST support for functional addressing Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 008/121] scsi: lpfc: Fix mailbox command failure during driver initialization Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 009/121] HID:Add support for UGTABLET WP5540 Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 010/121] Revert "svm: Add warning message for AVIC IPI invalid target" Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 011/121] serial: parisc: GSC: fix build when IOSAPIC is not set Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 012/121] parisc: Drop __init from map_pages declaration Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 013/121] parisc: Fix data TLB miss in sba_unmap_sg Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 014/121] parisc: Fix sglist access in ccio-dma.c Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 015/121] mmc: block: fix read single on recovery logic Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 016/121] mm: dont try to NUMA-migrate COW pages that have other uses Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 017/121] PCI: hv: Fix NUMA node assignment when kernel boots with custom NUMA topology Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 018/121] parisc: Add ioread64_lo_hi() and iowrite64_lo_hi() Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 019/121] btrfs: send: in case of IO error log it Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 020/121] platform/x86: touchscreen_dmi: Add info for the RWC NANOTE P8 AY07J 2-in-1 Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 021/121] platform/x86: ISST: Fix possible circular locking dependency detected Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 022/121] selftests: rtc: Increase test timeout so that all tests run Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 023/121] kselftest: signal all child processes Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 024/121] net: ieee802154: at86rf230: Stop leaking skbs Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 025/121] selftests/zram: Skip max_comp_streams interface on newer kernel Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 026/121] selftests/zram01.sh: Fix compression ratio calculation Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 027/121] selftests/zram: Adapt the situation that /dev/zram0 is being used Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 028/121] selftests: openat2: Print also errno in failure messages Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 029/121] selftests: openat2: Add missing dependency in Makefile Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 030/121] selftests: openat2: Skip testcases that fail with EOPNOTSUPP Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 031/121] selftests: skip mincore.check_file_mmap when fs lacks needed support Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 032/121] ax25: improve the incomplete fix to avoid UAF and NPD bugs Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 033/121] vfs: make freeze_super abort when sync_filesystem returns error Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 034/121] quota: make dquot_quota_sync return errors from ->sync_fs Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 035/121] scsi: pm8001: Fix use-after-free for aborted TMF sas_task Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 036/121] scsi: pm8001: Fix use-after-free for aborted SSP/STP sas_task Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 037/121] nvme: fix a possible use-after-free in controller reset during load Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 038/121] nvme-tcp: fix possible use-after-free in transport error_recovery work Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 039/121] nvme-rdma: " Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 040/121] drm/amdgpu: fix logic inversion in check Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 041/121] x86/Xen: streamline (and fix) PV CPU enumeration Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 042/121] Revert "module, async: async_synchronize_full() on module init iff async is used" Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 043/121] gcc-plugins/stackleak: Use noinstr in favor of notrace Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 044/121] random: wake up /dev/random writers after zap Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 045/121] kbuild: lto: merge module sections Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 046/121] kbuild: lto: Merge module sections if and only if CONFIG_LTO_CLANG is enabled Greg Kroah-Hartman
2022-02-21  8:48 ` [PATCH 5.10 047/121] iwlwifi: fix use-after-free Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 048/121] drm/radeon: Fix backlight control on iMac 12,1 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 049/121] drm/i915/opregion: check port number bounds for SWSCI display power state Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 050/121] vsock: remove vsock from connected table when connect is interrupted by a signal Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 051/121] drm/i915/gvt: Make DRM_I915_GVT depend on X86 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 052/121] iwlwifi: pcie: fix locking when "HW not ready" Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 053/121] iwlwifi: pcie: gen2: " Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 054/121] selftests: netfilter: fix exit value for nft_concat_range Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 055/121] netfilter: nft_synproxy: unregister hooks on init error path Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 056/121] ipv6: per-netns exclusive flowlabel checks Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 057/121] net: dsa: lan9303: fix reset on probe Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 058/121] net: dsa: lantiq_gswip: fix use after free in gswip_remove() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 059/121] net: ieee802154: ca8210: Fix lifs/sifs periods Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 060/121] ping: fix the dif and sdif check in ping_lookup Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 061/121] bonding: force carrier update when releasing slave Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 062/121] drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit Greg Kroah-Hartman
2022-02-21  8:49 ` Greg Kroah-Hartman [this message]
2022-02-21  8:49 ` [PATCH 5.10 064/121] bonding: fix data-races around agg_select_timer Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 065/121] libsubcmd: Fix use-after-free for realloc(..., 0) Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 066/121] dpaa2-eth: Initialize mutex used in one step timestamping path Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 067/121] perf bpf: Defer freeing string after possible strlen() on it Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 068/121] selftests/exec: Add non-regular to TEST_GEN_PROGS Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 069/121] ALSA: hda/realtek: Add quirk for Legion Y9000X 2019 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 070/121] ALSA: hda/realtek: Fix deadlock by COEF mutex Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 071/121] ALSA: hda: Fix regression on forced probe mask option Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 072/121] ALSA: hda: Fix missing codec probe on Shenker Dock 15 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 073/121] ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 074/121] ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 075/121] powerpc/lib/sstep: fix ptesync build error Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 076/121] mtd: rawnand: gpmi: dont leak PM reference in error path Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 077/121] KVM: SVM: Never reject emulation due to SMAP errata for !SEV guests Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 078/121] tee: export teedev_open() and teedev_close_context() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 079/121] optee: use driver internal tee_context for some rpc Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 080/121] ASoC: tas2770: Insert post reset delay Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 081/121] block/wbt: fix negative inflight counter when remove scsi device Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 082/121] NFS: LOOKUP_DIRECTORY is also ok with symlinks Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 083/121] NFS: Do not report writeback errors in nfs_getattr() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 084/121] tty: n_tty: do not look ahead for EOL character past the end of the buffer Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 085/121] mtd: rawnand: qcom: Fix clock sequencing in qcom_nandc_probe() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 086/121] mtd: rawnand: brcmnand: Fixed incorrect sub-page ECC status Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 087/121] Drivers: hv: vmbus: Fix memory leak in vmbus_add_channel_kobj Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 088/121] KVM: x86/pmu: Refactoring find_arch_event() to pmc_perf_hw_id() Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 089/121] KVM: x86/pmu: Dont truncate the PerfEvtSeln MSR when creating a perf event Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 090/121] KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 091/121] NFS: Dont set NFS_INO_INVALID_XATTR if there is no xattr cache Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 092/121] ARM: OMAP2+: hwmod: Add of_node_put() before break Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 093/121] ARM: OMAP2+: adjust the location of put_device() call in omapdss_init_of Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 094/121] phy: usb: Leave some clocks running during suspend Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 095/121] irqchip/sifive-plic: Add missing thead,c900-plic match string Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 096/121] netfilter: conntrack: dont refresh sctp entries in closed state Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 097/121] arm64: dts: meson-gx: add ATF BL32 reserved-memory region Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 098/121] arm64: dts: meson-g12: " Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 099/121] arm64: dts: meson-g12: drop BL32 region from SEI510/SEI610 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 100/121] pidfd: fix test failure due to stack overflow on some arches Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 101/121] selftests: fixup build warnings in pidfd / clone3 tests Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 102/121] kconfig: let shell return enough output for deep path names Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 103/121] ata: libata-core: Disable TRIM on M88V29 Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 104/121] soc: aspeed: lpc-ctrl: Block error printing on probe defer cases Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 105/121] xprtrdma: fix pointer derefs in error cases of rpcrdma_ep_create Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 106/121] drm/rockchip: dw_hdmi: Do not leave clock enabled in error case Greg Kroah-Hartman
2022-02-21  8:49 ` [PATCH 5.10 107/121] tracing: Fix tp_printk option related with tp_printk_stop_on_boot Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 108/121] net: usb: qmi_wwan: Add support for Dell DW5829e Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 109/121] net: macb: Align the dma and coherent dma masks Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 110/121] kconfig: fix failing to generate auto.conf Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 111/121] scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 112/121] EDAC: Fix calculation of returned address and next offset in edac_align_ptr() Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 113/121] net: sched: limit TC_ACT_REPEAT loops Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 114/121] dmaengine: sh: rcar-dmac: Check for error num after setting mask Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 115/121] dmaengine: stm32-dmamux: Fix PM disable depth imbalance in stm32_dmamux_probe Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 116/121] dmaengine: sh: rcar-dmac: Check for error num after dma_set_max_seg_size Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 117/121] i2c: qcom-cci: dont delete an unregistered adapter Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 118/121] i2c: qcom-cci: dont put a device tree node before i2c_add_adapter() Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 119/121] copy_process(): Move fd_install() out of sighand->siglock critical section Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 120/121] i2c: brcmstb: fix support for DSL and CM variants Greg Kroah-Hartman
2022-02-21  8:50 ` [PATCH 5.10 121/121] lockdep: Correct lock_classes index mapping Greg Kroah-Hartman
2022-02-21 12:24 ` [PATCH 5.10 000/121] 5.10.102-rc1 review Pavel Machek
2022-02-21 21:18 ` Guenter Roeck
2022-02-21 21:39 ` Shuah Khan
2022-02-22  0:45 ` Samuel Zou
2022-02-22  3:19 ` Slade Watkins
2022-02-22  3:41 ` Florian Fainelli
2022-02-22  3:42 ` Bagas Sanjaya
2022-02-22  6:38 ` Naresh Kamboju
2022-02-22 12:06 ` Sudip Mukherjee
2022-02-22 12:09 ` Jon Hunter

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=20220221084923.339519479@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=syzkaller@googlegroups.com \
    --cc=vladbu@mellanox.com \
    --cc=xiyou.wangcong@gmail.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