diff options
| author | Thorsten Blum <thorsten.blum@linux.dev> | 2026-02-24 02:33:42 +0300 |
|---|---|---|
| committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2026-04-10 17:24:01 +0300 |
| commit | 9a9d21f780805fd6f950e930eeae437748d72793 (patch) | |
| tree | e96f18ddd1a1a321f57dc7fce8b90c69da7a099b | |
| parent | 67377cd38b89ce782ccdb83bda3f65a2def843cd (diff) | |
| download | linux-9a9d21f780805fd6f950e930eeae437748d72793.tar.xz | |
Bluetooth: btintel_pcie: Use struct_size to improve hci_drv_read_info
Use struct_size(), which provides additional compile-time checks for
structures with flexible array members (e.g., __must_be_array()), to
determine the allocation size for a new 'struct hci_drv_rp_read_info'.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
| -rw-r--r-- | drivers/bluetooth/btintel_pcie.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c index eda243988cfd..473b2115e637 100644 --- a/drivers/bluetooth/btintel_pcie.c +++ b/drivers/bluetooth/btintel_pcie.c @@ -9,6 +9,7 @@ #include <linux/kernel.h> #include <linux/module.h> #include <linux/firmware.h> +#include <linux/overflow.h> #include <linux/pci.h> #include <linux/string.h> #include <linux/wait.h> @@ -2373,7 +2374,7 @@ static int btintel_pcie_hci_drv_read_info(struct hci_dev *hdev, void *data, u16 opcode, num_supported_commands = ARRAY_SIZE(btintel_pcie_hci_drv_supported_commands); - rp_size = sizeof(*rp) + num_supported_commands * 2; + rp_size = struct_size(rp, supported_commands, num_supported_commands); rp = kmalloc(rp_size, GFP_KERNEL); if (!rp) |
