stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com>,
	Luiz Augusto von Dentz <luiz.von.dentz@intel.com>,
	Sasha Levin <sashal@kernel.org>,
	linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 5.10 102/176] Bluetooth: avoid circular locks in sco_sock_connect
Date: Thu,  9 Sep 2021 07:50:04 -0400	[thread overview]
Message-ID: <20210909115118.146181-102-sashal@kernel.org> (raw)
In-Reply-To: <20210909115118.146181-1-sashal@kernel.org>

From: Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com>

[ Upstream commit 734bc5ff783115aa3164f4e9dd5967ae78e0a8ab ]

In a future patch, calls to bh_lock_sock in sco.c should be replaced
by lock_sock now that none of the functions are run in IRQ context.

However, doing so results in a circular locking dependency:

======================================================
WARNING: possible circular locking dependency detected
5.14.0-rc4-syzkaller #0 Not tainted
------------------------------------------------------
syz-executor.2/14867 is trying to acquire lock:
ffff88803e3c1120 (sk_lock-AF_BLUETOOTH-BTPROTO_SCO){+.+.}-{0:0}, at:
lock_sock include/net/sock.h:1613 [inline]
ffff88803e3c1120 (sk_lock-AF_BLUETOOTH-BTPROTO_SCO){+.+.}-{0:0}, at:
sco_conn_del+0x12a/0x2a0 net/bluetooth/sco.c:191

but task is already holding lock:
ffffffff8d2dc7c8 (hci_cb_list_lock){+.+.}-{3:3}, at:
hci_disconn_cfm include/net/bluetooth/hci_core.h:1497 [inline]
ffffffff8d2dc7c8 (hci_cb_list_lock){+.+.}-{3:3}, at:
hci_conn_hash_flush+0xda/0x260 net/bluetooth/hci_conn.c:1608

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-> #2 (hci_cb_list_lock){+.+.}-{3:3}:
       __mutex_lock_common kernel/locking/mutex.c:959 [inline]
       __mutex_lock+0x12a/0x10a0 kernel/locking/mutex.c:1104
       hci_connect_cfm include/net/bluetooth/hci_core.h:1482 [inline]
       hci_remote_features_evt net/bluetooth/hci_event.c:3263 [inline]
       hci_event_packet+0x2f4d/0x7c50 net/bluetooth/hci_event.c:6240
       hci_rx_work+0x4f8/0xd30 net/bluetooth/hci_core.c:5122
       process_one_work+0x98d/0x1630 kernel/workqueue.c:2276
       worker_thread+0x658/0x11f0 kernel/workqueue.c:2422
       kthread+0x3e5/0x4d0 kernel/kthread.c:319
       ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295

-> #1 (&hdev->lock){+.+.}-{3:3}:
       __mutex_lock_common kernel/locking/mutex.c:959 [inline]
       __mutex_lock+0x12a/0x10a0 kernel/locking/mutex.c:1104
       sco_connect net/bluetooth/sco.c:245 [inline]
       sco_sock_connect+0x227/0xa10 net/bluetooth/sco.c:601
       __sys_connect_file+0x155/0x1a0 net/socket.c:1879
       __sys_connect+0x161/0x190 net/socket.c:1896
       __do_sys_connect net/socket.c:1906 [inline]
       __se_sys_connect net/socket.c:1903 [inline]
       __x64_sys_connect+0x6f/0xb0 net/socket.c:1903
       do_syscall_x64 arch/x86/entry/common.c:50 [inline]
       do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
       entry_SYSCALL_64_after_hwframe+0x44/0xae

