break;
len = (tag[2] << 8) | tag[1];
- vec_alloc (data, len);
+ vec_validate (data, len - 1);
if (read (fd, data, len) != len)
{
{
u8 *rel_path = 0, *abs_path = 0, *link_path = 0;
unformat_input_t input;
- u32 fd = open (sysfs_pci_dev_path, O_RDONLY);
- u32 size = 0;
+ int fd = open (sysfs_pci_dev_path, O_RDONLY);
+ ssize_t size = 0;
u32 domain = 0, bus;
clib_error_t *err = NULL;
linux_pci_device_t *p = linux_pci_get_device (h);
int fd = -1;
clib_error_t *error;
- int flags = MAP_SHARED;
u64 size = 0, offset = 0;
u16 command;
if ((error = vlib_pci_region (vm, h, bar, &fd, &size, &offset)))
return error;
- if (p->type == LINUX_PCI_DEVICE_TYPE_UIO && addr != 0)
- flags |= MAP_FIXED;
-
*result = clib_mem_vm_map_shared (addr, size, fd, offset,
"PCIe %U region %u", format_vlib_pci_addr,
vlib_pci_get_addr (vm, h), bar);