Re: [PATCH v4] Bluetooth: btusb: Fix memory leak in play_deferred

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux