public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev,
	syzbot+0a7039d5d9986ff4ecec@syzkaller.appspotmail.com,
	syzbot+cc0cc52e7f43dc9e6df1@syzkaller.appspotmail.com,
	Dmitry Antipov <dmantipov@yandex.ru>,
	Luiz Augusto von Dentz <luiz.von.dentz@intel.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 294/356] Bluetooth: MGMT: Protect mgmt_pending list with its own lock
Date: Tue, 17 Jun 2025 17:26:49 +0200	[thread overview]
Message-ID: <20250617152350.009066193@linuxfoundation.org> (raw)
In-Reply-To: <20250617152338.212798615@linuxfoundation.org>

6.6-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

[ Upstream commit 6fe26f694c824b8a4dbf50c635bee1302e3f099c ]

This uses a mutex to protect from concurrent access of mgmt_pending
list which can cause crashes like:

==================================================================
BUG: KASAN: slab-use-after-free in hci_sock_get_channel+0x60/0x68 net/bluetooth/hci_sock.c:91
Read of size 2 at addr ffff0000c48885b2 by task syz.4.334/7318

CPU: 0 UID: 0 PID: 7318 Comm: syz.4.334 Not tainted 6.15.0-rc7-syzkaller-g187899f4124a #0 PREEMPT
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Call trace:
 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:466 (C)
 __dump_stack+0x30/0x40 lib/dump_stack.c:94
 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120
 print_address_description+0xa8/0x254 mm/kasan/report.c:408
 print_report+0x68/0x84 mm/kasan/report.c:521
 kasan_report+0xb0/0x110 mm/kasan/report.c:634
 __asan_report_load2_noabort+0x20/0x2c mm/kasan/report_generic.c:379
 hci_sock_get_channel+0x60/0x68 net/bluetooth/hci_sock.c:91
 mgmt_pending_find+0x7c/0x140 net/bluetooth/mgmt_util.c:223
 pending_find net/bluetooth/mgmt.c:947 [inline]
 remove_adv_monitor+0x44/0x1a4 net/bluetooth/mgmt.c:5445
 hci_mgmt_cmd+0x780/0xc00 net/bluetooth/hci_sock.c:1712
 hci_sock_sendmsg+0x544/0xbb0 net/bluetooth/hci_sock.c:1832
 sock_sendmsg_nosec net/socket.c:712 [inline]
 __sock_sendmsg net/socket.c:727 [inline]
 sock_write_iter+0x25c/0x378 net/socket.c:1131
 new_sync_write fs/read_write.c:591 [inline]
 vfs_write+0x62c/0x97c fs/read_write.c:684
 ksys_write+0x120/0x210 fs/read_write.c:736
 __do_sys_write fs/read_write.c:747 [inline]
 __se_sys_write fs/read_write.c:744 [inline]
 __arm64_sys_write+0x7c/0x90 fs/read_write.c:744
 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
 el0_svc+0x58/0x17c arch/arm64/kernel/entry-common.c:767
 el0t_64_sync_handler+0x78/0x108 arch/arm64/kernel/entry-common.c:786
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600

Allocated by task 7037:
 kasan_save_stack mm/kasan/common.c:47 [inline]
 kasan_save_track+0x40/0x78 mm/kasan/common.c:68
 kasan_save_alloc_info+0x44/0x54 mm/kasan/generic.c:562
 poison_kmalloc_redzone mm/kasan/common.c:377 [inline]
 __kasan_kmalloc+0x9c/0xb4 mm/kasan/common.c:394
 kasan_kmalloc include/linux/kasan.h:260 [inline]
 __do_kmalloc_node mm/slub.c:4327 [inline]
 __kmalloc_noprof+0x2fc/0x4c8 mm/slub.c:4339
 kmalloc_noprof include/linux/slab.h:909 [inline]
 sk_prot_alloc+0xc4/0x1f0 net/core/sock.c:2198
 sk_alloc+0x44/0x3ac net/core/sock.c:2254
 bt_sock_alloc+0x4c/0x300 net/bluetooth/af_bluetooth.c:148
 hci_sock_create+0xa8/0x194 net/bluetooth/hci_sock.c:2202
 bt_sock_create+0x14c/0x24c net/bluetooth/af_bluetooth.c:132
 __sock_create+0x43c/0x91c net/socket.c:1541
 sock_create net/socket.c:1599 [inline]
 __sys_socket_create net/socket.c:1636 [inline]
 __sys_socket+0xd4/0x1c0 net/socket.c:1683
 __do_sys_socket net/socket.c:1697 [inline]
 __se_sys_socket net/socket.c:1695 [inline]
 __arm64_sys_socket+0x7c/0x94 net/socket.c:1695
 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
 el0_svc+0x58/0x17c arch/arm64/kernel/entry-common.c:767
 el0t_64_sync_handler+0x78/0x108 arch/arm64/kernel/entry-common.c:786
 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600

Freed by task 6607:
 kasan_save_stack mm/kasan/common.c:47 [inline]
 kasan_save_track+0x40/0x78 mm/kasan/common.c:68
 kasan_save_free_info+0x58/0x70 mm/kasan/generic.c:576
 poison_slab_object mm/kasan/common.c:247 [inline]
 __kasan_slab_free+0x68/0x88 mm/kasan/common.c:264
 kasan_slab_free include/linux/kasan.h:233 [inline]
 slab_free_hook mm/slub.c:2380 [inline]
 slab_free mm/slub.c:4642 [inline]
 kfree+0x17c/0x474 mm/slub.c:4841
 sk_prot_free net/core/sock.c:2237 [inline]
 __sk_destruct+0x4f4/0x760 net/core/sock.c:2332
 sk_destruct net/core/sock.c:2360 [inline]
 __sk_free+0x320/0x430 net/core/sock.c:2371
 sk_free+0x60/0xc8 net/core/sock.c:2382
 sock_put include/net/sock.h:1944 [inline]
 mgmt_pending_free+0x88/0x118 net/bluetooth/mgmt_util.c:290
 mgmt_pending_remove+0xec/0x104 net/bluetooth/mgmt_util.c:298
 mgmt_set_powered_complete+0x418/0x5cc net/bluetooth/mgmt.c:1355
 hci_cmd_sync_work+0x204/0x33c net/bluetooth/hci_sync.c:334
 process_one_work+0x7e8/0x156c kernel/workqueue.c:3238
 process_scheduled_works kernel/workqueue.c:3319 [inline]
 worker_thread+0x958/0xed8 kernel/workqueue.c:3400
 kthread+0x5fc/0x75c kernel/kthread.c:464
 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:847

Fixes: a380b6cff1a2 ("Bluetooth: Add generic mgmt helper API")
Closes: https://syzkaller.appspot.com/bug?extid=0a7039d5d9986ff4ecec
Closes: https://syzkaller.appspot.com/bug?extid=cc0cc52e7f43dc9e6df1
Reported-by: syzbot+0a7039d5d9986ff4ecec@syzkaller.appspotmail.com
Tested-by: syzbot+0a7039d5d9986ff4ecec@syzkaller.appspotmail.com
Tested-by: syzbot+cc0cc52e7f43dc9e6df1@syzkaller.appspotmail.com
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/net/bluetooth/hci_core.h |   1 +
 net/bluetooth/hci_core.c         |   1 +
 net/bluetooth/mgmt.c             | 101 +++++++++++++++----------------
 net/bluetooth/mgmt_util.c        |  32 ++++++++--
 net/bluetooth/mgmt_util.h        |   4 +-
 5 files changed, 80 insertions(+), 59 deletions(-)

diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index 1304877813137..d63af08c6cdc2 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -542,6 +542,7 @@ struct hci_dev {
 	struct hci_conn_hash	conn_hash;
 
 	struct list_head	mesh_pending;
+	struct mutex		mgmt_pending_lock;
 	struct list_head	mgmt_pending;
 	struct list_head	reject_list;
 	struct list_head	accept_list;
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 023ad47a385bf..32f7bd0e89168 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -2490,6 +2490,7 @@ struct hci_dev *hci_alloc_dev_priv(int sizeof_priv)
 
 	mutex_init(&hdev->lock);
 	mutex_init(&hdev->req_lock);
+	mutex_init(&hdev->mgmt_pending_lock);
 
 	ida_init(&hdev->unset_handle_ida);
 
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index fda492bf0cd47..44174f59b31e6 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -1433,22 +1433,17 @@ static void settings_rsp(struct mgmt_pending_cmd *cmd, void *data)
 
 	send_settings_rsp(cmd->sk, cmd->opcode, match->hdev);
 
-	list_del(&cmd->list);
-
 	if (match->sk == NULL) {
 		match->sk = cmd->sk;
 		sock_hold(match->sk);
 	}
-
-	mgmt_pending_free(cmd);
 }
 
 static void cmd_status_rsp(struct mgmt_pending_cmd *cmd, void *data)
 {
 	u8 *status = data;
 
-	mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, *status);
-	mgmt_pending_remove(cmd);
+	mgmt_cmd_status(cmd->sk, cmd->hdev->id, cmd->opcode, *status);
 }
 
 static void cmd_complete_rsp(struct mgmt_pending_cmd *cmd, void *data)
@@ -1462,8 +1457,6 @@ static void cmd_complete_rsp(struct mgmt_pending_cmd *cmd, void *data)
 
 	if (cmd->cmd_complete) {
 		cmd->cmd_complete(cmd, match->mgmt_status);
-		mgmt_pending_remove(cmd);
-
 		return;
 	}
 
@@ -1472,13 +1465,13 @@ static void cmd_complete_rsp(struct mgmt_pending_cmd *cmd, void *data)
 
 static int generic_cmd_complete(struct mgmt_pending_cmd *cmd, u8 status)
 {
-	return mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, status,
+	return mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode, status,
 				 cmd->param, cmd->param_len);
 }
 
 static int addr_cmd_complete(struct mgmt_pending_cmd *cmd, u8 status)
 {
-	return mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, status,
+	return mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode, status,
 				 cmd->param, sizeof(struct mgmt_addr_info));
 }
 
@@ -1518,7 +1511,7 @@ static void mgmt_set_discoverable_complete(struct hci_dev *hdev, void *data,
 
 	if (err) {
 		u8 mgmt_err = mgmt_status(err);
-		mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, mgmt_err);
+		mgmt_cmd_status(cmd->sk, cmd->hdev->id, cmd->opcode, mgmt_err);
 		hci_dev_clear_flag(hdev, HCI_LIMITED_DISCOVERABLE);
 		goto done;
 	}
@@ -1693,7 +1686,7 @@ static void mgmt_set_connectable_complete(struct hci_dev *hdev, void *data,
 
 	if (err) {
 		u8 mgmt_err = mgmt_status(err);
-		mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, mgmt_err);
+		mgmt_cmd_status(cmd->sk, cmd->hdev->id, cmd->opcode, mgmt_err);
 		goto done;
 	}
 
@@ -1930,8 +1923,8 @@ static void set_ssp_complete(struct hci_dev *hdev, void *data, int err)
 			new_settings(hdev, NULL);
 		}
 
-		mgmt_pending_foreach(MGMT_OP_SET_SSP, hdev, cmd_status_rsp,
-				     &mgmt_err);
+		mgmt_pending_foreach(MGMT_OP_SET_SSP, hdev, true,
+				     cmd_status_rsp, &mgmt_err);
 		return;
 	}
 
@@ -1941,7 +1934,7 @@ static void set_ssp_complete(struct hci_dev *hdev, void *data, int err)
 		changed = hci_dev_test_and_clear_flag(hdev, HCI_SSP_ENABLED);
 	}
 
-	mgmt_pending_foreach(MGMT_OP_SET_SSP, hdev, settings_rsp, &match);
+	mgmt_pending_foreach(MGMT_OP_SET_SSP, hdev, true, settings_rsp, &match);
 
 	if (changed)
 		new_settings(hdev, match.sk);
@@ -2061,12 +2054,12 @@ static void set_le_complete(struct hci_dev *hdev, void *data, int err)
 	bt_dev_dbg(hdev, "err %d", err);
 
 	if (status) {
-		mgmt_pending_foreach(MGMT_OP_SET_LE, hdev, cmd_status_rsp,
-							&status);
+		mgmt_pending_foreach(MGMT_OP_SET_LE, hdev, true, cmd_status_rsp,
+				     &status);
 		return;
 	}
 
-	mgmt_pending_foreach(MGMT_OP_SET_LE, hdev, settings_rsp, &match);
+	mgmt_pending_foreach(MGMT_OP_SET_LE, hdev, true, settings_rsp, &match);
 
 	new_settings(hdev, match.sk);
 
@@ -2125,7 +2118,7 @@ static void set_mesh_complete(struct hci_dev *hdev, void *data, int err)
 	struct sock *sk = cmd->sk;
 
 	if (status) {
-		mgmt_pending_foreach(MGMT_OP_SET_MESH_RECEIVER, hdev,
+		mgmt_pending_foreach(MGMT_OP_SET_MESH_RECEIVER, hdev, true,
 				     cmd_status_rsp, &status);
 		return;
 	}
@@ -2566,7 +2559,7 @@ static void mgmt_class_complete(struct hci_dev *hdev, void *data, int err)
 
 	bt_dev_dbg(hdev, "err %d", err);
 
-	mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode,
+	mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode,
 			  mgmt_status(err), hdev->dev_class, 3);
 
 	mgmt_pending_free(cmd);
@@ -3354,7 +3347,7 @@ static int pairing_complete(struct mgmt_pending_cmd *cmd, u8 status)
 	bacpy(&rp.addr.bdaddr, &conn->dst);
 	rp.addr.type = link_to_bdaddr(conn->type, conn->dst_type);
 
-	err = mgmt_cmd_complete(cmd->sk, cmd->index, MGMT_OP_PAIR_DEVICE,
+	err = mgmt_cmd_complete(cmd->sk, cmd->hdev->id, MGMT_OP_PAIR_DEVICE,
 				status, &rp, sizeof(rp));
 
 	/* So we don't get further callbacks for this connection */
@@ -5243,7 +5236,7 @@ static void mgmt_add_adv_patterns_monitor_complete(struct hci_dev *hdev,
 		hci_update_passive_scan(hdev);
 	}
 
-	mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode,
+	mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode,
 			  mgmt_status(status), &rp, sizeof(rp));
 	mgmt_pending_remove(cmd);
 
@@ -5458,7 +5451,7 @@ static void mgmt_remove_adv_monitor_complete(struct hci_dev *hdev,
 		hci_update_passive_scan(hdev);
 	}
 
-	mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode,
+	mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode,
 			  mgmt_status(status), &rp, sizeof(rp));
 	mgmt_pending_free(cmd);
 
@@ -5857,7 +5850,7 @@ static void start_discovery_complete(struct hci_dev *hdev, void *data, int err)
 	    cmd != pending_find(MGMT_OP_START_SERVICE_DISCOVERY, hdev))
 		return;
 
-	mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, mgmt_status(err),
+	mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode, mgmt_status(err),
 			  cmd->param, 1);
 	mgmt_pending_remove(cmd);
 
@@ -6095,7 +6088,7 @@ static void stop_discovery_complete(struct hci_dev *hdev, void *data, int err)
 
 	bt_dev_dbg(hdev, "err %d", err);
 
-	mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, mgmt_status(err),
+	mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode, mgmt_status(err),
 			  cmd->param, 1);
 	mgmt_pending_remove(cmd);
 
