tree 3b9acd77dd40a106d89d80dc3126a8a69c0f035f
parent 97946f59fe7fecff44032f8e775975991a612d18
parent 27709ae4e2fe6cf7da2ae45e718e190c5433342b
author Linus Torvalds <torvalds@linux-foundation.org> 1565463597 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1565463597 -0700
mergetag object 27709ae4e2fe6cf7da2ae45e718e190c5433342b
 type commit
 tag usb-5.3-rc4
 tagger Greg Kroah-Hartman <gregkh@linuxfoundation.org> 1565437790 +0200
 
 USB fixes for 5.3-rc4
 
 Here are some small USB fixes for 5.3-rc4.
 
 The "biggest" one here is moving code from one file to another in order
 to fix a long-standing race condition with the creation of sysfs files
 for USB devices.  Turns out that there are now userspace tools out there
 that are hitting this long-known bug, so it's time to fix them.
 Thankfully the tool-maker in this case fixed the issue :)
 
 The other patches in here are all fixes for reported issues.  Now that
 syzbot knows how to fuzz USB drivers better, and is starting to now fuzz
 the userspace facing side of them at the same time, there will be more
 and more small fixes like these coming, which is a good thing.
 
 All of these have been in linux-next with no reported issues.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 
 iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXU6vag8cZ3JlZ0Brcm9h
 aC5jb20ACgkQMUfUDdst+ynNZgCgs6tk3zfjbsiA1YuLtQ5PIazQFwsAn00qRiKi
 0MIt5mRc7lEsG1yJgvEQ
 =fb5s
 -----END PGP SIGNATURE-----

Merge tag 'usb-5.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
 "Here are some small USB fixes for 5.3-rc4.

  The "biggest" one here is moving code from one file to another in
  order to fix a long-standing race condition with the creation of sysfs
  files for USB devices. Turns out that there are now userspace tools
  out there that are hitting this long-known bug, so it's time to fix
  them. Thankfully the tool-maker in this case fixed the issue :)

  The other patches in here are all fixes for reported issues. Now that
  syzbot knows how to fuzz USB drivers better, and is starting to now
  fuzz the userspace facing side of them at the same time, there will be
  more and more small fixes like these coming, which is a good thing.

  All of these have been in linux-next with no reported issues"

* tag 'usb-5.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  usb: setup authorized_default attributes using usb_bus_notify
  usb: iowarrior: fix deadlock on disconnect
  Revert "USB: rio500: simplify locking"
  usb: usbfs: fix double-free of usb memory upon submiturb error
  usb: yurex: Fix use-after-free in yurex_delete
  usb: typec: tcpm: Ignore unsupported/unknown alternate mode requests
  xhci: Fix NULL pointer dereference at endpoint zero reset.
  usb: host: xhci-rcar: Fix timeout in xhci_suspend()
  usb: typec: ucsi: ccg: Fix uninitilized symbol error
  usb: typec: tcpm: remove tcpm dir if no children
  usb: typec: tcpm: free log buf memory when remove debug file
  usb: typec: tcpm: Add NULL check before dereferencing config
