lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1ecc5960-41c1-4e20-8972-c0f46f894ebd@kylinos.cn>
Date: Thu, 5 Dec 2024 17:45:58 +0800
From: Pei Xiao <xiaopei01@...inos.cn>
To: 6751747b.050a0220.17bd51.0097.GAE@...gle.com,
 syzbot+479aff51bb361ef5aa18@...kaller.appspotmail.com,
 6751189a.050a0220.17bd51.0084.gae@...gle.com, linux-kernel@...r.kernel.org,
 mazin@...state.dev, syzkaller-bugs@...glegroups.com
Subject: [patch] test

#syz test: 
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

---
  net/bluetooth/mgmt.c | 16 +++++++++++++---
  1 file changed, 13 insertions(+), 3 deletions(-)

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

Powered by Openwall GNU/*/Linux Powered by OpenVZ