aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/vhost/vhost.c
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2010-09-19 09:56:30 -0400
committerMichael S. Tsirkin <mst@redhat.com>2010-11-04 07:22:12 -0400
commit8b7347aab6865ae8a2e5a8b0f1deea12da3d3aff (patch)
tree3a4b901beefa1bc4f8ed5fb5efc33bf4adba8240 /drivers/vhost/vhost.c
parentdfe5ac5b18be5b10d01a17e734a9905c0def6088 (diff)
vhost: get/put_user -> __get/__put_user
We do access_ok checks on all ring values on an ioctl, so we don't need to redo them on each access. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'drivers/vhost/vhost.c')
-rw-r--r--drivers/vhost/vhost.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index e6a093187a0e..a29d91c776b4 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -1095,7 +1095,7 @@ int vhost_get_vq_desc(struct vhost_dev *dev, struct vhost_virtqueue *vq,
1095 1095
1096 /* Check it isn't doing very strange things with descriptor numbers. */ 1096 /* Check it isn't doing very strange things with descriptor numbers. */
1097 last_avail_idx = vq->last_avail_idx; 1097 last_avail_idx = vq->last_avail_idx;
1098 if (unlikely(get_user(vq->avail_idx, &vq->avail->idx))) { 1098 if (unlikely(__get_user(vq->avail_idx, &vq->avail->idx))) {
1099 vq_err(vq, "Failed to access avail idx at %p\n", 1099 vq_err(vq, "Failed to access avail idx at %p\n",
1100 &vq->avail->idx); 1100 &vq->avail->idx);
1101 return -EFAULT; 1101 return -EFAULT;
@@ -1116,8 +1116,8 @@ int vhost_get_vq_desc(struct vhost_dev *dev, struct vhost_virtqueue *vq,
1116 1116
1117 /* Grab the next descriptor number they're advertising, and increment 1117 /* Grab the next descriptor number they're advertising, and increment
1118 * the index we've seen. */ 1118 * the index we've seen. */
1119 if (unlikely(get_user(head, 1119 if (unlikely(__get_user(head,
1120 &vq->avail->ring[last_avail_idx % vq->num]))) { 1120 &vq->avail->ring[last_avail_idx % vq->num]))) {
1121 vq_err(vq, "Failed to read head: idx %d address %p\n", 1121 vq_err(vq, "Failed to read head: idx %d address %p\n",
1122 last_avail_idx, 1122 last_avail_idx,
1123 &vq->avail->ring[last_avail_idx % vq->num]); 1123 &vq->avail->ring[last_avail_idx % vq->num]);
@@ -1216,17 +1216,17 @@ int vhost_add_used(struct vhost_virtqueue *vq, unsigned int head, int len)
1216 /* The virtqueue contains a ring of used buffers. Get a pointer to the 1216 /* The virtqueue contains a ring of used buffers. Get a pointer to the
1217 * next entry in that used ring. */ 1217 * next entry in that used ring. */
1218 used = &vq->used->ring[vq->last_used_idx % vq->num]; 1218 used = &vq->used->ring[vq->last_used_idx % vq->num];
1219 if (put_user(head, &used->id)) { 1219 if (__put_user(head, &used->id)) {
1220 vq_err(vq, "Failed to write used id"); 1220 vq_err(vq, "Failed to write used id");
1221 return -EFAULT; 1221 return -EFAULT;
1222 } 1222 }
1223 if (put_user(len, &used->len)) { 1223 if (__put_user(len, &used->len)) {
1224 vq_err(vq, "Failed to write used len"); 1224 vq_err(vq, "Failed to write used len");
1225 return -EFAULT; 1225 return -EFAULT;
1226 } 1226 }
1227 /* Make sure buffer is written before we update index. */ 1227 /* Make sure buffer is written before we update index. */
1228 smp_wmb(); 1228 smp_wmb();
1229 if (put_user(vq->last_used_idx + 1, &vq->used->idx)) { 1229 if (__put_user(vq->last_used_idx + 1, &vq->used->idx)) {
1230 vq_err(vq, "Failed to increment used idx"); 1230 vq_err(vq, "Failed to increment used idx");
1231 return -EFAULT; 1231 return -EFAULT;
1232 } 1232 }
@@ -1319,7 +1319,7 @@ void vhost_signal(struct vhost_dev *dev, struct vhost_virtqueue *vq)
1319 * interrupts. */ 1319 * interrupts. */
1320 smp_mb(); 1320 smp_mb();
1321 1321
1322 if (get_user(flags, &vq->avail->flags)) { 1322 if (__get_user(flags, &vq->avail->flags)) {
1323 vq_err(vq, "Failed to get flags"); 1323 vq_err(vq, "Failed to get flags");
1324 return; 1324 return;
1325 } 1325 }
@@ -1370,7 +1370,7 @@ bool vhost_enable_notify(struct vhost_virtqueue *vq)
1370 /* They could have slipped one in as we were doing that: make 1370 /* They could have slipped one in as we were doing that: make
1371 * sure it's written, then check again. */ 1371 * sure it's written, then check again. */
1372 smp_mb(); 1372 smp_mb();
1373 r = get_user(avail_idx, &vq->avail->idx); 1373 r = __get_user(avail_idx, &vq->avail->idx);
1374 if (r) { 1374 if (r) {
1375 vq_err(vq, "Failed to check avail idx at %p: %d\n", 1375 vq_err(vq, "Failed to check avail idx at %p: %d\n",
1376 &vq->avail->idx, r); 1376 &vq->avail->idx, r);