Re: [patch] Bluetooth: change min_t() cast in hci_reassembly()
From: Marcel Holtmann <marcel@holtmann.org>
Date: 2012-02-28 16:20:30
Also in:
linux-bluetooth
From: Marcel Holtmann <marcel@holtmann.org>
Date: 2012-02-28 16:20:30
Also in:
linux-bluetooth
Hi Dan,
"count" is type int so the cast to __u16 truncates the high bits away and triggers a Smatch static checker warning. It looks like a high value of count could cause a forever loop, but I didn't follow it through to see if count is capped somewhere. Signed-off-by: Dan Carpenter <redacted>diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index e6cbb8a..db484a8 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c@@ -1966,7 +1966,7 @@ static int hci_reassembly(struct hci_dev *hdev, int type, void *data, while (count) { scb = (void *) skb->cb; - len = min_t(__u16, scb->expect, count);
this is a good idea since essentially packets are max u16. Acked-by: Marcel Holtmann <marcel@holtmann.org> Regards Marcel