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;
+
+...