@@ -6320,7 +6313,7 @@ static void set_advertising_complete(struct hci_dev *hdev, void *data, int err)
 	u8 status = mgmt_status(err);
 
 	if (status) {
-		mgmt_pending_foreach(MGMT_OP_SET_ADVERTISING, hdev,
+		mgmt_pending_foreach(MGMT_OP_SET_ADVERTISING, hdev, true,
 				     cmd_status_rsp, &status);
 		return;
 	}
@@ -6330,7 +6323,7 @@ static void set_advertising_complete(struct hci_dev *hdev, void *data, int err)
 	else
 		hci_dev_clear_flag(hdev, HCI_ADVERTISING);
 
-	mgmt_pending_foreach(MGMT_OP_SET_ADVERTISING, hdev, settings_rsp,
+	mgmt_pending_foreach(MGMT_OP_SET_ADVERTISING, hdev, true, settings_rsp,
 			     &match);
 
 	new_settings(hdev, match.sk);
@@ -6674,7 +6667,7 @@ static void set_bredr_complete(struct hci_dev *hdev, void *data, int err)
 		 */
 		hci_dev_clear_flag(hdev, HCI_BREDR_ENABLED);
 
-		mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, mgmt_err);
+		mgmt_cmd_status(cmd->sk, cmd->hdev->id, cmd->opcode, mgmt_err);
 	} else {
 		send_settings_rsp(cmd->sk, MGMT_OP_SET_BREDR, hdev);
 		new_settings(hdev, cmd->sk);
@@ -6811,7 +6804,7 @@ static void set_secure_conn_complete(struct hci_dev *hdev, void *data, int err)
 	if (err) {
 		u8 mgmt_err = mgmt_status(err);
 
-		mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode, mgmt_err);
+		mgmt_cmd_status(cmd->sk, cmd->hdev->id, cmd->opcode, mgmt_err);
 		goto done;
 	}
 
@@ -7258,7 +7251,7 @@ static void get_conn_info_complete(struct hci_dev *hdev, void *data, int err)
 		rp.max_tx_power = HCI_TX_POWER_INVALID;
 	}
 
-	mgmt_cmd_complete(cmd->sk, cmd->index, MGMT_OP_GET_CONN_INFO, status,
+	mgmt_cmd_complete(cmd->sk, cmd->hdev->id, MGMT_OP_GET_CONN_INFO, status,
 			  &rp, sizeof(rp));
 
 	mgmt_pending_free(cmd);
@@ -7418,7 +7411,7 @@ static void get_clock_info_complete(struct hci_dev *hdev, void *data, int err)
 	}
 
 complete:
-	mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode, status, &rp,
+	mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode, status, &rp,
 			  sizeof(rp));
 
 	mgmt_pending_free(cmd);
@@ -8622,10 +8615,10 @@ static void add_advertising_complete(struct hci_dev *hdev, void *data, int err)
 	rp.instance = cp->instance;
 
 	if (err)
-		mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode,
+		mgmt_cmd_status(cmd->sk, cmd->hdev->id, cmd->opcode,
 				mgmt_status(err));
 	else
-		mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode,
+		mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode,
 				  mgmt_status(err), &rp, sizeof(rp));
 
 	add_adv_complete(hdev, cmd->sk, cp->instance, err);
@@ -8813,10 +8806,10 @@ static void add_ext_adv_params_complete(struct hci_dev *hdev, void *data,
 
 		hci_remove_adv_instance(hdev, cp->instance);
 
-		mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode,
+		mgmt_cmd_status(cmd->sk, cmd->hdev->id, cmd->opcode,
 				mgmt_status(err));
 	} else {
-		mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode,
+		mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode,
 				  mgmt_status(err), &rp, sizeof(rp));
 	}
 
@@ -8964,10 +8957,10 @@ static void add_ext_adv_data_complete(struct hci_dev *hdev, void *data, int err)
 	rp.instance = cp->instance;
 
 	if (err)
-		mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode,
+		mgmt_cmd_status(cmd->sk, cmd->hdev->id, cmd->opcode,
 				mgmt_status(err));
 	else
-		mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode,
+		mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode,
 				  mgmt_status(err), &rp, sizeof(rp));
 
 	mgmt_pending_free(cmd);
