search for: d674977

Displaying 4 results from an estimated 4 matches for "d674977".

2012 Jun 01
4
[PATCH v3] virtio_blk: unlock vblk->lock during kick
...abled and we enable them again this could be a problem, right? Can someone more familiar with kernel locking comment? drivers/block/virtio_blk.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index 774c31d..d674977 100644 --- a/drivers/block/virtio_blk.c +++ b/drivers/block/virtio_blk.c @@ -199,8 +199,14 @@ static void do_virtblk_request(struct request_queue *q) issued++; } - if (issued) - virtqueue_kick(vblk->vq); + if (!issued) + return; + + if (virtqueue_kick_prepare(vblk->vq)) { + spin_unl...
2012 Jun 01
4
[PATCH v3] virtio_blk: unlock vblk->lock during kick
...abled and we enable them again this could be a problem, right? Can someone more familiar with kernel locking comment? drivers/block/virtio_blk.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index 774c31d..d674977 100644 --- a/drivers/block/virtio_blk.c +++ b/drivers/block/virtio_blk.c @@ -199,8 +199,14 @@ static void do_virtblk_request(struct request_queue *q) issued++; } - if (issued) - virtqueue_kick(vblk->vq); + if (!issued) + return; + + if (virtqueue_kick_prepare(vblk->vq)) { + spin_unl...
2012 Jun 11
0
Race condition during hotplug when dropping block queue lock
...es just after virtqueue_notify() and this virtio_blk device is being hot unplugged. If hot unplug completes before reacquiring the queue_lock and leaving this function the result is a use-after-free of queue_lock. diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index 774c31d..d674977 100644 --- a/drivers/block/virtio_blk.c +++ b/drivers/block/virtio_blk.c @@ -199,8 +199,14 @@ static void do_virtblk_request(struct request_queue *q) issued++; } - if (issued) - virtqueue_kick(vblk->vq); + if (!issued) + return; + +...
2012 Jun 11
0
Race condition during hotplug when dropping block queue lock
...es just after virtqueue_notify() and this virtio_blk device is being hot unplugged. If hot unplug completes before reacquiring the queue_lock and leaving this function the result is a use-after-free of queue_lock. diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c index 774c31d..d674977 100644 --- a/drivers/block/virtio_blk.c +++ b/drivers/block/virtio_blk.c @@ -199,8 +199,14 @@ static void do_virtblk_request(struct request_queue *q) issued++; } - if (issued) - virtqueue_kick(vblk->vq); + if (!issued) + return; + +...