1. 11 Jan, 2016 3 commits
    • Felipe Balbi's avatar
      usb: gadget: pxa27x: fix suspend callback · d712aa56
      Felipe Balbi authored
      commit 391e6dcb upstream.
      
      pxa27x disconnects pullups on suspend but doesn't
      notify the gadget driver about it, so gadget driver
      can't disable the endpoints it was using.
      
      This causes problems on resume because gadget core
      will think endpoints are still enabled and just
      ignore the following usb_ep_enable().
      
      Fix this problem by calling
      gadget_driver->disconnect().
      Tested-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      [ luis: backported to 3.16:
        - file rename: drivers/usb/gadget/udc/pxa27x_udc.c ->
          drivers/usb/gadget/pxa27x_udc.c ]
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      d712aa56
    • Roman Gushchin's avatar
      fuse: break infinite loop in fuse_fill_write_pages() · e595f1d3
      Roman Gushchin authored
      commit 3ca8138f upstream.
      
      I got a report about unkillable task eating CPU. Further
      investigation shows, that the problem is in the fuse_fill_write_pages()
      function. If iov's first segment has zero length, we get an infinite
      loop, because we never reach iov_iter_advance() call.
      
      Fix this by calling iov_iter_advance() before repeating an attempt to
      copy data from userspace.
      
      A similar problem is described in 124d3b70 ("fix writev regression:
      pan hanging unkillable and un-straceable"). If zero-length segmend
      is followed by segment with invalid address,
      iov_iter_fault_in_readable() checks only first segment (zero-length),
      iov_iter_copy_from_user_atomic() skips it, fails at second and
      returns zero -> goto again without skipping zero-length segment.
      
      Patch calls iov_iter_advance() before goto again: we'll skip zero-length
      segment at second iteraction and iov_iter_fault_in_readable() will detect
      invalid address.
      
      Special thanks to Konstantin Khlebnikov, who helped a lot with the commit
      description.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Maxim Patlasov <mpatlasov@parallels.com>
      Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
      Signed-off-by: default avatarRoman Gushchin <klamm@yandex-team.ru>
      Signed-off-by: default avatarMiklos Szeredi <miklos@szeredi.hu>
      Fixes: ea9b9907 ("fuse: implement perform_write")
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      e595f1d3
    • Luis Henriques's avatar
      Linux 3.16.7-ckt22 · c5305f04
      Luis Henriques authored
      Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
      c5305f04
  2. 05 Jan, 2016 25 commits
  3. 04 Jan, 2016 12 commits