1. 01 May, 2018 2 commits
  2. 01 Sep, 2017 1 commit
  3. 28 Aug, 2017 1 commit
  4. 24 Aug, 2017 1 commit
  5. 02 May, 2017 1 commit
  6. 07 Apr, 2017 1 commit
  7. 17 Mar, 2017 1 commit
  8. 01 Mar, 2017 1 commit
  9. 27 Feb, 2017 1 commit
  10. 19 Jan, 2017 1 commit
  11. 15 Dec, 2016 1 commit
  12. 30 Oct, 2016 1 commit
    • Matt Redfearn's avatar
      virtio: console: Unlock vqs while freeing buffers · 34563769
      Matt Redfearn authored
      Commit c6017e79 ("virtio: console: add locks around buffer removal
      in port unplug path") added locking around the freeing of buffers in the
      vq. However, when free_buf() is called with can_sleep = true and rproc
      is enabled, it calls dma_free_coherent() directly, requiring interrupts
      to be enabled. Currently a WARNING is triggered due to the spin locking
      around free_buf, with a call stack like this:
      
      WARNING: CPU: 3 PID: 121 at ./include/linux/dma-mapping.h:433
      free_buf+0x1a8/0x288
      Call Trace:
      [<8040c538>] show_stack+0x74/0xc0
      [<80757240>] dump_stack+0xd0/0x110
      [<80430d98>] __warn+0xfc/0x130
      [<80430ee0>] warn_slowpath_null+0x2c/0x3c
      [<807e7c6c>] free_buf+0x1a8/0x288
      [<807ea590>] remove_port_data+0x50/0xac
      [<807ea6a0>] unplug_port+0xb4/0x1bc
      [<807ea858>] virtcons_remove+0xb0/0xfc
      [<807b6734>] virtio_dev_remove+0x58/0xc0
      [<807f918c>] __device_release_driver+0xac/0x134
      [<807f924c>] device_release_driver+0x38/0x50
      [<807f7edc>] bus_remove_device+0xfc/0x130
      [<807f4b74>] device_del+0x17c/0x21c
      [<807f4c38>] device_unregister+0x24/0x38
      [<807b6b50>] unregister_virtio_device+0x28/0x44
      
      Fix this by restructuring the loops to allow the locks to only be taken
      where it is necessary to protect the vqs, and release it while the
      buffer is being freed.
      
      Fixes: c6017e79 ("virtio: console: add locks around buffer removal in port unplug path")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMatt Redfearn <matt.redfearn@imgtec.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      34563769
  13. 11 Oct, 2016 1 commit
  14. 05 Oct, 2016 1 commit
  15. 09 Sep, 2016 1 commit
  16. 08 Sep, 2016 1 commit
  17. 24 May, 2015 1 commit
  18. 03 Apr, 2015 1 commit
  19. 05 Mar, 2015 2 commits
  20. 11 Feb, 2015 1 commit
  21. 03 Feb, 2015 1 commit
  22. 21 Jan, 2015 1 commit
  23. 09 Dec, 2014 4 commits
  24. 13 Nov, 2014 1 commit
  25. 14 Oct, 2014 2 commits
  26. 27 Jul, 2014 1 commit
  27. 02 Apr, 2014 1 commit
  28. 09 Feb, 2014 1 commit
    • Al Viro's avatar
      fix a kmap leak in virtio_console · c9efe511
      Al Viro authored
      While we are at it, don't do kmap() under kmap_atomic(), *especially*
      for a page we'd allocated with GFP_KERNEL.  It's spelled "page_address",
      and had that been more than that, we'd have a real trouble - kmap_high()
      can block, and doing that while holding kmap_atomic() is a Bad Idea(tm).
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      c9efe511
  29. 29 Oct, 2013 1 commit
  30. 17 Oct, 2013 1 commit
  31. 23 Sep, 2013 1 commit
  32. 09 Aug, 2013 1 commit
  33. 30 Jul, 2013 1 commit
  34. 29 Jul, 2013 1 commit