Thread (16 messages) 16 messages, 4 authors, 2015-07-14

Re: [PATCH v2] vfio: Fix overflow while assigning vfio BAR region offset and size

From: Rahul Lakkireddy <hidden>
Date: 2015-07-07 10:40:49

Hi Anatoly,

On Tue, Jul 07, 2015 at 09:08:08 +0000, Burakov, Anatoly wrote:
Hi all,
quoted
So, as VFIO support for 32bit systems is broken, DPDK should not configure VFIO in that case.
...Or no one should try and run VFIO on a 32-bit system, which should be noted in documentation. I'm a bit wary of adding special handling in this case.

Does making the offset off_t fix the compile issues for 32 bit kernel?
Making offset off_t seems to fail for x86_x32-native-linuxapp-gcc target with
the following error in 64-bit gcc, but is working fine with i686 and
x86_64 targets:

/home/ubuntu/dpdk/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c: In function ‘pci_vfio_map_resource’:
/home/ubuntu/dpdk/x86_x32-native-linuxapp-gcc/include/rte_common.h:90:30: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
 #define RTE_PTR_ADD(ptr, x) ((void*)((uintptr_t)(ptr) + (x)))
                              ^
/home/ubuntu/dpdk/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c:816:25: note: in expansion of macro ‘RTE_PTR_ADD’
     void *second_addr = RTE_PTR_ADD(bar_addr, memreg[1].offset);
                         ^
cc1: all warnings being treated as errors
make[7]: *** [eal_pci_vfio.o] Error 1
make[6]: *** [eal] Error 2
make[5]: *** [linuxapp] Error 2
make[4]: *** [librte_eal] Error 2
make[3]: *** [lib] Error 2
make[2]: *** [all] Error 2
make[1]: *** [x86_x32-native-linuxapp-gcc_install] Error 2
make: *** [install] Error 2

However, unsigned long seems to be working fine for all builds.

Thanks,
Rahul
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help