2019-08-15 06:01:02

by Nishka Dasgupta

[permalink] [raw]
Subject: [PATCH] Bluetooth: hci_qca: Make structure qca_proto constant

Static structure qca_proto, of type hci_uart_proto, is used four times:
as the last argument in function hci_uart_register_device(), and as the
only argument to functions hci_uart_register_proto() and
hci_uart_unregister_proto(). In all three of these functions, the
parameter corresponding to qca_proto is declared as constant. Therefore,
make qca_proto itself constant as well in order to protect it from
unintended modification.
Issue found with Coccinelle.

Signed-off-by: Nishka Dasgupta <[email protected]>
---
drivers/bluetooth/hci_qca.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index 82a0a3691a63..80923fc9418f 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -1326,7 +1326,7 @@ static int qca_setup(struct hci_uart *hu)
return ret;
}

-static struct hci_uart_proto qca_proto = {
+static const struct hci_uart_proto qca_proto = {
.id = HCI_UART_QCA,
.name = "QCA",
.manufacturer = 29,
--
2.19.1


2019-08-15 07:02:06

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: hci_qca: Make structure qca_proto constant

Hi Nishka,

> Static structure qca_proto, of type hci_uart_proto, is used four times:
> as the last argument in function hci_uart_register_device(), and as the
> only argument to functions hci_uart_register_proto() and
> hci_uart_unregister_proto(). In all three of these functions, the
> parameter corresponding to qca_proto is declared as constant. Therefore,
> make qca_proto itself constant as well in order to protect it from
> unintended modification.
> Issue found with Coccinelle.
>
> Signed-off-by: Nishka Dasgupta <[email protected]>
> ---
> drivers/bluetooth/hci_qca.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

patch has been applied to bluetooth-next tree.

Regards

Marcel