-> #0 (sk_lock-AF_BLUETOOTH-BTPROTO_SCO){+.+.}-{0:0}:
       check_prev_add kernel/locking/lockdep.c:3051 [inline]
       check_prevs_add kernel/locking/lockdep.c:3174 [inline]
       validate_chain kernel/locking/lockdep.c:3789 [inline]
       __lock_acquire+0x2a07/0x54a0 kernel/locking/lockdep.c:5015
       lock_acquire kernel/locking/lockdep.c:5625 [inline]
       lock_acquire+0x1ab/0x510 kernel/locking/lockdep.c:5590
       lock_sock_nested+0xca/0x120 net/core/sock.c:3170
       lock_sock include/net/sock.h:1613 [inline]
       sco_conn_del+0x12a/0x2a0 net/bluetooth/sco.c:191
       sco_disconn_cfm+0x71/0xb0 net/bluetooth/sco.c:1202
       hci_disconn_cfm include/net/bluetooth/hci_core.h:1500 [inline]
       hci_conn_hash_flush+0x127/0x260 net/bluetooth/hci_conn.c:1608
       hci_dev_do_close+0x528/0x1130 net/bluetooth/hci_core.c:1778
       hci_unregister_dev+0x1c0/0x5a0 net/bluetooth/hci_core.c:4015
       vhci_release+0x70/0xe0 drivers/bluetooth/hci_vhci.c:340
       __fput+0x288/0x920 fs/file_table.c:280
       task_work_run+0xdd/0x1a0 kernel/task_work.c:164
       exit_task_work include/linux/task_work.h:32 [inline]
       do_exit+0xbd4/0x2a60 kernel/exit.c:825
       do_group_exit+0x125/0x310 kernel/exit.c:922
       get_signal+0x47f/0x2160 kernel/signal.c:2808
       arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:865
       handle_signal_work kernel/entry/common.c:148 [inline]
       exit_to_user_mode_loop kernel/entry/common.c:172 [inline]
       exit_to_user_mode_prepare+0x17d/0x290 kernel/entry/common.c:209
       __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline]
       syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:302
       ret_from_fork+0x15/0x30 arch/x86/entry/entry_64.S:288

other info that might help us debug this:

Chain exists of:
  sk_lock-AF_BLUETOOTH-BTPROTO_SCO --> &hdev->lock --> hci_cb_list_lock

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(hci_cb_list_lock);
                               lock(&hdev->lock);
                               lock(hci_cb_list_lock);
  lock(sk_lock-AF_BLUETOOTH-BTPROTO_SCO);

 *** DEADLOCK ***

The issue is that the lock hierarchy should go from &hdev->lock -->
hci_cb_list_lock --> sk_lock-AF_BLUETOOTH-BTPROTO_SCO. For example,
one such call trace is:

  hci_dev_do_close():
    hci_dev_lock();
    hci_conn_hash_flush():
      hci_disconn_cfm():
        mutex_lock(&hci_cb_list_lock);
        sco_disconn_cfm():
        sco_conn_del():
          lock_sock(sk);

However, in sco_sock_connect, we call lock_sock before calling
hci_dev_lock inside sco_connect, thus inverting the lock hierarchy.

We fix this by pulling the call to hci_dev_lock out from sco_connect.

Signed-off-by: Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 net/bluetooth/sco.c | 39 ++++++++++++++++-----------------------
 1 file changed, 16 insertions(+), 23 deletions(-)

diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index 8f4389370d33..21bd4ed98311 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -237,44 +237,32 @@ static int sco_chan_add(struct sco_conn *conn, struct sock *sk,
 	return err;
 }
 
-static int sco_connect(struct sock *sk)
+static int sco_connect(struct hci_dev *hdev, struct sock *sk)
 {
 	struct sco_conn *conn;
 	struct hci_conn *hcon;
-	struct hci_dev  *hdev;
 	int err, type;
 
 	BT_DBG("%pMR -> %pMR", &sco_pi(sk)->src, &sco_pi(sk)->dst);
 
-	hdev = hci_get_route(&sco_pi(sk)->dst, &sco_pi(sk)->src, BDADDR_BREDR);
-	if (!hdev)
-		return -EHOSTUNREACH;
-
-	hci_dev_lock(hdev);
-
 	if (lmp_esco_capable(hdev) && !disable_esco)
 		type = ESCO_LINK;
 	else
 		type = SCO_LINK;
 
 	if (sco_pi(sk)->setting == BT_VOICE_TRANSPARENT &&
-	    (!lmp_transp_capable(hdev) || !lmp_esco_capable(hdev))) {
-		err = -EOPNOTSUPP;
-		goto done;
-	}
+	    (!lmp_transp_capable(hdev) || !lmp_esco_capable(hdev)))
+		return -EOPNOTSUPP;
 
 	hcon = hci_connect_sco(hdev, type, &sco_pi(sk)->dst,
 			       sco_pi(sk)->setting);
