On Sat, Feb 01, 2025 at 06:39:01PM +0100, Niklas Cassel wrote: > On Sat, Feb 01, 2025 at 09:31:54PM +0530, Manivannan Sadhasivam wrote: > > On Fri, Jan 24, 2025 at 10:33:01AM +0100, Niklas Cassel wrote: > > > Running 'pcitest -b 0' fails with "TEST FAILED" when the BAR0 size > > > is e.g. 8 GB. > > > > > > The return value of the pci_resource_len() macro can be larger than that > > > of a signed integer type. Thus, when using 'pcitest' with an 8 GB BAR, > > > the bar_size of the integer type will overflow. > > > > > > Change bar_size from integer to resource_size_t to prevent integer > > > overflow for large BAR sizes with 32-bit compilers. > > > > > > In order to handle 64-bit resource_type_t on 32-bit platforms, we would > > > have needed to use a function like div_u64() or similar. Instead, change > > > the code to use addition instead of division. This avoids the need for > > > div_u64() or similar, while also simplifying the code. > > > > > > > Fixes tag? > > size has been of type int since: > 2c156ac71c6b ("misc: Add host side PCI driver for PCI test function device") > > But I think a better SHA1 to use as the Fixes tag would be: > cda370ec6d1f ("misc: pci_endpoint_test: Avoid using hard-coded BAR sizes") > > Which has the one that started using pci_resource_len() > (while still keeping size as type int). > > Perhaps this can be amended while applying? > Sure. - Mani -- மணிவண்ணன் சதாசிவம்