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? > > > Co-developed-by: Hans Zhang <18255117159@xxxxxxx> > > Signed-off-by: Hans Zhang <18255117159@xxxxxxx> > > Signed-off-by: Niklas Cassel <cassel@xxxxxxxxxx> > > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> > > > --- > > Changes since v1: > > -Add reason for why division was changed to addition in commit log. > > You removed the history of this patch that was present in v1. Since there is > no link to v1, you could've kept it here for the sake of completeness. Yes, because I made the commit log way more verbose, as requested by Frank, so it now includes references to div_u64() even though we are not using it. Kind regards, Niklas