-	if (IS_ERR(hcon)) {
-		err = PTR_ERR(hcon);
-		goto done;
-	}
+	if (IS_ERR(hcon))
+		return PTR_ERR(hcon);
 
 	conn = sco_conn_add(hcon);
 	if (!conn) {
 		hci_conn_drop(hcon);
-		err = -ENOMEM;
-		goto done;
+		return -ENOMEM;
 	}
 
 	/* Update source addr of the socket */
@@ -282,7 +270,7 @@ static int sco_connect(struct sock *sk)
 
 	err = sco_chan_add(conn, sk, NULL);
 	if (err)
-		goto done;
+		return err;
 
 	if (hcon->state == BT_CONNECTED) {
 		sco_sock_clear_timer(sk);
@@ -292,9 +280,6 @@ static int sco_connect(struct sock *sk)
 		sco_sock_set_timer(sk, sk->sk_sndtimeo);
 	}
 
-done:
-	hci_dev_unlock(hdev);
-	hci_dev_put(hdev);
 	return err;
 }
 
@@ -589,6 +574,7 @@ static int sco_sock_connect(struct socket *sock, struct sockaddr *addr, int alen
 {
 	struct sockaddr_sco *sa = (struct sockaddr_sco *) addr;
 	struct sock *sk = sock->sk;
+	struct hci_dev  *hdev;
 	int err;
 
 	BT_DBG("sk %p", sk);
@@ -603,12 +589,19 @@ static int sco_sock_connect(struct socket *sock, struct sockaddr *addr, int alen
 	if (sk->sk_type != SOCK_SEQPACKET)
 		return -EINVAL;
 
+	hdev = hci_get_route(&sa->sco_bdaddr, &sco_pi(sk)->src, BDADDR_BREDR);
+	if (!hdev)
+		return -EHOSTUNREACH;
+	hci_dev_lock(hdev);
+
 	lock_sock(sk);
 
 	/* Set destination address and psm */
 	bacpy(&sco_pi(sk)->dst, &sa->sco_bdaddr);
 
-	err = sco_connect(sk);
+	err = sco_connect(hdev, sk);
+	hci_dev_unlock(hdev);
+	hci_dev_put(hdev);
 	if (err)
 		goto done;
 
-- 
2.30.2


  parent reply	other threads:[~2021-09-09 12:37 UTC|newest]

Thread overview: 180+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-09 11:48 [PATCH AUTOSEL 5.10 001/176] drm/vc4: hdmi: Set HD_CTL_WHOLSMP and HD_CTL_CHALIGN_SET Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 002/176] drm/amdgpu: Fix amdgpu_ras_eeprom_init() Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 003/176] ASoC: atmel: ATMEL drivers don't need HAS_DMA Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 004/176] media: dib8000: rewrite the init prbs logic Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 005/176] libbpf: Fix reuse of pinned map on older kernel Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 006/176] x86/hyperv: fix for unwanted manipulation of sched_clock when TSC marked unstable Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 007/176] crypto: mxs-dcp - Use sg_mapping_iter to copy data Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 008/176] PCI: Use pci_update_current_state() in pci_enable_device_flags() Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 009/176] tipc: keep the skb in rcv queue until the whole data is read Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 010/176] net: phy: Fix data type in DP83822 dp8382x_disable_wol() Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 011/176] iio: dac: ad5624r: Fix incorrect handling of an optional regulator Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 012/176] iavf: do not override the adapter state in the watchdog task Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 013/176] iavf: fix locking of critical sections Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 014/176] ARM: dts: qcom: apq8064: correct clock names Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 015/176] video: fbdev: kyro: fix a DoS bug by restricting user input Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 016/176] netlink: Deal with ESRCH error in nlmsg_notify() Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 017/176] Smack: Fix wrong semantics in smk_access_entry() Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 018/176] drm: avoid blocking in drm_clients_info's rcu section Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 019/176] drm: serialize drm_file.master with a new spinlock Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 020/176] drm: protect drm_master pointers in drm_lease.c Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 021/176] rcu: Fix macro name CONFIG_TASKS_RCU_TRACE Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 022/176] igc: Check if num of q_vectors is smaller than max before array access Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 023/176] usb: host: fotg210: fix the endpoint's transactional opportunities calculation Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 024/176] usb: host: fotg210: fix the actual_length of an iso packet Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 025/176] usb: gadget: u_ether: fix a potential null pointer dereference Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 026/176] USB: EHCI: ehci-mv: improve error handling in mv_ehci_enable() Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 027/176] usb: gadget: composite: Allow bMaxPower=0 if self-powered Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 028/176] staging: board: Fix uninitialized spinlock when attaching genpd Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 029/176] tty: serial: jsm: hold port lock when reporting modem line changes Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 030/176] bus: fsl-mc: fix mmio base address for child DPRCs Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 031/176] selftests: firmware: Fix ignored return val of asprintf() warn Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 032/176] drm/amd/display: Fix timer_per_pixel unit error Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 033/176] media: hantro: vp8: Move noisy WARN_ON to vpu_debug Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 034/176] media: platform: stm32: unprepare clocks at handling errors in probe Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 035/176] media: atomisp: Fix runtime PM imbalance in atomisp_pci_probe Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 036/176] media: atomisp: pci: fix error return code in atomisp_pci_probe() Sasha Levin
2021-09-09 11:48 ` [PATCH AUTOSEL 5.10 037/176] nfp: fix return statement in nfp_net_parse_meta() Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 038/176] spi: imx: fix ERR009165 Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 039/176] ethtool: improve compat ioctl handling Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 040/176] drm/amdgpu: Fix a printing message Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 041/176] drm/amd/amdgpu: Update debugfs link_settings output link_rate field in hex Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 042/176] bpf/tests: Fix copy-and-paste error in double word test Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 043/176] bpf/tests: Do not PASS tests without actually testing the result Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 044/176] drm/bridge: nwl-dsi: Avoid potential multiplication overflow on 32-bit Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 045/176] arm64: dts: allwinner: h6: tanix-tx6: Fix regulator node names Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 046/176] video: fbdev: asiliantfb: Error out if 'pixclock' equals zero Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 047/176] video: fbdev: kyro: " Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 048/176] video: fbdev: riva: " Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 049/176] ipv4: ip_output.c: Fix out-of-bounds warning in ip_copy_addrs() Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 050/176] flow_dissector: Fix out-of-bounds warnings Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 051/176] s390/jump_label: print real address in a case of a jump label bug Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 052/176] s390: make PCI mio support a machine flag Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 053/176] serial: 8250: Define RX trigger levels for OxSemi 950 devices Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 054/176] xtensa: ISS: don't panic in rs_init Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 055/176] hvsi: don't panic on tty_register_driver failure Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 056/176] serial: 8250_pci: make setup_port() parameters explicitly unsigned Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 057/176] staging: ks7010: Fix the initialization of the 'sleep_status' structure Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 058/176] samples: bpf: Fix tracex7 error raised on the missing argument Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 059/176] libbpf: Fix race when pinning maps in parallel Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 060/176] ata: sata_dwc_460ex: No need to call phy_exit() befre phy_init() Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 061/176] i2c: i801: Fix handling SMBHSTCNT_PEC_EN Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 062/176] Bluetooth: skip invalid hci_sync_conn_complete_evt Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 063/176] workqueue: Fix possible memory leaks in wq_numa_init() Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 064/176] ARM: dts: stm32: Set {bitclock,frame}-master phandles on DHCOM SoM Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 065/176] ARM: dts: stm32: Set {bitclock,frame}-master phandles on ST DKx Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 066/176] ARM: dts: stm32: Update AV96 adv7513 node per dtbs_check Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 067/176] bonding: 3ad: fix the concurrency between __bond_release_one() and bond_3ad_state_machine_handler() Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 068/176] ARM: dts: at91: use the right property for shutdown controller Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 069/176] arm64: tegra: Fix Tegra194 PCIe EP compatible string Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 070/176] ASoC: Intel: bytcr_rt5640: Move "Platform Clock" routes to the maps for the matching in-/output Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 071/176] bpf: Fix off-by-one in tail call count limiting Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 072/176] ASoC: Intel: update sof_pcm512x quirks Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 073/176] media: imx258: Rectify mismatch of VTS value Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 074/176] media: imx258: Limit the max analogue gain to 480 Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 075/176] media: v4l2-dv-timings.c: fix wrong condition in two for-loops Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 076/176] media: TDA1997x: fix tda1997x_query_dv_timings() return value Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 077/176] media: tegra-cec: Handle errors of clk_prepare_enable() Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 078/176] gfs2: Fix glock recursion in freeze_go_xmote_bh Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 079/176] arm64: dts: qcom: sdm630: Rewrite memory map Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 080/176] arm64: dts: qcom: sdm630: Fix TLMM node and pinctrl configuration Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 081/176] serial: 8250_omap: Handle optional overrun-throttle-ms property Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 082/176] ARM: dts: imx53-ppd: Fix ACHC entry Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 083/176] arm64: dts: qcom: ipq8074: fix pci node reg property Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 084/176] arm64: dts: qcom: sdm660: use reg value for memory node Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 085/176] arm64: dts: qcom: ipq6018: drop '0x' from unit address Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 086/176] arm64: dts: qcom: sdm630: don't use underscore in node name Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 087/176] arm64: dts: qcom: msm8994: " Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 088/176] arm64: dts: qcom: msm8996: " Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 089/176] arm64: dts: qcom: sm8250: Fix epss_l3 unit address Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 090/176] nvmem: qfprom: Fix up qfprom_disable_fuse_blowing() ordering Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 091/176] net: ethernet: stmmac: Do not use unreachable() in ipq806x_gmac_probe() Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 092/176] drm/msm: mdp4: drop vblank get/put from prepare/complete_commit Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 093/176] drm/msm/dsi: Fix DSI and DSI PHY regulator config from SDM660 Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 094/176] drm: xlnx: zynqmp_dpsub: Call pm_runtime_get_sync before setting pixel clock Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 095/176] drm: xlnx: zynqmp: release reset to DP controller before accessing DP registers Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 096/176] thunderbolt: Fix port linking by checking all adapters Sasha Levin
2021-09-09 11:49 ` [PATCH AUTOSEL 5.10 097/176] drm/amd/display: fix missing writeback disablement if plane is removed Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 098/176] drm/amd/display: fix incorrect CM/TF programming sequence in dwb Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 099/176] selftests/bpf: Fix xdp_tx.c prog section name Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 100/176] drm/vmwgfx: fix potential UAF in vmwgfx_surface.c Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 101/176] Bluetooth: schedule SCO timeouts with delayed_work Sasha Levin
2021-09-09 11:50 ` Sasha Levin [this message]
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 103/176] drm/msm/dp: return correct edid checksum after corrupted edid checksum read Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 104/176] net/mlx5: Fix variable type to match 64bit Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 105/176] gpu: drm: amd: amdgpu: amdgpu_i2c: fix possible uninitialized-variable access in amdgpu_i2c_router_select_ddc_port() Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 106/176] drm/display: fix possible null-pointer dereference in dcn10_set_clock() Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 107/176] mac80211: Fix monitor MTU limit so that A-MSDUs get through Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 108/176] ARM: tegra: acer-a500: Remove bogus USB VBUS regulators Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 109/176] ARM: tegra: tamonten: Fix UART pad setting Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 110/176] arm64: tegra: Fix compatible string for Tegra132 CPUs Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 111/176] arm64: dts: ls1046a: fix eeprom entries Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 112/176] nvme-tcp: don't check blk_mq_tag_to_rq when receiving pdu data Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 113/176] nvme: code command_id with a genctr for use-after-free validation Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 114/176] ACPICA: iASL: Fix for WPBT table with no command-line arguments Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 115/176] Bluetooth: Fix handling of LE Enhanced Connection Complete Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 116/176] opp: Don't print an error if required-opps is missing Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 117/176] serial: sh-sci: fix break handling for sysrq Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 118/176] iomap: pass writeback errors to the mapping Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 119/176] tcp: enable data-less, empty-cookie SYN with TFO_SERVER_COOKIE_NOT_REQD Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 120/176] rpc: fix gss_svc_init cleanup on failure Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 121/176] selftests/bpf: Fix flaky send_signal test Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 122/176] hwmon: (pmbus/ibm-cffps) Fix write bits for LED control Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 123/176] staging: rts5208: Fix get_ms_information() heap buffer size Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 124/176] net: Fix offloading indirect devices dependency on qdisc order creation Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 125/176] kselftest/arm64: mte: Fix misleading output when skipping tests Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 126/176] kselftest/arm64: pac: Fix skipping of tests on systems without PAC Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 127/176] gfs2: Don't call dlm after protocol is unmounted Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 128/176] usb: chipidea: host: fix port index underflow and UBSAN complains Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 129/176] lockd: lockd server-side shouldn't set fl_ops Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 130/176] drm/exynos: Always initialize mapping in exynos_drm_register_dma() Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 131/176] rtl8xxxu: Fix the handling of TX A-MPDU aggregation Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 132/176] rtw88: use read_poll_timeout instead of fixed sleep Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 133/176] rtw88: wow: build wow function only if CONFIG_PM is on Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 134/176] rtw88: wow: fix size access error of probe request Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 135/176] octeontx2-pf: Fix NIX1_RX interface backpressure Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 136/176] m68knommu: only set CONFIG_ISA_DMA_API for ColdFire sub-arch Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 137/176] btrfs: reset this_bio_flag to avoid inheriting old flags Sasha Levin
2021-09-09 13:00   ` David Sterba
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 138/176] btrfs: subpage: check if there are compressed extents inside one page Sasha Levin
2021-09-09 13:00   ` David Sterba
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 139/176] btrfs: subpage: fix race between prepare_pages() and btrfs_releasepage() Sasha Levin
2021-09-09 13:00   ` David Sterba
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 140/176] btrfs: tree-log: check btrfs_lookup_data_extent return value Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 141/176] ASoC: intel: atom: Revert PCM buffer address setup workaround again Sasha Levin
2021-09-09 12:06   ` Takashi Iwai
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 142/176] soundwire: intel: fix potential race condition during power down Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 143/176] ASoC: Intel: Skylake: Fix module configuration for KPB and MIXER Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 144/176] ASoC: Intel: Skylake: Fix passing loadable flag for module Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 145/176] of: Don't allow __of_attached_node_sysfs() without CONFIG_SYSFS Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 146/176] mmc: sdhci-of-arasan: Modified SD default speed to 19MHz for ZynqMP Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 147/176] mmc: sdhci-of-arasan: Check return value of non-void funtions Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 148/176] mmc: rtsx_pci: Fix long reads when clock is prescaled Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 149/176] selftests/bpf: Enlarge select() timeout for test_maps Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 150/176] mmc: core: Return correct emmc response in case of ioctl error Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 151/176] cifs: fix wrong release in sess_alloc_buffer() failed path Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 152/176] Revert "USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set" Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 153/176] usb: musb: musb_dsps: request_irq() after initializing musb Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 154/176] usbip: give back URBs for unsent unlink requests during cleanup Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 155/176] usbip:vhci_hcd USB port can get stuck in the disabled state Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 156/176] ASoC: rockchip: i2s: Fix regmap_ops hang Sasha Levin
2021-09-09 11:50 ` [PATCH AUTOSEL 5.10 157/176] ASoC: rockchip: i2s: Fixup config for DAIFMT_DSP_A/B Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 158/176] drm/amdkfd: Account for SH/SE count when setting up cu masks Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 159/176] nfsd: fix crash on LOCKT on reexported NFSv3 Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 160/176] iwlwifi: pcie: free RBs during configure Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 161/176] iwlwifi: mvm: fix a memory leak in iwl_mvm_mac_ctxt_beacon_changed Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 162/176] iwlwifi: mvm: avoid static queue number aliasing Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 163/176] iwlwifi: mvm: fix access to BSS elements Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 164/176] iwlwifi: fw: correctly limit to monitor dump Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 165/176] iwlwifi: mvm: Fix scan channel flags settings Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 166/176] net/mlx5: DR, fix a potential use-after-free bug Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 167/176] net/mlx5: DR, Enable QP retransmission Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 168/176] parport: remove non-zero check on count Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 169/176] selftests/bpf: Fix potential unreleased lock Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 170/176] wcn36xx: Fix missing frame timestamp for beacon/probe-resp Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 171/176] ath9k: fix OOB read ar9300_eeprom_restore_internal Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 172/176] ath9k: fix sleeping in atomic context Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 173/176] net: fix NULL pointer reference in cipso_v4_doi_free Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 174/176] fix array-index-out-of-bounds in taprio_change Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 175/176] net: w5100: check return value after calling platform_get_resource() Sasha Levin
2021-09-09 11:51 ` [PATCH AUTOSEL 5.10 176/176] net: hns3: clean up a type mismatch warning Sasha Levin

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=20210909115118.146181-102-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=desmondcheongzx@gmail.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luiz.von.dentz@intel.com \
    --cc=netdev@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).