Skip to contentSkip to conversation

Bluetooth: btbcm: Read the local name in setup stage

DISCUSSION Dan Carpenter 2 participants 2 messages Oct 6, 2015 – Oct 7, 2015 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

Hello Marcel Holtmann,

The patch 8af9da1ab784: "Bluetooth: btbcm: Read the local name in setup stage" from Oct 5, 2015, leads to the following static checker warning:

drivers/bluetooth/btbcm.c:533 btbcm_setup_apple()
error: 'skb' dereferencing possible ERR_PTR()

drivers/bluetooth/btbcm.c

   522          /* Read Verbose Config Version Info */
   523          skb = btbcm_read_verbose_config(hdev);
   524          if (!IS_ERR(skb)) {
   525                  BT_INFO("%s: BCM: chip id %u build %4.4u", hdev->name,
   526                          skb->data[1], get_unaligned_le16(skb->data + 5));
   527                  kfree_skb(skb);
   528          }
   529  
   530          /* Read Local Name */
   531          skb = btbcm_read_local_name(hdev);
   532          if (IS_ERR(skb)) {

This test is reversed?

   533                  BT_INFO("%s: %s", hdev->name, (char *)(skb->data + 1));
   534                  kfree_skb(skb);
   535          }

regards,
dan carpenter

#1 lore raw

Hi Dan,

Quoted 20 lines · Dan Carpenter

The patch 8af9da1ab784: "Bluetooth: btbcm: Read the local name in setup stage" from Oct 5, 2015, leads to the following static checker warning:

drivers/bluetooth/btbcm.c:533 btbcm_setup_apple()
error: 'skb' dereferencing possible ERR_PTR()

drivers/bluetooth/btbcm.c

   522          /* Read Verbose Config Version Info */
   523          skb = btbcm_read_verbose_config(hdev);
   524          if (!IS_ERR(skb)) {
   525                  BT_INFO("%s: BCM: chip id %u build %4.4u", hdev->name,
   526                          skb->data[1], get_unaligned_le16(skb->data + 5));
   527                  kfree_skb(skb);
   528          }
   529  
   530          /* Read Local Name */
   531          skb = btbcm_read_local_name(hdev);
   532          if (IS_ERR(skb)) {
Quoted 5 lines

This test is reversed?

   533                  BT_INFO("%s: %s", hdev->name, (char *)(skb->data + 1));
   534                  kfree_skb(skb);
   535          }

That's indeed a bug. Thanks for the report. I went ahead and fixed this up myself since the commit was still on the top of the bluetooth-next tree.

Johan