@@ -9126,10 +9119,10 @@ static void remove_advertising_complete(struct hci_dev *hdev, void *data,
 	rp.instance = cp->instance;
 
 	if (err)
-		mgmt_cmd_status(cmd->sk, cmd->index, cmd->opcode,
+		mgmt_cmd_status(cmd->sk, cmd->hdev->id, cmd->opcode,
 				mgmt_status(err));
 	else
-		mgmt_cmd_complete(cmd->sk, cmd->index, cmd->opcode,
+		mgmt_cmd_complete(cmd->sk, cmd->hdev->id, cmd->opcode,
 				  MGMT_STATUS_SUCCESS, &rp, sizeof(rp));
 
 	mgmt_pending_free(cmd);
@@ -9400,7 +9393,7 @@ void mgmt_index_removed(struct hci_dev *hdev)
 	if (test_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks))
 		return;
 
-	mgmt_pending_foreach(0, hdev, cmd_complete_rsp, &match);
+	mgmt_pending_foreach(0, hdev, true, cmd_complete_rsp, &match);
 
 	if (hci_dev_test_flag(hdev, HCI_UNCONFIGURED)) {
 		mgmt_index_event(MGMT_EV_UNCONF_INDEX_REMOVED, hdev, NULL, 0,
@@ -9438,7 +9431,8 @@ void mgmt_power_on(struct hci_dev *hdev, int err)
 		hci_update_passive_scan(hdev);
 	}
 
-	mgmt_pending_foreach(MGMT_OP_SET_POWERED, hdev, settings_rsp, &match);
+	mgmt_pending_foreach(MGMT_OP_SET_POWERED, hdev, true, settings_rsp,
+			     &match);
 
 	new_settings(hdev, match.sk);
 
@@ -9453,7 +9447,8 @@ void __mgmt_power_off(struct hci_dev *hdev)
 	struct cmd_lookup match = { NULL, hdev };
 	u8 zero_cod[] = { 0, 0, 0 };
 
-	mgmt_pending_foreach(MGMT_OP_SET_POWERED, hdev, settings_rsp, &match);
+	mgmt_pending_foreach(MGMT_OP_SET_POWERED, hdev, true, settings_rsp,
+			     &match);
 
 	/* If the power off is because of hdev unregistration let
 	 * use the appropriate INVALID_INDEX status. Otherwise use
@@ -9467,7 +9462,7 @@ void __mgmt_power_off(struct hci_dev *hdev)
 	else
 		match.mgmt_status = MGMT_STATUS_NOT_POWERED;
 
-	mgmt_pending_foreach(0, hdev, cmd_complete_rsp, &match);
+	mgmt_pending_foreach(0, hdev, true, cmd_complete_rsp, &match);
 
 	if (memcmp(hdev->dev_class, zero_cod, sizeof(zero_cod)) != 0) {
 		mgmt_limited_event(MGMT_EV_CLASS_OF_DEV_CHANGED, hdev,
@@ -9708,7 +9703,6 @@ static void unpair_device_rsp(struct mgmt_pending_cmd *cmd, void *data)
 	device_unpaired(hdev, &cp->addr.bdaddr, cp->addr.type, cmd->sk);
 
 	cmd->cmd_complete(cmd, 0);
-	mgmt_pending_remove(cmd);
 }
 
 bool mgmt_powering_down(struct hci_dev *hdev)
@@ -9761,8 +9755,8 @@ void mgmt_disconnect_failed(struct hci_dev *hdev, bdaddr_t *bdaddr,
 	struct mgmt_cp_disconnect *cp;
 	struct mgmt_pending_cmd *cmd;
 
-	mgmt_pending_foreach(MGMT_OP_UNPAIR_DEVICE, hdev, unpair_device_rsp,
-			     hdev);
+	mgmt_pending_foreach(MGMT_OP_UNPAIR_DEVICE, hdev, true,
+			     unpair_device_rsp, hdev);
 
 	cmd = pending_find(MGMT_OP_DISCONNECT, hdev);
 	if (!cmd)
@@ -9955,7 +9949,7 @@ void mgmt_auth_enable_complete(struct hci_dev *hdev, u8 status)
 
 	if (status) {
 		u8 mgmt_err = mgmt_status(status);
-		mgmt_pending_foreach(MGMT_OP_SET_LINK_SECURITY, hdev,
+		mgmt_pending_foreach(MGMT_OP_SET_LINK_SECURITY, hdev, true,
 				     cmd_status_rsp, &mgmt_err);
 		return;
 	}
@@ -9965,8 +9959,8 @@ void mgmt_auth_enable_complete(struct hci_dev *hdev, u8 status)
 	else
 		changed = hci_dev_test_and_clear_flag(hdev, HCI_LINK_SECURITY);
 
-	mgmt_pending_foreach(MGMT_OP_SET_LINK_SECURITY, hdev, settings_rsp,
-			     &match);
+	mgmt_pending_foreach(MGMT_OP_SET_LINK_SECURITY, hdev, true,
+			     settings_rsp, &match);
 
 	if (changed)
 		new_settings(hdev, match.sk);
@@ -9990,9 +9984,12 @@ void mgmt_set_class_of_dev_complete(struct hci_dev *hdev, u8 *dev_class,
 {
 	struct cmd_lookup match = { NULL, hdev, mgmt_status(status) };
 
-	mgmt_pending_foreach(MGMT_OP_SET_DEV_CLASS, hdev, sk_lookup, &match);
-	mgmt_pending_foreach(MGMT_OP_ADD_UUID, hdev, sk_lookup, &match);
-	mgmt_pending_foreach(MGMT_OP_REMOVE_UUID, hdev, sk_lookup, &match);
+	mgmt_pending_foreach(MGMT_OP_SET_DEV_CLASS, hdev, false, sk_lookup,
+			     &match);
+	mgmt_pending_foreach(MGMT_OP_ADD_UUID, hdev, false, sk_lookup,
+			     &match);
+	mgmt_pending_foreach(MGMT_OP_REMOVE_UUID, hdev, false, sk_lookup,
+			     &match);
 
 	if (!status) {
 		mgmt_limited_event(MGMT_EV_CLASS_OF_DEV_CHANGED, hdev, dev_class,
diff --git a/net/bluetooth/mgmt_util.c b/net/bluetooth/mgmt_util.c
index dba6a0d66500f..4ba500c377a4c 100644
--- a/net/bluetooth/mgmt_util.c
+++ b/net/bluetooth/mgmt_util.c
@@ -217,30 +217,47 @@ int mgmt_cmd_complete(struct sock *sk, u16 index, u16 cmd, u8 status,
 struct mgmt_pending_cmd *mgmt_pending_find(unsigned short channel, u16 opcode,
 					   struct hci_dev *hdev)
 {
-	struct mgmt_pending_cmd *cmd;
+	struct mgmt_pending_cmd *cmd, *tmp;
+
+	mutex_lock(&hdev->mgmt_pending_lock);
 
-	list_for_each_entry(cmd, &hdev->mgmt_pending, list) {
+	list_for_each_entry_safe(cmd, tmp, &hdev->mgmt_pending, list) {
 		if (hci_sock_get_channel(cmd->sk) != channel)
 			continue;
-		if (cmd->opcode == opcode)
+
+		if (cmd->opcode == opcode) {
+			mutex_unlock(&hdev->mgmt_pending_lock);
 			return cmd;
+		}
 	}
 
+	mutex_unlock(&hdev->mgmt_pending_lock);
+
 	return NULL;
 }
 
-void mgmt_pending_foreach(u16 opcode, struct hci_dev *hdev,
+void mgmt_pending_foreach(u16 opcode, struct hci_dev *hdev, bool remove,
 			  void (*cb)(struct mgmt_pending_cmd *cmd, void *data),
 			  void *data)
 {
 	struct mgmt_pending_cmd *cmd, *tmp;
 
+	mutex_lock(&hdev->mgmt_pending_lock);
+
 	list_for_each_entry_safe(cmd, tmp, &hdev->mgmt_pending, list) {
 		if (opcode > 0 && cmd->opcode != opcode)
 			continue;
 
+		if (remove)
+			list_del(&cmd->list);
+
 		cb(cmd, data);
+
+		if (remove)
+			mgmt_pending_free(cmd);
 	}
+
+	mutex_unlock(&hdev->mgmt_pending_lock);
 }
 
 struct mgmt_pending_cmd *mgmt_pending_new(struct sock *sk, u16 opcode,
@@ -254,7 +271,7 @@ struct mgmt_pending_cmd *mgmt_pending_new(struct sock *sk, u16 opcode,
 		return NULL;
 
 	cmd->opcode = opcode;
-	cmd->index = hdev->id;
+	cmd->hdev = hdev;
 
 	cmd->param = kmemdup(data, len, GFP_KERNEL);
 	if (!cmd->param) {
@@ -280,7 +297,9 @@ struct mgmt_pending_cmd *mgmt_pending_add(struct sock *sk, u16 opcode,
 	if (!cmd)
 		return NULL;
 
+	mutex_lock(&hdev->mgmt_pending_lock);
 	list_add_tail(&cmd->list, &hdev->mgmt_pending);
+	mutex_unlock(&hdev->mgmt_pending_lock);
 
 	return cmd;
 }
@@ -294,7 +313,10 @@ void mgmt_pending_free(struct mgmt_pending_cmd *cmd)
 
 void mgmt_pending_remove(struct mgmt_pending_cmd *cmd)
 {
+	mutex_lock(&cmd->hdev->mgmt_pending_lock);
 	list_del(&cmd->list);
+	mutex_unlock(&cmd->hdev->mgmt_pending_lock);
+
 	mgmt_pending_free(cmd);
 }
 
diff --git a/net/bluetooth/mgmt_util.h b/net/bluetooth/mgmt_util.h
index f2ba994ab1d84..024e51dd69375 100644
--- a/net/bluetooth/mgmt_util.h
+++ b/net/bluetooth/mgmt_util.h
@@ -33,7 +33,7 @@ struct mgmt_mesh_tx {
 struct mgmt_pending_cmd {
 	struct list_head list;
 	u16 opcode;
-	int index;
+	struct hci_dev *hdev;
 	void *param;
 	size_t param_len;
 	struct sock *sk;
@@ -54,7 +54,7 @@ int mgmt_cmd_complete(struct sock *sk, u16 index, u16 cmd, u8 status,
 
 struct mgmt_pending_cmd *mgmt_pending_find(unsigned short channel, u16 opcode,
 					   struct hci_dev *hdev);
-void mgmt_pending_foreach(u16 opcode, struct hci_dev *hdev,
+void mgmt_pending_foreach(u16 opcode, struct hci_dev *hdev, bool remove,
 			  void (*cb)(struct mgmt_pending_cmd *cmd, void *data),
 			  void *data);
 struct mgmt_pending_cmd *mgmt_pending_add(struct sock *sk, u16 opcode,
-- 
2.39.5




  parent reply	other threads:[~2025-06-17 16:09 UTC|newest]

Thread overview: 378+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-17 15:21 [PATCH 6.6 000/356] 6.6.94-rc1 review Greg Kroah-Hartman
2025-06-17 15:21 ` [PATCH 6.6 001/356] tracing: Fix compilation warning on arm32 Greg Kroah-Hartman
2025-06-17 15:21 ` [PATCH 6.6 002/356] pinctrl: armada-37xx: use correct OUTPUT_VAL register for GPIOs > 31 Greg Kroah-Hartman
2025-06-17 15:21 ` [PATCH 6.6 003/356] pinctrl: armada-37xx: set GPIO output value before setting direction Greg Kroah-Hartman
2025-06-17 15:21 ` [PATCH 6.6 004/356] acpi-cpufreq: Fix nominal_freq units to KHz in get_max_boost_ratio() Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 005/356] rtc: Make rtc_time64_to_tm() support dates before 1970 Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 006/356] rtc: Fix offset calculation for .start_secs < 0 Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 007/356] usb: quirks: Add NO_LPM quirk for SanDisk Extreme 55AE Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 008/356] usb: storage: Ignore UAS driver for SanDisk 3.2 Gen2 storage device Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 009/356] USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 010/356] usb: typec: ucsi: fix Clang -Wsign-conversion warning Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 011/356] Bluetooth: hci_qca: move the SoC type check to the right place Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 012/356] serial: jsm: fix NPE during jsm_uart_port_init Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 013/356] usb: usbtmc: Fix timeout value in get_stb Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 014/356] thunderbolt: Do not double dequeue a configuration request Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 015/356] dt-bindings: usb: cypress,hx3: Add support for all variants Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 016/356] dt-bindings: phy: imx8mq-usb: fix fsl,phy-tx-vboost-level-microvolt property Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 017/356] Revert "drm/amd/display: more liberal vmin/vmax update for freesync" Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 018/356] tools/x86/kcpuid: Fix error handling Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 019/356] x86/idle: Remove MFENCEs for X86_BUG_CLFLUSH_MONITOR in mwait_idle_with_hints() and prefer_mwait_c1_over_halt() Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 020/356] crypto: sun8i-ce-hash - fix error handling in sun8i_ce_hash_run() Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 021/356] gfs2: gfs2_create_inode error handling fix Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 022/356] perf/core: Fix broken throttling when max_samples_per_tick=1 Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 023/356] crypto: sun8i-ce-cipher - fix error handling in sun8i_ce_cipher_prepare() Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 024/356] crypto: sun8i-ss - do not use sg_dma_len before calling DMA functions Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 025/356] powerpc: do not build ppc_save_regs.o always Greg Kroah-Hartman
2025-06-20  1:50   ` Shiji Yang
2025-06-17 15:22 ` [PATCH 6.6 026/356] powerpc/crash: Fix non-smp kexec preparation Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 027/356] x86/microcode/AMD: Do not return error when microcode update is not necessary Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 028/356] x86/cpu: Sanitize CPUID(0x80000000) output Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 029/356] crypto: marvell/cesa - Handle zero-length skcipher requests Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 030/356] crypto: marvell/cesa - Avoid empty transfer descriptor Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 031/356] btrfs: scrub: update device stats when an error is detected Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 032/356] btrfs: scrub: fix a wrong error type when metadata bytenr mismatches Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 033/356] rcu/cpu_stall_cputime: fix the hardirq count for x86 architecture Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 034/356] crypto: lrw - Only add ecb if it is not already there Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 035/356] crypto: xts " Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 036/356] crypto: sun8i-ce - move fallback ahash_request to the end of the struct Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 037/356] kunit: Fix wrong parameter to kunit_deactivate_static_stub() Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 038/356] ACPICA: exserial: dont forget to handle FFixedHW opregions for reading Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 039/356] tools/nolibc/types.h: fix mismatched parenthesis in minor() Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 040/356] ASoC: tas2764: Enable main IRQs Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 041/356] EDAC/skx_common: Fix general protection fault Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 042/356] EDAC/{skx_common,i10nm}: Fix the loss of saved RRL for HBM pseudo channel 0 Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 043/356] tools/nolibc: fix integer overflow in i{64,}toa_r() and Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 044/356] spi: tegra210-quad: Fix X1_X2_X4 encoding and support x4 transfers Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 045/356] spi: tegra210-quad: remove redundant error handling code Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 046/356] spi: tegra210-quad: modify chip select (CS) deactivation Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 047/356] power: reset: at91-reset: Optimize at91_reset() Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 048/356] ASoC: SOF: ipc4-pcm: Adjust pipeline_list->pipelines allocation type Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 049/356] PM: wakeup: Delete space in the end of string shown by pm_show_wakelocks() Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 050/356] x86/mtrr: Check if fixed-range MTRRs exist in mtrr_save_fixed_ranges() Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 051/356] PM: sleep: Print PM debug messages during hibernation Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 052/356] ACPI: OSI: Stop advertising support for "3.0 _SCP Extensions" Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 053/356] spi: sh-msiof: Fix maximum DMA transfer size Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 054/356] ASoC: apple: mca: Constrain channels according to TDM mask Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 055/356] drm/vmwgfx: Add seqno waiter for sync_files Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 056/356] drm/vc4: tests: Use return instead of assert Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 057/356] drm/amd/pp: Fix potential NULL pointer dereference in atomctrl_initialize_mc_reg_table Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 058/356] media: rkvdec: Fix frame size enumeration Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 059/356] arm64/fpsimd: Avoid RES0 bits in the SME trap handler Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 060/356] arm64/fpsimd: Discard stale CPU state when handling SME traps Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 061/356] arm64/fpsimd: Fix merging of FPSIMD state during signal return Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 062/356] drm/bridge: lt9611uxc: Fix an error handling path in lt9611uxc_probe() Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 063/356] fs/ntfs3: handle hdr_first_de() return value Greg Kroah-Hartman
2025-06-17 15:22 ` [PATCH 6.6 064/356] watchdog: exar: Shorten identity name to fit correctly Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 065/356] m68k: mac: Fix macintosh_config for Mac II Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 066/356] firmware: psci: Fix refcount leak in psci_dt_init Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 067/356] arm64: Support ARM64_VA_BITS=52 when setting ARCH_MMAP_RND_BITS_MAX Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 068/356] selftests/seccomp: fix syscall_restart test for arm compat Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 069/356] drm: rcar-du: Fix memory leak in rcar_du_vsps_init() Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 070/356] drm/vkms: Adjust vkms_state->active_planes allocation type Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 071/356] drm/tegra: rgb: Fix the unbound reference count Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 072/356] firmware: SDEI: Allow sdei initialization without ACPI_APEI_GHES Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 073/356] arm64/fpsimd: Do not discard modified SVE state Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 074/356] scsi: qedf: Use designated initializer for struct qed_fcoe_cb_ops Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 075/356] perf/amlogic: Replace smp_processor_id() with raw_smp_processor_id() in meson_ddr_pmu_create() Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 076/356] drm/mediatek: mtk_drm_drv: Fix kobject put for mtk_mutex device ptr Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 077/356] drm/mediatek: Fix kobject put for component sub-drivers Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 078/356] drm/mediatek: mtk_drm_drv: Unbind secondary mmsys components on err Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 079/356] xen/x86: fix initial memory balloon target Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 080/356] wifi: ath11k: fix node corruption in ar->arvifs list Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 081/356] IB/cm: use rwlock for MAD agent lock Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 082/356] selftests/bpf: Fix bpf_nf selftest failure Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 083/356] bpf: fix ktls panic with sockmap Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 084/356] bpf, sockmap: fix duplicated data transmission Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 085/356] bpf, sockmap: Fix panic when calling skb_linearize Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 086/356] wifi: ath12k: Fix WMI tag for EHT rate in peer assoc Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 087/356] f2fs: fix to do sanity check on sbi->total_valid_block_count Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 088/356] net: ncsi: Fix GCPS 64-bit member variables Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 089/356] libbpf: Fix buffer overflow in bpf_object__init_prog Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 090/356] xfrm: Use xdo.dev instead of xdo.real_dev Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 091/356] wifi: rtw88: sdio: map mgmt frames to queue TX_DESC_QSEL_MGMT Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 092/356] wifi: rtw88: sdio: call rtw_sdio_indicate_tx_status unconditionally Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 093/356] wifi: rtw88: do not ignore hardware read error during DPK Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 094/356] wifi: ath12k: Add MSDU length validation for TKIP MIC error Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 095/356] wifi: ath12k: fix node corruption in ar->arvifs list Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 096/356] RDMA/hns: Include hnae3.h in hns_roce_hw_v2.h Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 097/356] scsi: hisi_sas: Call I_T_nexus after soft reset for SATA disk Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 098/356] libbpf: Remove sample_period init in perf_buffer Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 099/356] Use thread-safe function pointer in libbpf_print Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 100/356] iommu: Protect against overflow in iommu_pgsize() Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 101/356] bonding: assign random address if device address is same as bond Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 102/356] f2fs: clean up w/ fscrypt_is_bounce_page() Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 103/356] f2fs: fix to detect gcing page in f2fs_is_cp_guaranteed() Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 104/356] libbpf: Use proper errno value in linker Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 105/356] bpf: Allow XDP dev-bound programs to perform XDP_REDIRECT into maps Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 106/356] netfilter: bridge: Move specific fragmented packet to slow_path instead of dropping it Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 107/356] netfilter: nft_quota: match correctly when the quota just depleted Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 108/356] RDMA/mlx5: Fix error flow upon firmware failure for RQ destruction Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 109/356] bpf: Fix uninitialized values in BPF_{CORE,PROBE}_READ Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 110/356] tracing: Move histogram trigger variables from stack to per CPU structure Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 111/356] clk: qcom: camcc-sm6350: Add *_wait_val values for GDSCs Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 112/356] clk: qcom: dispcc-sm6350: " Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 113/356] clk: qcom: gcc-sm6350: " Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 114/356] clk: qcom: gpucc-sm6350: " Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 115/356] clk: bcm: rpi: Add NULL check in raspberrypi_clk_register() Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 116/356] efi/libstub: Describe missing out parameter in efi_load_initrd Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 117/356] tracing: Rename event_trigger_alloc() to trigger_data_alloc() Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 118/356] tracing: Fix error handling in event_trigger_parse() Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 119/356] ktls, sockmap: Fix missing uncharge operation Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 120/356] libbpf: Use proper errno value in nlattr Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 121/356] pinctrl: at91: Fix possible out-of-boundary access Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 122/356] bpf: Fix WARN() in get_bpf_raw_tp_regs Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 123/356] clk: qcom: gcc-msm8939: Fix mclk0 & mclk1 for 24 MHz Greg Kroah-Hartman
2025-06-17 15:23 ` [PATCH 6.6 124/356] s390/bpf: Store backchain even for leaf progs Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 125/356] wifi: rtw88: fix the para buffer size to avoid reading out of bounds Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 126/356] iommu: remove duplicate selection of DMAR_TABLE Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 127/356] wifi: ath12k: fix memory leak in ath12k_service_ready_ext_event Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 128/356] hisi_acc_vfio_pci: fix XQE dma address error Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 129/356] hisi_acc_vfio_pci: add eq and aeq interruption restore Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 130/356] hisi_acc_vfio_pci: bugfix live migration function without VF device driver Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 131/356] wifi: ath9k_htc: Abort software beacon handling if disabled Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 132/356] scsi: ufs: mcq: Delete ufshcd_release_scsi_cmd() in ufshcd_mcq_abort() Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 133/356] kernfs: Relax constraint in draining guard Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 134/356] wifi: mt76: mt7915: Fix null-ptr-deref in mt7915_mmio_wed_init() Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 135/356] wifi: mt76: mt7996: set EHT max ampdu length capability Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 136/356] wifi: mt76: mt7996: fix RX buffer size of MCU event Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 137/356] netfilter: nf_tables: nft_fib_ipv6: fix VRF ipv4/ipv6 result discrepancy Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 138/356] vfio/type1: Fix error unwind in migration dirty bitmap allocation Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 139/356] Bluetooth: MGMT: iterate over mesh commands in mgmt_mesh_foreach() Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 140/356] bpf, sockmap: Avoid using sk_socket after free when sending Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 141/356] netfilter: nft_tunnel: fix geneve_opt dump Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 142/356] RISC-V: KVM: lock the correct mp_state during reset Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 143/356] net: usb: aqc111: fix error handling of usbnet read calls Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 144/356] RDMA/cma: Fix hang when cma_netevent_callback fails to queue_work Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 145/356] net: lan966x: Fix 1-step timestamping over ipv4 or ipv6 Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 146/356] bpf: Avoid __bpf_prog_ret0_warn when jit fails Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 147/356] net: phy: clear phydev->devlink when the link is deleted Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 148/356] net: phy: fix up const issues in to_mdio_device() and to_phy_device() Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 149/356] net: lan743x: rename lan743x_reset_phy to lan743x_hw_reset_phy Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 150/356] net: phy: mscc: Fix memory leak when using one step timestamping Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 151/356] octeontx2-pf: QOS: Refactor TC_HTB_LEAF_DEL_LAST callback Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 152/356] calipso: Dont call calipso functions for AF_INET sk Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 153/356] net: openvswitch: Fix the dead loop of MPLS parse Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 154/356] net: phy: mscc: Stop clearing the the UDPv4 checksum for L2 frames Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 155/356] f2fs: use d_inode(dentry) cleanup dentry->d_inode Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 156/356] f2fs: fix to correct check conditions in f2fs_cross_rename Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 157/356] arm64: dts: qcom: sdm845-starqltechn: remove wifi Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 158/356] arm64: dts: qcom: sdm845-starqltechn: fix usb regulator mistake Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 159/356] arm64: dts: qcom: sdm845-starqltechn: refactor node order Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 160/356] arm64: dts: qcom: sdm845-starqltechn: remove excess reserved gpios Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 161/356] arm64: dts: qcom: sm8350: Reenable crypto & cryptobam Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 162/356] arm64: dts: qcom: sm8250: Fix CPU7 opp table Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 163/356] arm64: dts: qcom: sc8280xp-x13s: Drop duplicate DMIC supplies Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 164/356] ARM: dts: at91: usb_a9263: fix GPIO for Dataflash chip select Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 165/356] ARM: dts: at91: at91sam9263: fix NAND chip selects Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 166/356] arm64: dts: mediatek: mt8195: Reparent vdec1/2 and venc1 power domains Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 167/356] arm64: dts: qcom: sdm660-xiaomi-lavender: Add missing SD card detect GPIO Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 168/356] arm64: dts: imx8mm-beacon: Fix RTC capacitive load Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 169/356] arm64: dts: imx8mn-beacon: " Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 170/356] arm64: dts: imx8mp-beacon: " Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 171/356] arm64: dts: imx8mm-beacon: Set SAI5 MCLK direction to output for HDMI audio Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 172/356] arm64: dts: imx8mn-beacon: " Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 173/356] arm64: dts: mediatek: mt6357: Drop regulator-fixed compatibles Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 174/356] arm64: dts: mt6359: Add missing compatible property to regulators node Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 175/356] arm64: dts: qcom: sdm660-lavender: Add missing USB phy supply Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 176/356] arm64: dts: qcom: sda660-ifc6560: Fix dt-validate warning Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 177/356] arm64: dts: rockchip: Update eMMC for NanoPi R5 series Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 178/356] arm64: tegra: Drop remaining serial clock-names and reset-names Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 179/356] arm64: dts: ti: k3-j721e-common-proc-board: Enable OSPI1 on J721E Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 180/356] Squashfs: check return result of sb_min_blocksize Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 181/356] ocfs2: fix possible memory leak in ocfs2_finish_quota_recovery Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 182/356] nilfs2: add pointer check for nilfs_direct_propagate() Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 183/356] nilfs2: do not propagate ENOENT error from nilfs_btree_propagate() Greg Kroah-Hartman
2025-06-17 15:24 ` [PATCH 6.6 184/356] bus: fsl-mc: fix double-free on mc_dev Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 185/356] dt-bindings: vendor-prefixes: Add Liontron name Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 186/356] ARM: dts: qcom: apq8064: add missing clocks to the timer node Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 187/356] ARM: dts: qcom: apq8064 merge hw splinlock into corresponding syscon device Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 188/356] arm64: defconfig: mediatek: enable PHY drivers Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 189/356] arm64: dts: rockchip: disable unrouted USB controllers and PHY on RK3399 Puma with Haikou Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 190/356] arm64: dts: renesas: white-hawk-ard-audio: Fix TPU0 groups Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 191/356] arm64: dts: mt6359: Rename RTC node to match binding expectations Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 192/356] ARM: aspeed: Dont select SRAM Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 193/356] soc: aspeed: lpc: Fix impossible judgment condition Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 194/356] soc: aspeed: Add NULL check in aspeed_lpc_enable_snoop() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 195/356] fbdev: core: fbcvt: avoid division by 0 in fb_cvt_hperiod() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 196/356] randstruct: gcc-plugin: Remove bogus void member Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 197/356] randstruct: gcc-plugin: Fix attribute addition Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 198/356] perf build: Warn when libdebuginfod devel files are not available Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 199/356] perf ui browser hists: Set actions->thread before calling do_zoom_thread() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 200/356] dm: dont change md if dm_table_set_restrictions() fails Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 201/356] dm: free table mempools if not used in __bind Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 202/356] backlight: pm8941: Add NULL check in wled_configure() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 203/356] mtd: nand: ecc-mxic: Fix use of uninitialized variable ret Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 204/356] hwmon: (asus-ec-sensors) check sensor index in read_string() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 205/356] dm-flakey: error all IOs when num_features is absent Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 206/356] dm-flakey: make corrupting read bios work Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 207/356] perf trace: Fix leaks of struct thread in set_filter_loop_pids() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 208/356] perf intel-pt: Fix PEBS-via-PT data_src Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 209/356] perf scripts python: exported-sql-viewer.py: Fix pattern matching with Python 3 Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 210/356] remoteproc: qcom_wcnss_iris: Add missing put_device() on error in probe Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 211/356] remoteproc: k3-r5: Drop check performed in k3_r5_rproc_{mbox_callback/kick} Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 212/356] rpmsg: qcom_smd: Fix uninitialized return variable in __qcom_smd_send() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 213/356] mfd: exynos-lpass: Avoid calling exynos_lpass_disable() twice in exynos_lpass_remove() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 214/356] mfd: stmpe-spi: Correct the name used in MODULE_DEVICE_TABLE Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 215/356] perf tests switch-tracking: Fix timestamp comparison Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 216/356] perf record: Fix incorrect --user-regs comments Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 217/356] perf trace: Always print return value for syscalls returning a pid Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 218/356] nfs: clear SB_RDONLY before getting superblock Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 219/356] nfs: ignore SB_RDONLY when remounting nfs Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 220/356] cifs: Fix validation of SMB1 query reparse point response Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 221/356] rtc: sh: assign correct interrupts with DT Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 222/356] PCI: Print the actual delay time in pci_bridge_wait_for_secondary_bus() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 223/356] PCI: cadence: Fix runtime atomic count underflow Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 224/356] PCI: apple: Use gpiod_set_value_cansleep in probe flow Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 225/356] PCI: Explicitly put devices into D0 when initializing Greg Kroah-Hartman
2025-06-17 16:09   ` Limonciello, Mario
2025-06-17 15:25 ` [PATCH 6.6 226/356] phy: qcom-qmp-usb: Fix an NULL vs IS_ERR() bug Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 227/356] dmaengine: ti: Add NULL check in udma_probe() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 228/356] PCI/DPC: Initialize aer_err_info before using it Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 229/356] rtc: loongson: Add missing alarm notifications for ACPI RTC events Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 230/356] usb: renesas_usbhs: Reorder clock handling and power management in probe Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 231/356] serial: Fix potential null-ptr-deref in mlb_usio_probe() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 232/356] thunderbolt: Fix a logic error in wake on connect Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 233/356] iio: filter: admv8818: fix band 4, state 15 Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 234/356] iio: filter: admv8818: fix integer overflow Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 235/356] iio: filter: admv8818: fix range calculation Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 236/356] iio: filter: admv8818: Support frequencies >= 2^32 Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 237/356] iio: adc: ad7124: Fix 3dB filter frequency reading Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 238/356] MIPS: Loongson64: Add missing #interrupt-cells for loongson64c_ls7a Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 239/356] counter: interrupt-cnt: Protect enable/disable OPs with mutex Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 240/356] fpga: fix potential null pointer deref in fpga_mgr_test_img_load_sgt() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 241/356] coresight: prevent deactivate active config while enabling the config Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 242/356] vt: remove VT_RESIZE and VT_RESIZEX from vt_compat_ioctl() Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 243/356] net: stmmac: platform: guarantee uniqueness of bus_id Greg Kroah-Hartman
2025-06-17 15:25 ` [PATCH 6.6 244/356] gve: Fix RX_BUFFERS_POSTED stat to report per-queue fill_cnt Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 245/356] net: tipc: fix refcount warning in tipc_aead_encrypt Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 246/356] driver: net: ethernet: mtk_star_emac: fix suspend/resume issue Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 247/356] net/mlx4_en: Prevent potential integer overflow calculating Hz Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 248/356] net: lan966x: Make sure to insert the vlan tags also in host mode Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 249/356] spi: bcm63xx-spi: fix shared reset Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 250/356] spi: bcm63xx-hsspi: " Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 251/356] Bluetooth: L2CAP: Fix not responding with L2CAP_CR_LE_ENCRYPTION Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 252/356] ice: fix Tx scheduler error handling in XDP callback Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 253/356] ice: create new Tx scheduler nodes for new queues only Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 254/356] ice: fix rebuilding the Tx scheduler tree for large queue counts Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 255/356] net: dsa: tag_brcm: legacy: fix pskb_may_pull length Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 256/356] net: stmmac: make sure that ptp_rate is not 0 before configuring timestamping Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 257/356] net: Fix checksum update for ILA adj-transport Greg Kroah-Hartman
2025-06-18 16:57   ` Paul Chaignon
2025-06-19  4:22     ` Greg Kroah-Hartman
2025-06-19  7:50       ` Paul Chaignon
2025-06-17 15:26 ` [PATCH 6.6 258/356] net: fix udp gso skb_segment after pull from frag_list Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 259/356] net: wwan: t7xx: Fix napi rx poll issue Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 260/356] vmxnet3: correctly report gso type for UDP tunnels Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 261/356] PM: sleep: Fix power.is_suspended cleanup for direct-complete devices Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 262/356] gve: add missing NULL check for gve_alloc_pending_packet() in TX DQO Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 263/356] netfilter: nf_set_pipapo_avx2: fix initial map fill Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 264/356] netfilter: nf_nat: also check reverse tuple to obtain clashing entry Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 265/356] net: dsa: b53: do not enable RGMII delay on bcm63xx Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 266/356] net: dsa: b53: allow RGMII for bcm63xx RGMII ports Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 267/356] wireguard: device: enable threaded NAPI Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 268/356] seg6: Fix validation of nexthop addresses Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 269/356] scsi: ufs: qcom: Prevent calling phy_exit() before phy_init() Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 270/356] ASoC: codecs: hda: Fix RPM usage count underflow Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 271/356] ASoC: Intel: avs: Fix deadlock when the failing IPC is SET_D0IX Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 272/356] ASoC: Intel: avs: Verify content returned by parse_int_array() Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 273/356] ASoC: ti: omap-hdmi: Re-add dai_link->platform to fix card init Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 274/356] path_overmount(): avoid false negatives Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 275/356] fix propagation graph breakage by MOVE_MOUNT_SET_GROUP move_mount(2) Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 276/356] do_change_type(): refuse to operate on unmounted/not ours mounts Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 277/356] net: dsa: microchip: update tag_ksz masks for KSZ9477 family Greg Kroah-Hartman
2025-06-17 20:23   ` Pieter Van Trappen
2025-06-18 13:09     ` Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 278/356] net: dsa: microchip: linearize skb for tail-tagging switches Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 279/356] pmdomain: core: Fix error checking in genpd_dev_pm_attach_by_id() Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 280/356] Input: synaptics-rmi - fix crash with unsupported versions of F34 Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 281/356] kasan: use unchecked __memset internally Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 282/356] arm64: dts: ti: k3-am65-main: Fix sdhci node properties Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 283/356] arm64: dts: ti: k3-am65-main: Add missing taps to sdhci0 Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 284/356] arm64: dts: ti: k3-j721e-sk: Model CSI2RX connector mux Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 285/356] arm64: dts: ti: k3-j721e-sk: Add support for multiple CAN instances Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 286/356] arm64: dts: ti: k3-j721e-sk: Add DT nodes for power regulators Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 287/356] serial: sh-sci: Check if TX data was written to device in .tx_empty() Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 288/356] serial: sh-sci: Move runtime PM enable to sci_probe_single() Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 289/356] serial: sh-sci: Clean sci_ports[0] after at earlycon exit Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 290/356] scsi: core: ufs: Fix a hang in the error handler Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 291/356] Bluetooth: hci_core: fix list_for_each_entry_rcu usage Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 292/356] Bluetooth: MGMT: Fix UAF on mgmt_remove_adv_monitor_complete Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 293/356] Bluetooth: MGMT: Remove unused mgmt_pending_find_data Greg Kroah-Hartman
2025-06-17 15:26 ` Greg Kroah-Hartman [this message]
2025-06-17 15:26 ` [PATCH 6.6 295/356] ptp: remove ptp->n_vclocks check logic in ptp_vclock_in_use() Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 296/356] ath10k: snoc: fix unbalanced IRQ enable in crash recovery Greg Kroah-Hartman
2025-06-18 18:06   ` Casey Connolly
2025-06-19  4:21     ` Greg Kroah-Hartman
2025-06-19 14:09       ` Casey Connolly
2025-06-19 14:53         ` Greg Kroah-Hartman
2025-06-19 14:59           ` Casey Connolly
2025-06-17 15:26 ` [PATCH 6.6 297/356] wifi: ath11k: fix soc_dp_stats debugfs file permission Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 298/356] wifi: ath11k: convert timeouts to secs_to_jiffies() Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 299/356] wifi: ath11k: avoid burning CPU in ath11k_debugfs_fw_stats_request() Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 300/356] wifi: ath11k: dont use static variables in ath11k_debugfs_fw_stats_process() Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 301/356] wifi: ath11k: dont wait when there is no vdev started Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 302/356] wifi: ath11k: validate ath11k_crypto_mode on top of ath11k_core_qmi_firmware_ready Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 303/356] regulator: max20086: Fix refcount leak in max20086_parse_regulators_dt() Greg Kroah-Hartman
2025-06-17 15:26 ` [PATCH 6.6 304/356] pinctrl: qcom: pinctrl-qcm2290: Add missing pins Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 305/356] scsi: iscsi: Fix incorrect error path labels for flashnode operations Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 306/356] net_sched: sch_sfq: fix a potential crash on gso_skb handling Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 307/356] powerpc/powernv/memtrace: Fix out of bounds issue in memtrace mmap Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 308/356] powerpc/vas: Return -EINVAL if the offset is non-zero in mmap() Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 309/356] drm/meson: use unsigned long long / Hz for frequency types Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 310/356] drm/meson: fix debug log statement when setting the HDMI clocks Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 311/356] drm/meson: use vclk_freq instead of pixel_freq in debug print Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 312/356] drm/meson: fix more rounding issues with 59.94Hz modes Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 313/356] i40e: return false from i40e_reset_vf if reset is in progress Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 314/356] i40e: retry VFLR handling if there is ongoing VF reset Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 315/356] ACPI: CPPC: Fix NULL pointer dereference when nosmp is used Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 316/356] net: Fix TOCTOU issue in sk_is_readable() Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 317/356] macsec: MACsec SCI assignment for ES = 0 Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 318/356] net/mdiobus: Fix potential out-of-bounds read/write access Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 319/356] net/mdiobus: Fix potential out-of-bounds clause 45 " Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 320/356] Bluetooth: Fix NULL pointer deference on eir_get_service_data Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 321/356] Bluetooth: hci_sync: Fix broadcast/PA when using an existing instance Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 322/356] Bluetooth: MGMT: Fix sparse errors Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 323/356] net/mlx5: Ensure fw pages are always allocated on same NUMA Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 324/356] net/mlx5: Fix ECVF vports unload on shutdown flow Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 325/356] net/mlx5: Fix return value when searching for existing flow group Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 326/356] net/mlx5e: Fix leak of Geneve TLV option object Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 327/356] net_sched: prio: fix a race in prio_tune() Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 329/356] net_sched: tbf: fix a race in tbf_change() Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 330/356] net_sched: ets: fix a race in ets_qdisc_change() Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 332/356] nvmet-fcloop: access fcpreq only when holding reqlock Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 333/356] perf: Ensure bpf_perf_link path is properly serialized Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 334/356] bio: Fix bio_first_folio() for SPARSEMEM without VMEMMAP Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 335/356] block: Fix bvec_set_folio() for very large folios Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 336/356] tools/resolve_btfids: Fix build when cross compiling kernel with clang Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 337/356] ALSA: usb-audio: Add implicit feedback quirk for RODE AI-1 Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 338/356] HID: usbhid: Eliminate recurrent out-of-bounds bug in usbhid_parse() Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 339/356] io_uring: add io_file_can_poll() helper Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 340/356] io_uring/rw: allow pollable non-blocking attempts for !FMODE_NOWAIT Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 341/356] io_uring/rw: fix wrong NOWAIT check in io_rw_init_file() Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 342/356] Revert "io_uring: ensure deferred completions are posted for multishot" Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 343/356] posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del() Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 344/356] kbuild: Disable -Wdefault-const-init-unsafe Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 345/356] usb: usbtmc: Fix read_stb function and get_stb ioctl Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 346/356] VMCI: fix race between vmci_host_setup_notify and vmci_ctx_unset_notify Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 347/356] usb: cdnsp: Fix issue with detecting command completion event Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 348/356] usb: cdnsp: Fix issue with detecting USB 3.2 speed Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 349/356] usb: Flush altsetting 0 endpoints before reinitializating them after reset Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 350/356] usb: typec: tcpm/tcpci_maxim: Fix bounds check in process_rx() Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 351/356] xen/arm: call uaccess_ttbr0_enable for dm_op hypercall Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 352/356] x86/iopl: Cure TIF_IO_BITMAP inconsistencies Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 353/356] calipso: unlock rcu before returning -EAFNOSUPPORT Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 354/356] regulator: dt-bindings: mt6357: Drop fixed compatible requirement Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 355/356] net: usb: aqc111: debug info before sanitation Greg Kroah-Hartman
2025-06-17 15:27 ` [PATCH 6.6 356/356] drm/meson: Use 1000ULL when operating with mode->clock Greg Kroah-Hartman
2025-06-17 16:31 ` [PATCH 6.6 000/356] 6.6.94-rc1 review Florian Fainelli
2025-06-17 21:19 ` Shuah Khan
2025-06-18  5:43 ` Peter Schneider
2025-06-18  6:34 ` Ron Economos
2025-06-18  6:41 ` Jon Hunter
2025-06-18 10:20 ` Naresh Kamboju
2025-06-18 12:02 ` Mark Brown
2025-06-18 12:45 ` Miguel Ojeda
2025-06-18 17:58 ` Hardik Garg
2025-06-19  6:48 ` Harshit Mogalapalli
2025-06-19  7:53 ` Pavel Machek

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=20250617152350.009066193@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dmantipov@yandex.ru \
    --cc=luiz.von.dentz@intel.com \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=syzbot+0a7039d5d9986ff4ecec@syzkaller.appspotmail.com \
    --cc=syzbot+cc0cc52e7f43dc9e6df1@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