| From 95e96edb6b8157e9f4278d032aac83785cc1d7c3 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 3 Mar 2022 13:11:57 -0800 |
| Subject: Bluetooth: Fix not checking for valid hdev on |
| bt_dev_{info,warn,err,dbg} |
| |
| From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> |
| |
| [ Upstream commit 9b392e0e0b6d026da5a62bb79a08f32e27af858e ] |
| |
| This fixes attemting to print hdev->name directly which causes them to |
| print an error: |
| |
| kernel: read_version:367: (efault): sock 000000006a3008f2 |
| |
| Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> |
| Signed-off-by: Marcel Holtmann <marcel@holtmann.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| include/net/bluetooth/bluetooth.h | 14 ++++++++------ |
| 1 file changed, 8 insertions(+), 6 deletions(-) |
| |
| diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h |
| index a1093994e5e4..720316467127 100644 |
| --- a/include/net/bluetooth/bluetooth.h |
| +++ b/include/net/bluetooth/bluetooth.h |
| @@ -204,19 +204,21 @@ void bt_err_ratelimited(const char *fmt, ...); |
| #define BT_DBG(fmt, ...) pr_debug(fmt "\n", ##__VA_ARGS__) |
| #endif |
| |
| +#define bt_dev_name(hdev) ((hdev) ? (hdev)->name : "null") |
| + |
| #define bt_dev_info(hdev, fmt, ...) \ |
| - BT_INFO("%s: " fmt, (hdev)->name, ##__VA_ARGS__) |
| + BT_INFO("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__) |
| #define bt_dev_warn(hdev, fmt, ...) \ |
| - BT_WARN("%s: " fmt, (hdev)->name, ##__VA_ARGS__) |
| + BT_WARN("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__) |
| #define bt_dev_err(hdev, fmt, ...) \ |
| - BT_ERR("%s: " fmt, (hdev)->name, ##__VA_ARGS__) |
| + BT_ERR("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__) |
| #define bt_dev_dbg(hdev, fmt, ...) \ |
| - BT_DBG("%s: " fmt, (hdev)->name, ##__VA_ARGS__) |
| + BT_DBG("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__) |
| |
| #define bt_dev_warn_ratelimited(hdev, fmt, ...) \ |
| - bt_warn_ratelimited("%s: " fmt, (hdev)->name, ##__VA_ARGS__) |
| + bt_warn_ratelimited("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__) |
| #define bt_dev_err_ratelimited(hdev, fmt, ...) \ |
| - bt_err_ratelimited("%s: " fmt, (hdev)->name, ##__VA_ARGS__) |
| + bt_err_ratelimited("%s: " fmt, bt_dev_name(hdev), ##__VA_ARGS__) |
| |
| /* Connection and socket states */ |
| enum { |
| -- |
| 2.35.1 |
| |