All of lore.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, Taehee Yoo <ap420073@gmail.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 5.4 019/152] bonding: fix lockdep warning in bond_get_stats()
Date: Tue,  3 Mar 2020 18:41:57 +0100	[thread overview]
Message-ID: <20200303174304.654554789@linuxfoundation.org> (raw)
In-Reply-To: <20200303174302.523080016@linuxfoundation.org>

From: Taehee Yoo <ap420073@gmail.com>

[ Upstream commit b3e80d44f5b1b470dd9e2dbc6816e63a5c519709 ]

In the "struct bonding", there is stats_lock.
This lock protects "bond_stats" in the "struct bonding".
bond_stats is updated in the bond_get_stats() and this function would be
executed concurrently. So, the lock is needed.

Bonding interfaces would be nested.
So, either stats_lock should use dynamic lockdep class key or stats_lock
should be used by spin_lock_nested(). In the current code, stats_lock is
using a dynamic lockdep class key.
But there is no updating stats_lock_key routine So, lockdep warning
will occur.

Test commands:
    ip link add bond0 type bond
    ip link add bond1 type bond
    ip link set bond0 master bond1
    ip link set bond0 nomaster
    ip link set bond1 master bond0

Splat looks like:
[   38.420603][  T957] 5.5.0+ #394 Not tainted
[   38.421074][  T957] ------------------------------------------------------
[   38.421837][  T957] ip/957 is trying to acquire lock:
[   38.422399][  T957] ffff888063262cd8 (&bond->stats_lock_key#2){+.+.}, at: bond_get_stats+0x90/0x4d0 [bonding]
[   38.423528][  T957]
[   38.423528][  T957] but task is already holding lock:
[   38.424526][  T957] ffff888065fd2cd8 (&bond->stats_lock_key){+.+.}, at: bond_get_stats+0x90/0x4d0 [bonding]
[   38.426075][  T957]
[   38.426075][  T957] which lock already depends on the new lock.
[   38.426075][  T957]
[   38.428536][  T957]
[   38.428536][  T957] the existing dependency chain (in reverse order) is:
[   38.429475][  T957]
[   38.429475][  T957] -> #1 (&bond->stats_lock_key){+.+.}:
[   38.430273][  T957]        _raw_spin_lock+0x30/0x70
[   38.430812][  T957]        bond_get_stats+0x90/0x4d0 [bonding]
[   38.431451][  T957]        dev_get_stats+0x1ec/0x270
[   38.432088][  T957]        bond_get_stats+0x1a5/0x4d0 [bonding]
[   38.432767][  T957]        dev_get_stats+0x1ec/0x270
[   38.433322][  T957]        rtnl_fill_stats+0x44/0xbe0
[   38.433866][  T957]        rtnl_fill_ifinfo+0xeb2/0x3720
[   38.434474][  T957]        rtmsg_ifinfo_build_skb+0xca/0x170
[   38.435081][  T957]        rtmsg_ifinfo_event.part.33+0x1b/0xb0
[   38.436848][  T957]        rtnetlink_event+0xcd/0x120
[   38.437455][  T957]        notifier_call_chain+0x90/0x160
[   38.438067][  T957]        netdev_change_features+0x74/0xa0
[   38.438708][  T957]        bond_compute_features.isra.45+0x4e6/0x6f0 [bonding]
[   38.439522][  T957]        bond_enslave+0x3639/0x47b0 [bonding]
[   38.440225][  T957]        do_setlink+0xaab/0x2ef0
[   38.440786][  T957]        __rtnl_newlink+0x9c5/0x1270
[   38.441463][  T957]        rtnl_newlink+0x65/0x90
[   38.442075][  T957]        rtnetlink_rcv_msg+0x4a8/0x890
[   38.442774][  T957]        netlink_rcv_skb+0x121/0x350
[   38.443451][  T957]        netlink_unicast+0x42e/0x610
[   38.444282][  T957]        netlink_sendmsg+0x65a/0xb90
[   38.444992][  T957]        ____sys_sendmsg+0x5ce/0x7a0
[   38.445679][  T957]        ___sys_sendmsg+0x10f/0x1b0
[   38.446365][  T957]        __sys_sendmsg+0xc6/0x150
[   38.447007][  T957]        do_syscall_64+0x99/0x4f0
[   38.447668][  T957]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
[   38.448538][  T957]
[   38.448538][  T957] -> #0 (&bond->stats_lock_key#2){+.+.}:
[   38.449554][  T957]        __lock_acquire+0x2d8d/0x3de0
[   38.450148][  T957]        lock_acquire+0x164/0x3b0
[   38.450711][  T957]        _raw_spin_lock+0x30/0x70
[   38.451292][  T957]        bond_get_stats+0x90/0x4d0 [bonding]
[   38.451950][  T957]        dev_get_stats+0x1ec/0x270
[   38.452425][  T957]        bond_get_stats+0x1a5/0x4d0 [bonding]
[   38.453362][  T957]        dev_get_stats+0x1ec/0x270
[   38.453825][  T957]        rtnl_fill_stats+0x44/0xbe0
[   38.454390][  T957]        rtnl_fill_ifinfo+0xeb2/0x3720
[   38.456257][  T957]        rtmsg_ifinfo_build_skb+0xca/0x170
[   38.456998][  T957]        rtmsg_ifinfo_event.part.33+0x1b/0xb0
[   38.459351][  T957]        rtnetlink_event+0xcd/0x120
[   38.460086][  T957]        notifier_call_chain+0x90/0x160
[   38.460829][  T957]        netdev_change_features+0x74/0xa0
[   38.461752][  T957]        bond_compute_features.isra.45+0x4e6/0x6f0 [bonding]
[   38.462705][  T957]        bond_enslave+0x3639/0x47b0 [bonding]
[   38.463476][  T957]        do_setlink+0xaab/0x2ef0
[   38.464141][  T957]        __rtnl_newlink+0x9c5/0x1270
[   38.464897][  T957]        rtnl_newlink+0x65/0x90
[   38.465522][  T957]        rtnetlink_rcv_msg+0x4a8/0x890
[   38.466215][  T957]        netlink_rcv_skb+0x121/0x350
[   38.466895][  T957]        netlink_unicast+0x42e/0x610
[   38.467583][  T957]        netlink_sendmsg+0x65a/0xb90
[   38.468285][  T957]        ____sys_sendmsg+0x5ce/0x7a0
[   38.469202][  T957]        ___sys_sendmsg+0x10f/0x1b0
[   38.469884][  T957]        __sys_sendmsg+0xc6/0x150
[   38.470587][  T957]        do_syscall_64+0x99/0x4f0
[   38.471245][  T957]        entry_SYSCALL_64_after_hwframe+0x49/0xbe
[   38.472093][  T957]
[   38.472093][  T957] other info that might help us debug this:
[   38.472093][  T957]
[   38.473438][  T957]  Possible unsafe locking scenario:
[   38.473438][  T957]
[   38.474898][  T957]        CPU0                    CPU1
[   38.476234][  T957]        ----                    ----
[   38.480171][  T957]   lock(&bond->stats_lock_key);
[   38.480808][  T957]                                lock(&bond->stats_lock_key#2);
[   38.481791][  T957]                                lock(&bond->stats_lock_key);
[   38.482754][  T957]   lock(&bond->stats_lock_key#2);
[   38.483416][  T957]
[   38.483416][  T957]  *** DEADLOCK ***
[   38.483416][  T957]
[   38.484505][  T957] 3 locks held by ip/957:
[   38.485048][  T957]  #0: ffffffffbccf6230 (rtnl_mutex){+.+.}, at: rtnetlink_rcv_msg+0x457/0x890
[   38.486198][  T957]  #1: ffff888065fd2cd8 (&bond->stats_lock_key){+.+.}, at: bond_get_stats+0x90/0x4d0 [bonding]
[   38.487625][  T957]  #2: ffffffffbc9254c0 (rcu_read_lock){....}, at: bond_get_stats+0x5/0x4d0 [bonding]
[   38.488897][  T957]
[   38.488897][  T957] stack backtrace:
[   38.489646][  T957] CPU: 1 PID: 957 Comm: ip Not tainted 5.5.0+ #394
[   38.490497][  T957] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[   38.492810][  T957] Call Trace:
[   38.493219][  T957]  dump_stack+0x96/0xdb
[   38.493709][  T957]  check_noncircular+0x371/0x450
[   38.494344][  T957]  ? lookup_address+0x60/0x60
[   38.494923][  T957]  ? print_circular_bug.isra.35+0x310/0x310
[   38.495699][  T957]  ? hlock_class+0x130/0x130
[   38.496334][  T957]  ? __lock_acquire+0x2d8d/0x3de0
[   38.496979][  T957]  __lock_acquire+0x2d8d/0x3de0
[   38.497607][  T957]  ? register_lock_class+0x14d0/0x14d0
[   38.498333][  T957]  ? check_chain_key+0x236/0x5d0
[   38.499003][  T957]  lock_acquire+0x164/0x3b0
[   38.499800][  T957]  ? bond_get_stats+0x90/0x4d0 [bonding]
[   38.500706][  T957]  _raw_spin_lock+0x30/0x70
[   38.501435][  T957]  ? bond_get_stats+0x90/0x4d0 [bonding]
[   38.502311][  T957]  bond_get_stats+0x90/0x4d0 [bonding]
[ ... ]

But, there is another problem.
The dynamic lockdep class key is protected by RTNL, but bond_get_stats()
would be called outside of RTNL.
So, it would use an invalid dynamic lockdep class key.

In order to fix this issue, stats_lock uses spin_lock_nested() instead of
a dynamic lockdep key.
The bond_get_stats() calls bond_get_lowest_level_rcu() to get the correct
nest level value, which will be used by spin_lock_nested().
The "dev->lower_level" indicates lower nest level value, but this value
is invalid outside of RTNL.
So, bond_get_lowest_level_rcu() returns valid lower nest level value in
the RCU critical section.
bond_get_lowest_level_rcu() will be work only when LOCKDEP is enabled.

Fixes: 089bca2caed0 ("bonding: use dynamic lockdep key instead of subclass")
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/net/bonding/bond_main.c |   53 +++++++++++++++++++++++++++++++++++++---
 1 file changed, 50 insertions(+), 3 deletions(-)

--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3436,6 +3436,47 @@ static void bond_fold_stats(struct rtnl_
 	}
 }
 
+#ifdef CONFIG_LOCKDEP
+static int bond_get_lowest_level_rcu(struct net_device *dev)
+{
+	struct net_device *ldev, *next, *now, *dev_stack[MAX_NEST_DEV + 1];
+	struct list_head *niter, *iter, *iter_stack[MAX_NEST_DEV + 1];
+	int cur = 0, max = 0;
+
+	now = dev;
+	iter = &dev->adj_list.lower;
+
+	while (1) {
+		next = NULL;
+		while (1) {
+			ldev = netdev_next_lower_dev_rcu(now, &iter);
+			if (!ldev)
+				break;
+
+			next = ldev;
+			niter = &ldev->adj_list.lower;
+			dev_stack[cur] = now;
+			iter_stack[cur++] = iter;
+			if (max <= cur)
+				max = cur;
+			break;
+		}
+
+		if (!next) {
+			if (!cur)
+				return max;
+			next = dev_stack[--cur];
+			niter = iter_stack[cur];
+		}
+
+		now = next;
+		iter = niter;
+	}
+
+	return max;
+}
+#endif
+
 static void bond_get_stats(struct net_device *bond_dev,
 			   struct rtnl_link_stats64 *stats)
 {
@@ -3443,11 +3484,17 @@ static void bond_get_stats(struct net_de
 	struct rtnl_link_stats64 temp;
 	struct list_head *iter;
 	struct slave *slave;
+	int nest_level = 0;
 
-	spin_lock(&bond->stats_lock);
-	memcpy(stats, &bond->bond_stats, sizeof(*stats));
 
 	rcu_read_lock();
+#ifdef CONFIG_LOCKDEP
+	nest_level = bond_get_lowest_level_rcu(bond_dev);
+#endif
+
+	spin_lock_nested(&bond->stats_lock, nest_level);
+	memcpy(stats, &bond->bond_stats, sizeof(*stats));
+
 	bond_for_each_slave_rcu(bond, slave, iter) {
 		const struct rtnl_link_stats64 *new =
 			dev_get_stats(slave->dev, &temp);
@@ -3457,10 +3504,10 @@ static void bond_get_stats(struct net_de
 		/* save off the slave stats for the next run */
 		memcpy(&slave->slave_stats, new, sizeof(*new));
 	}
-	rcu_read_unlock();
 
 	memcpy(&bond->bond_stats, stats, sizeof(*stats));
 	spin_unlock(&bond->stats_lock);
+	rcu_read_unlock();
 }
 
 static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd)



  parent reply	other threads:[~2020-03-03 17:52 UTC|newest]

Thread overview: 163+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-03 17:41 [PATCH 5.4 000/152] 5.4.24-stable review Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 001/152] io_uring: grab ->fs as part of async offload Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 002/152] EDAC: skx_common: downgrade message importance on missing PCI device Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 003/152] net: dsa: b53: Ensure the default VID is untagged Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 004/152] net: fib_rules: Correctly set table field when table number exceeds 8 bits Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 005/152] net: macb: ensure interface is not suspended on at91rm9200 Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 006/152] net: mscc: fix in frame extraction Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 007/152] net: phy: restore mdio regs in the iproc mdio driver Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 008/152] net: sched: correct flower port blocking Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 009/152] net/tls: Fix to avoid gettig invalid tls record Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 010/152] nfc: pn544: Fix occasional HW initialization failure Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 011/152] qede: Fix race between rdma destroy workqueue and link change event Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 012/152] Revert "net: dev: introduce support for sch BYPASS for lockless qdisc" Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 013/152] udp: rehash on disconnect Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 014/152] sctp: move the format error check out of __sctp_sf_do_9_1_abort Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 015/152] bnxt_en: Improve device shutdown method Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 016/152] bnxt_en: Issue PCIe FLR in kdump kernel to cleanup pending DMAs Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 017/152] bonding: add missing netdev_update_lockdep_key() Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 018/152] net: export netdev_next_lower_dev_rcu() Greg Kroah-Hartman
2020-03-03 17:41 ` Greg Kroah-Hartman [this message]
2020-03-03 17:41 ` [PATCH 5.4 020/152] ipv6: Fix route replacement with dev-only route Greg Kroah-Hartman
2020-03-03 17:41 ` [PATCH 5.4 021/152] ipv6: Fix nlmsg_flags when splitting a multipath route Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 022/152] ipmi:ssif: Handle a possible NULL pointer reference Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 023/152] drm/msm: Set dma maximum segment size for mdss Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 024/152] sched/core: Dont skip remote tick for idle CPUs Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 025/152] timers/nohz: Update NOHZ load in remote tick Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 026/152] sched/fair: Prevent unlimited runtime on throttled group Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 027/152] dax: pass NOWAIT flag to iomap_apply Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 028/152] mac80211: consider more elements in parsing CRC Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 029/152] cfg80211: check wiphy driver existence for drvinfo report Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 030/152] s390/zcrypt: fix card and queue total counter wrap Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 031/152] qmi_wwan: re-add DW5821e pre-production variant Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 032/152] qmi_wwan: unconditionally reject 2 ep interfaces Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 033/152] NFSv4: Fix races between open and dentry revalidation Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 034/152] perf/smmuv3: Use platform_get_irq_optional() for wired interrupt Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 035/152] arm/ftrace: Fix BE text poking Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 036/152] perf/x86/intel: Add Elkhart Lake support Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 037/152] perf/x86/cstate: Add Tremont support Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 038/152] perf/x86/msr: " Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 039/152] ceph: do not execute direct write in parallel if O_APPEND is specified Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 040/152] ARM: dts: sti: fixup sound frame-inversion for stihxxx-b2120.dtsi Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 041/152] drm/amd/display: Do not set optimized_require to false after plane disable Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 042/152] RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready() Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 043/152] drm/amd/display: Check engine is not NULL before acquiring Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 044/152] drm/amd/display: Limit minimum DPPCLK to 100MHz Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 045/152] drm/amd/display: Add initialitions for PLL2 clock source Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 046/152] amdgpu: Prevent build errors regarding soft/hard-float FP ABI tags Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 047/152] soc/tegra: fuse: Fix build with Tegra194 configuration Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 048/152] i40e: Fix the conditional for i40e_vc_validate_vqs_bitmaps Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 049/152] net: ena: fix potential crash when rxfh key is NULL Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 050/152] net: ena: fix uses of round_jiffies() Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 051/152] net: ena: add missing ethtool TX timestamping indication Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 052/152] net: ena: fix incorrect default RSS key Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 053/152] net: ena: rss: do not allocate key when not supported Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 054/152] net: ena: rss: fix failure to get indirection table Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 055/152] net: ena: rss: store hash function as values and not bits Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 056/152] net: ena: fix incorrectly saving queue numbers when setting RSS indirection table Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 057/152] net: ena: fix corruption of dev_idx_to_host_tbl Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 058/152] net: ena: ethtool: use correct value for crc32 hash Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 059/152] net: ena: ena-com.c: prevent NULL pointer dereference Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 060/152] ice: update Unit Load Status bitmask to check after reset Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 061/152] cifs: Fix mode output in debugging statements Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 062/152] bcache: ignore pending signals when creating gc and allocator thread Greg Kroah-Hartman
2020-03-03 17:55   ` Jens Axboe
2020-03-03 18:12     ` Greg Kroah-Hartman
2020-03-03 18:19       ` Jens Axboe
2020-03-03 17:42 ` [PATCH 5.4 063/152] cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 064/152] mac80211: fix wrong 160/80+80 MHz setting Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 065/152] net: hns3: add management table after IMP reset Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 066/152] net: hns3: fix a copying IPv6 address error in hclge_fd_get_flow_tuples() Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 067/152] nvme/tcp: fix bug on double requeue when send fails Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 068/152] nvme: prevent warning triggered by nvme_stop_keep_alive Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 069/152] nvme/pci: move cqe check after device shutdown Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 070/152] ext4: potential crash on allocation error in ext4_alloc_flex_bg_array() Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 071/152] audit: fix error handling in audit_data_to_entry() Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 072/152] audit: always check the netlink payload length in audit_receive_msg() Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 073/152] ACPICA: Introduce ACPI_ACCESS_BYTE_WIDTH() macro Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 074/152] ACPI: watchdog: Fix gas->access_width usage Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 075/152] KVM: VMX: check descriptor table exits on instruction emulation Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 076/152] HID: ite: Only bind to keyboard USB interface on Acer SW5-012 keyboard dock Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 077/152] HID: core: fix off-by-one memset in hid_report_raw_event() Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 078/152] HID: core: increase HID report buffer size to 8KiB Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 079/152] drm/amdgpu: Drop DRIVER_USE_AGP Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 080/152] drm/radeon: Inline drm_get_pci_dev Greg Kroah-Hartman
2020-03-03 17:42   ` Greg Kroah-Hartman
2020-03-03 17:42 ` [PATCH 5.4 081/152] macintosh: therm_windtunnel: fix regression when instantiating devices Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 082/152] tracing: Disable trace_printk() on post poned tests Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 083/152] Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs" Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 084/152] amdgpu/gmc_v9: save/restore sdpif regs during S3 Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 085/152] cpufreq: Fix policy initialization for internal governor drivers Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 086/152] io_uring: fix 32-bit compatability with sendmsg/recvmsg Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 087/152] netfilter: ipset: Fix "INFO: rcu detected stall in hash_xxx" reports Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 088/152] net/smc: transfer fasync_list in case of fallback Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 089/152] vhost: Check docket sk_family instead of call getname Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 090/152] netfilter: ipset: Fix forceadd evaluation path Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 091/152] netfilter: xt_hashlimit: reduce hashlimit_mutex scope for htable_put() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 092/152] HID: alps: Fix an error handling path in alps_input_configured() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 093/152] HID: hiddev: Fix race in in hiddev_disconnect() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 094/152] MIPS: VPE: Fix a double free and a memory leak in release_vpe() Greg Kroah-Hartman
2020-03-03 17:43   ` Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 095/152] i2c: altera: Fix potential integer overflow Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 096/152] i2c: jz4780: silence log flood on txabrt Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 097/152] drm/i915/gvt: Fix orphan vgpu dmabuf_objs lifetime Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 098/152] drm/i915/gvt: Separate display reset from ALL_ENGINES reset Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 099/152] nl80211: fix potential leak in AP start Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 100/152] mac80211: Remove a redundant mutex unlock Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 101/152] kbuild: fix DT binding schema rule to detect command line changes Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 102/152] hv_netvsc: Fix unwanted wakeup in netvsc_attach() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 103/152] usb: charger: assign specific number for enum value Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 104/152] nvme-pci: Hold cq_poll_lock while completing CQEs Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 105/152] s390/qeth: vnicc Fix EOPNOTSUPP precedence Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 106/152] net: netlink: cap max groups which will be considered in netlink_bind() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 107/152] net: atlantic: fix use after free kasan warn Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 108/152] net: atlantic: fix potential error handling Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 109/152] net: atlantic: fix out of range usage of active_vlans array Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 110/152] net/smc: no peer ID in CLC decline for SMCD Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 111/152] net: ena: make ena rxfh support ETH_RSS_HASH_NO_CHANGE Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 112/152] selftests: Install settings files to fix TIMEOUT failures Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 113/152] kbuild: remove header compile test Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 114/152] kbuild: move headers_check rule to usr/include/Makefile Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 115/152] kbuild: remove unneeded variable, single-all Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 116/152] kbuild: make single target builds even faster Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 117/152] namei: only return -ECHILD from follow_dotdot_rcu() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 118/152] mwifiex: drop most magic numbers from mwifiex_process_tdls_action_frame() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 119/152] mwifiex: delete unused mwifiex_get_intf_num() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 120/152] KVM: SVM: Override default MMIO mask if memory encryption is enabled Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 121/152] KVM: Check for a bad hva before dropping into the ghc slow path Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 122/152] sched/fair: Optimize select_idle_cpu Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 123/152] f2fs: fix to add swap extent correctly Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 124/152] RDMA/hns: Simplify the calculation and usage of wqe idx for post verbs Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 125/152] RDMA/hns: Bugfix for posting a wqe with sge Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 126/152] drivers: net: xgene: Fix the order of the arguments of alloc_etherdev_mqs() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 127/152] ima: ima/lsm policy rule loading logic bug fixes Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 128/152] kprobes: Set unoptimized flag after unoptimizing code Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 129/152] lib/vdso: Make __arch_update_vdso_data() logic understandable Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 130/152] lib/vdso: Update coarse timekeeper unconditionally Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 131/152] pwm: omap-dmtimer: put_device() after of_find_device_by_node() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 132/152] perf hists browser: Restore ESC as "Zoom out" of DSO/thread/etc Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 133/152] perf ui gtk: Add missing zalloc object Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 134/152] x86/resctrl: Check monitoring static key in the MBM overflow handler Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 135/152] KVM: x86: Remove spurious kvm_mmu_unload() from vcpu destruction path Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 136/152] KVM: x86: Remove spurious clearing of async #PF MSR Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 137/152] rcu: Allow only one expedited GP to run concurrently with wakeups Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 138/152] ubifs: Fix ino_t format warnings in orphan_delete() Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 139/152] thermal: db8500: Depromote debug print Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 140/152] thermal: brcmstb_thermal: Do not use DT coefficients Greg Kroah-Hartman
2020-03-03 17:43 ` [PATCH 5.4 141/152] netfilter: nft_tunnel: no need to call htons() when dumping ports Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 142/152] netfilter: nf_flowtable: fix documentation Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 143/152] bus: tegra-aconnect: Remove PM_CLK dependency Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 144/152] xfs: clear kernel only flags in XFS_IOC_ATTRMULTI_BY_HANDLE Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 145/152] padata: always acquire cpu_hotplug_lock before pinst->lock Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 146/152] locking/lockdep: Fix lockdep_stats indentation problem Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 147/152] mm/debug.c: always print flags in dump_page() Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 148/152] mm/gup: allow FOLL_FORCE for get_user_pages_fast() Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 149/152] mm/huge_memory.c: use head to check huge zero page Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 150/152] mm, thp: fix defrag setting if newline is not used Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 151/152] kvm: nVMX: VMWRITE checks VMCS-link pointer before VMCS field Greg Kroah-Hartman
2020-03-03 17:44 ` [PATCH 5.4 152/152] kvm: nVMX: VMWRITE checks unsupported field before read-only field Greg Kroah-Hartman
     [not found] ` <20200303174302.523080016-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
2020-03-03 22:10   ` [PATCH 5.4 000/152] 5.4.24-stable review Jon Hunter
2020-03-03 22:10     ` Jon Hunter
2020-03-03 23:13 ` shuah
2020-03-04  7:11 ` Naresh Kamboju
2020-03-04 16:52 ` Guenter Roeck

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=20200303174304.654554789@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ap420073@gmail.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.