1. 27 Nov, 2011 37 commits
  2. 24 Nov, 2011 3 commits
    • Linus Torvalds's avatar
      Linux 3.2-rc3 · caca6a03
      Linus Torvalds authored
      caca6a03
    • Linus Torvalds's avatar
      Merge git://github.com/rustyrussell/linux · 9b82e65d
      Linus Torvalds authored
      * git://github.com/rustyrussell/linux:
        virtio-pci: make reset operation safer
        virtio-mmio: Correct the name of the guest features selector
        virtio: add HAS_IOMEM dependency to MMIO platform bus driver
      9b82e65d
    • Michael S. Tsirkin's avatar
      virtio-pci: make reset operation safer · e6af578c
      Michael S. Tsirkin authored
      virtio pci device reset actually just does an I/O
      write, which in PCI is really posted, that is it
      can complete on CPU before the device has received it.
      
      Further, interrupts might have been pending on
      another CPU, so device callback might get invoked after reset.
      
      This conflicts with how drivers use reset, which is typically:
      	reset
      	unregister
      a callback running after reset completed can race with
      unregister, potentially leading to use after free bugs.
      
      Fix by flushing out the write, and flushing pending interrupts.
      
      This assumes that device is never reset from
      its vq/config callbacks, or in parallel with being
      added/removed, document this assumption.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      e6af578c