Hi Jeffy,

[auto build test WARNING on bluetooth-next/master]
[also build test WARNING on v4.13-rc1 next-20170719]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Jeffy-Chen/Bluetooth-btusb-Fix-memory-leak-in-play_deferred/20170719-044201
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git 
master
config: i386-allyesconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   drivers/bluetooth/btusb.c: In function 'btusb_resume':
>> drivers/bluetooth/btusb.c:3288:3: warning: 'err' may be used uninitialized 
>> in this function [-Wmaybe-uninitialized]
      BT_ERR("%s urb %p submission failed (%d)",
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                
  
   drivers/bluetooth/btusb.c:3266:6: note: 'err' was declared here
     int err;
         ^~~

vim +/err +3288 drivers/bluetooth/btusb.c

  3262  
  3263  static void play_deferred(struct btusb_data *data)
  3264  {
  3265          struct urb *urb;
  3266          int err;
  3267  
  3268          while ((urb = usb_get_from_anchor(&data->deferred))) {
  3269                  usb_anchor_urb(urb, &data->tx_anchor);
  3270  
  3271                  err = usb_submit_urb(urb, GFP_ATOMIC);
  3272                  if (err < 0) {
  3273                          if (err != -EPERM && err != -ENODEV)
  3274                                  BT_ERR("%s urb %p submission failed 
(%d)",
  3275                                         data->hdev->name, urb, -err);
  3276                          kfree(urb->setup_packet);
  3277                          usb_unanchor_urb(urb);
  3278                          usb_free_urb(urb);
  3279                          break;
  3280                  }
  3281  
  3282                  data->tx_in_flight++;
  3283                  usb_free_urb(urb);
  3284          }
  3285  
  3286          /* Cleanup the rest deferred urbs. */
  3287          while ((urb = usb_get_from_anchor(&data->deferred))) {
> 3288                  BT_ERR("%s urb %p submission failed (%d)",
  3289                         data->hdev->name, urb, -err);
  3290                  kfree(urb->setup_packet);
  3291                  usb_free_urb(urb);
  3292          }
  3293  }
  3294  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to