Lines Matching refs:addr

726 static bool log_access_ok(void __user *log_base, u64 addr, unsigned long sz)
728 u64 a = addr / VHOST_PAGE_SIZE / 8;
761 unsigned long a = map->addr;
763 if (vhost_overflow(map->addr, map->size))
778 u64 addr, unsigned int size,
786 return (void __user *)(uintptr_t)(map->addr + addr - map->start);
815 static int translate_desc(struct vhost_virtqueue *vq, u64 addr, u32 len,
894 void __user *addr, unsigned int size,
899 ret = translate_desc(vq, (u64)(uintptr_t)addr, size, vq->iotlb_iov,
904 "%p size 0x%llx\n", addr,
911 "%p size 0x%llx\n", addr,
925 void __user *addr, unsigned int size,
929 (u64)(uintptr_t)addr, size, type);
933 return __vhost_get_user_slow(vq, addr, size, type);
1327 int access, u64 addr, u64 len, int type)
1331 u64 s = 0, size, orig_addr = addr, last = addr + len - 1;
1333 if (vhost_vq_meta_fetch(vq, addr, len, type))
1337 map = vhost_iotlb_itree_first(umem, addr, last);
1338 if (map == NULL || map->start > addr) {
1339 vhost_iotlb_miss(vq, addr, access);
1348 size = map->size - addr + map->start;
1350 if (orig_addr == addr && size >= len)
1354 addr += size;
1832 static int set_bit_to_user(int nr, void __user *addr)
1834 unsigned long log = (unsigned long)addr;
1891 if (u->addr > hva - 1 + len ||
1892 u->addr - 1 + u->size < hva)
1894 start = max(u->addr, hva);
1895 end = min(u->addr - 1 + u->size, hva - 1 + len);
1898 u->start + start - u->addr,
1959 r = log_write(vq->log_base, log[i].addr, l);
2046 static int translate_desc(struct vhost_virtqueue *vq, u64 addr, u32 len,
2053 u64 s = 0, last = addr + len - 1;
2063 map = vhost_iotlb_itree_first(umem, addr, last);
2064 if (map == NULL || map->start > addr) {
2077 size = map->size - addr + map->start;
2080 (map->addr + addr - map->start);
2082 addr += size;
2087 vhost_iotlb_miss(vq, addr, access);
2128 ret = translate_desc(vq, vhost64_to_cpu(vq, indirect->addr), len, vq->indirect,
2155 i, (size_t)vhost64_to_cpu(vq, indirect->addr) + i * sizeof desc);
2160 i, (size_t)vhost64_to_cpu(vq, indirect->addr) + i * sizeof desc);
2169 ret = translate_desc(vq, vhost64_to_cpu(vq, desc.addr),
2182 log[*log_num].addr = vhost64_to_cpu(vq, desc.addr);
2288 vq_err(vq, "Failed to get descriptor: idx %d addr %p\n",
2309 ret = translate_desc(vq, vhost64_to_cpu(vq, desc.addr),
2323 log[*log_num].addr = vhost64_to_cpu(vq, desc.addr);