| From 5e7e8ad42892f43c935a6d96034b024d3ade2d1f Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 18 Jan 2024 12:40:34 +0800 |
| Subject: Bluetooth: btintel: Fix null ptr deref in btintel_read_version |
| |
| From: Edward Adam Davis <eadavis@qq.com> |
| |
| [ 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 | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c |
| index cdc5c08824a0a..e5b043d962073 100644 |
| --- a/drivers/bluetooth/btintel.c |
| +++ b/drivers/bluetooth/btintel.c |
| @@ -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); |
| -- |
| 2.43.0 |
| |