Merge branch 'vhost' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
This commit is contained in:
commit
fea0691526
|
@ -642,7 +642,7 @@ static struct miscdevice vhost_net_misc = {
|
||||||
&vhost_net_fops,
|
&vhost_net_fops,
|
||||||
};
|
};
|
||||||
|
|
||||||
int vhost_net_init(void)
|
static int vhost_net_init(void)
|
||||||
{
|
{
|
||||||
int r = vhost_init();
|
int r = vhost_init();
|
||||||
if (r)
|
if (r)
|
||||||
|
@ -659,7 +659,7 @@ err_init:
|
||||||
}
|
}
|
||||||
module_init(vhost_net_init);
|
module_init(vhost_net_init);
|
||||||
|
|
||||||
void vhost_net_exit(void)
|
static void vhost_net_exit(void)
|
||||||
{
|
{
|
||||||
misc_deregister(&vhost_net_misc);
|
misc_deregister(&vhost_net_misc);
|
||||||
vhost_cleanup();
|
vhost_cleanup();
|
||||||
|
|
|
@ -715,8 +715,8 @@ int vhost_log_write(struct vhost_virtqueue *vq, struct vhost_log *log,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int translate_desc(struct vhost_dev *dev, u64 addr, u32 len,
|
static int translate_desc(struct vhost_dev *dev, u64 addr, u32 len,
|
||||||
struct iovec iov[], int iov_size)
|
struct iovec iov[], int iov_size)
|
||||||
{
|
{
|
||||||
const struct vhost_memory_region *reg;
|
const struct vhost_memory_region *reg;
|
||||||
struct vhost_memory *mem;
|
struct vhost_memory *mem;
|
||||||
|
@ -741,7 +741,7 @@ int translate_desc(struct vhost_dev *dev, u64 addr, u32 len,
|
||||||
_iov = iov + ret;
|
_iov = iov + ret;
|
||||||
size = reg->memory_size - addr + reg->guest_phys_addr;
|
size = reg->memory_size - addr + reg->guest_phys_addr;
|
||||||
_iov->iov_len = min((u64)len, size);
|
_iov->iov_len = min((u64)len, size);
|
||||||
_iov->iov_base = (void *)(unsigned long)
|
_iov->iov_base = (void __user *)(unsigned long)
|
||||||
(reg->userspace_addr + addr - reg->guest_phys_addr);
|
(reg->userspace_addr + addr - reg->guest_phys_addr);
|
||||||
s += size;
|
s += size;
|
||||||
addr += size;
|
addr += size;
|
||||||
|
@ -995,7 +995,7 @@ void vhost_discard_vq_desc(struct vhost_virtqueue *vq)
|
||||||
* want to notify the guest, using eventfd. */
|
* want to notify the guest, using eventfd. */
|
||||||
int vhost_add_used(struct vhost_virtqueue *vq, unsigned int head, int len)
|
int vhost_add_used(struct vhost_virtqueue *vq, unsigned int head, int len)
|
||||||
{
|
{
|
||||||
struct vring_used_elem *used;
|
struct vring_used_elem __user *used;
|
||||||
|
|
||||||
/* The virtqueue contains a ring of used buffers. Get a pointer to the
|
/* The virtqueue contains a ring of used buffers. Get a pointer to the
|
||||||
* next entry in that used ring. */
|
* next entry in that used ring. */
|
||||||
|
@ -1019,7 +1019,8 @@ int vhost_add_used(struct vhost_virtqueue *vq, unsigned int head, int len)
|
||||||
smp_wmb();
|
smp_wmb();
|
||||||
/* Log used ring entry write. */
|
/* Log used ring entry write. */
|
||||||
log_write(vq->log_base,
|
log_write(vq->log_base,
|
||||||
vq->log_addr + ((void *)used - (void *)vq->used),
|
vq->log_addr +
|
||||||
|
((void __user *)used - (void __user *)vq->used),
|
||||||
sizeof *used);
|
sizeof *used);
|
||||||
/* Log used index update. */
|
/* Log used index update. */
|
||||||
log_write(vq->log_base,
|
log_write(vq->log_base,
|
||||||
|
|
Loading…
Reference in New Issue