]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Bluetooth: btintel: Fix null ptr deref in btintel_read_version
authorEdward Adam Davis <eadavis@qq.com>
Thu, 18 Jan 2024 04:40:34 +0000 (12:40 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Apr 2024 11:07:33 +0000 (13:07 +0200)
[ Upstream commit b79e040910101b020931ba0c9a6b77e81ab7f645 ]

If hci_cmd_sync_complete() is triggered and skb is NULL, then
hdev->req_skb is NULL, which will cause this issue.

Reported-and-tested-by: syzbot+830d9e3fa61968246abd@syzkaller.appspotmail.com
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/bluetooth/btintel.c

index 2462796a512a5ffc33c8648d463b3e5d1fa25ac9..b396b0b1d6cc23722eff40ea34b898b4f8958de4 100644 (file)
@@ -435,7 +435,7 @@ int btintel_read_version(struct hci_dev *hdev, struct intel_version *ver)
        struct sk_buff *skb;
 
        skb = __hci_cmd_sync(hdev, 0xfc05, 0, NULL, HCI_CMD_TIMEOUT);
-       if (IS_ERR(skb)) {
+       if (IS_ERR_OR_NULL(skb)) {
                bt_dev_err(hdev, "Reading Intel version information failed (%ld)",
                           PTR_ERR(skb));
                return PTR_ERR(skb);