Message ID | 20241220075253.16791-1-18255117159@163.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Krzysztof Wilczyński |
Headers | show |
Series | [v2] misc: pci_endpoint_test: Fix return resource_size_t from pci_resource_len | expand |
On Fri, Dec 20, 2024 at 03:52:53PM +0800, Hans Zhang wrote: > With 8GB BAR2, running pcitest -b 2 fails with "TEST FAILED". > > The return value of the `pci_resource_len` interface is not an integer. > Using `pcitest` with an 8GB BAR2, the bar_size of integer type will > overflow. > Changing the integer to resource_size_t bar_size resolves this issue. > > Signed-off-by: Hans Zhang <18255117159@163.com> > > Changes since v1: > https://lore.kernel.org/linux-pci/20241217121220.19676-1-18255117159@163.com/ > > - The patch subject and commit message were modified. > --- The "changes" part goes below the --- line, as the documentation shows. Please fix up. thanks, greg k-h
…
> Changing the integer to resource_size_t bar_size resolves this issue.
See also:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.13-rc3#n94
Regards,
Markus
On 2024/12/20 16:03, Greg KH wrote: > The "changes" part goes below the --- line, as the documentation shows. > > Please fix up. > For newcomers submitting patch in the linux kernel community for the first time, thanks Greg KH for pointing out my mistake. Gave me a deeper insight into the whole submission process. I will fix it in the next version. Regards Hans
On 2024/12/20 17:22, Markus Elfring wrote: > … >> Changing the integer to resource_size_t bar_size resolves this issue. > > See also: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.13-rc3#n94 > For newcomers submitting patch in the linux kernel community for the first time, thanks Markus for pointing out the unreasonable expression. Gave me a deeper insight into the whole submission process. I will rephrase this sentence. Regards Hans
diff --git a/drivers/misc/pci_endpoint_test.c b/drivers/misc/pci_endpoint_test.c index 3aaaf47fa4ee..414c4e55fb0a 100644 --- a/drivers/misc/pci_endpoint_test.c +++ b/drivers/misc/pci_endpoint_test.c @@ -280,10 +280,11 @@ static int pci_endpoint_test_bar_memcmp(struct pci_endpoint_test *test, static bool pci_endpoint_test_bar(struct pci_endpoint_test *test, enum pci_barno barno) { - int j, bar_size, buf_size, iters, remain; void *write_buf __free(kfree) = NULL; void *read_buf __free(kfree) = NULL; struct pci_dev *pdev = test->pdev; + int j, buf_size, iters, remain; + resource_size_t bar_size; if (!test->bar[barno]) return false;
With 8GB BAR2, running pcitest -b 2 fails with "TEST FAILED". The return value of the `pci_resource_len` interface is not an integer. Using `pcitest` with an 8GB BAR2, the bar_size of integer type will overflow. Changing the integer to resource_size_t bar_size resolves this issue. Signed-off-by: Hans Zhang <18255117159@163.com> Changes since v1: https://lore.kernel.org/linux-pci/20241217121220.19676-1-18255117159@163.com/ - The patch subject and commit message were modified. --- drivers/misc/pci_endpoint_test.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)