vlib: allow unpriviledged vlib_pci_get_device_info()

When running unpriviledged sysfs allows reading only first
64 bytes of PCI config space.

Change-Id: I62d18328925a2e4936406c2842154b20182cacb9
Type: improvement
Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:
Damjan Marion
2023-10-12 17:41:14 +00:00
committed by Andrew Yourtchenko
parent bdeee2194b
commit c9275dadef
2 changed files with 4 additions and 3 deletions

View File

@ -238,7 +238,8 @@ vlib_pci_get_device_info (vlib_main_t * vm, vlib_pci_addr_t * addr,
/* You can only read more that 64 bytes of config space as root; so we try to
read the full space but fall back to just the first 64 bytes. */
if (read (fd, &di->config, sizeof (di->config)) < sizeof (di->config))
if (read (fd, &di->config, sizeof (di->config)) <
sizeof (vlib_pci_config_hdr_t))
{
err = clib_error_return_unix (0, "read `%s'", f);
close (fd);