[dpdk-stable] [dpdk-dev] [PATCH v3] eal: fix memory mapping for 32-bit targets

Thomas Monjalon thomas at monjalon.net
Tue May 11 10:17:58 CEST 2021


08/05/2021 16:27, Lance Richardson:
> For 32-bit targets, size_t is normally a 32-bit type and
> does not have sufficient range to represent 64-bit offsets
> that can are needed when mapping PCI addresses. Use uint64_t
> instead.
> 
> Found when attempting to run 32-bit Linux dpdk-testpmd
> using VFIO driver:
> 
>     EAL: pci_map_resource(): cannot map resource(63, 0xc0010000, \
>     0x200000, 0x20000000000): Invalid argument ((nil))
> 
> Fixes: c4b89ecb64ea ("eal: introduce memory management wrappers")
> Cc: stable at dpdk.org
> Signed-off-by: Lance Richardson <lance.richardson at broadcom.com>
> ---
> v3: Use PRIx64 instead of llx to format offset in log message.
> v2: Use uint64_t instead of off_t (off_t is unknown to Windows).

off_t is referenced in drivers/bus/pci/windows/pci.c
(for unused parameter) so it should be fine?
If not, we could add it?




More information about the stable mailing list