[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <f7ea7d2ea6efebf66a6c5a27409ac76e404c7241.1733387703.git.xiaopei01@kylinos.cn>
Date: Thu, 5 Dec 2024 16:36:10 +0800
From: Pei Xiao <xiaopei01@...inos.cn>
To: syzbot+479aff51bb361ef5aa18@...kaller.appspotmail.com
Cc: linux-kernel@...r.kernel.org,
mazin@...state.dev,
syzkaller-bugs@...glegroups.com,
Pei Xiao <xiaopei01@...inos.cn>
Subject: [PATCH] [PATCH] TEST
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index b31192d473d0..bbc86b7dce07 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -5519,8 +5519,12 @@ static void mgmt_remove_adv_monitor_complete(struct hci_dev *hdev,
{
struct mgmt_rp_remove_adv_monitor rp;
struct mgmt_pending_cmd *cmd = data;
- struct mgmt_cp_remove_adv_monitor *cp = cmd->param;
+ struct mgmt_cp_remove_adv_monitor *cp;
+
+ if (cmd != pending_find(MGMT_OP_REMOVE_ADV_MONITOR, hdev))
+ return -ECANCELED;
+ cp = cmd->param;
hci_dev_lock(hdev);
rp.monitor_handle = cp->monitor_handle;
@@ -5540,8 +5544,14 @@ static void mgmt_remove_adv_monitor_complete(struct hci_dev *hdev,
static int mgmt_remove_adv_monitor_sync(struct hci_dev *hdev, void *data)
{
struct mgmt_pending_cmd *cmd = data;
- struct mgmt_cp_remove_adv_monitor *cp = cmd->param;
- u16 handle = __le16_to_cpu(cp->monitor_handle);
+ struct mgmt_cp_remove_adv_monitor *cp;
+ u16 handle;
+
+ if (cmd != pending_find(MGMT_OP_REMOVE_ADV_MONITOR, hdev))
+ return -ECANCELED;
+
+ cp = cmd->param;
+ handle = __le16_to_cpu(cp->monitor_handle);
if (!handle)
return hci_remove_all_adv_monitor(hdev);
--
2.34.1
Powered by blists - more mailing lists