All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tests/qtest/ahci-test.c: Calculate iso_size with 64-bit arithmetic
@ 2021-05-06 19:43 Peter Maydell
  2021-05-06 19:50 ` Philippe Mathieu-Daudé
  2021-05-06 20:09 ` John Snow
  0 siblings, 2 replies; 3+ messages in thread
From: Peter Maydell @ 2021-05-06 19:43 UTC (permalink / raw)
  To: qemu-devel
  Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth, John Snow, qemu-block

Coverity notes that when calculating the 64-bit iso_size value in
ahci_test_cdrom() we actually only do it with 32-bit arithmetic.
This doesn't matter for the current test code because nsectors is
always small; but adding the cast avoids the coverity complaints.

Fixes: Coverity CID 1432343
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 tests/qtest/ahci-test.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/qtest/ahci-test.c b/tests/qtest/ahci-test.c
index 5e1954852e7..8073ccc2052 100644
--- a/tests/qtest/ahci-test.c
+++ b/tests/qtest/ahci-test.c
@@ -1491,14 +1491,14 @@ static void ahci_test_cdrom(int nsectors, bool dma, uint8_t cmd,
     char *iso;
     int fd;
     AHCIOpts opts = {
-        .size = (ATAPI_SECTOR_SIZE * nsectors),
+        .size = ((uint64_t)ATAPI_SECTOR_SIZE * nsectors),
         .atapi = true,
         .atapi_dma = dma,
         .post_cb = ahci_cb_cmp_buff,
         .set_bcl = override_bcl,
         .bcl = bcl,
     };
-    uint64_t iso_size = ATAPI_SECTOR_SIZE * (nsectors + 1);
+    uint64_t iso_size = (uint64_t)ATAPI_SECTOR_SIZE * (nsectors + 1);
 
     /* Prepare ISO and fill 'tx' buffer */
     fd = prepare_iso(iso_size, &tx, &iso);
-- 
2.20.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] tests/qtest/ahci-test.c: Calculate iso_size with 64-bit arithmetic
  2021-05-06 19:43 [PATCH] tests/qtest/ahci-test.c: Calculate iso_size with 64-bit arithmetic Peter Maydell
@ 2021-05-06 19:50 ` Philippe Mathieu-Daudé
  2021-05-06 20:09 ` John Snow
  1 sibling, 0 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-06 19:50 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel
  Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth, John Snow, qemu-block

On 5/6/21 9:43 PM, Peter Maydell wrote:
> Coverity notes that when calculating the 64-bit iso_size value in
> ahci_test_cdrom() we actually only do it with 32-bit arithmetic.
> This doesn't matter for the current test code because nsectors is
> always small; but adding the cast avoids the coverity complaints.
> 
> Fixes: Coverity CID 1432343
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  tests/qtest/ahci-test.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] tests/qtest/ahci-test.c: Calculate iso_size with 64-bit arithmetic
  2021-05-06 19:43 [PATCH] tests/qtest/ahci-test.c: Calculate iso_size with 64-bit arithmetic Peter Maydell
  2021-05-06 19:50 ` Philippe Mathieu-Daudé
@ 2021-05-06 20:09 ` John Snow
  1 sibling, 0 replies; 3+ messages in thread
From: John Snow @ 2021-05-06 20:09 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel
  Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth, qemu-block

On 5/6/21 3:43 PM, Peter Maydell wrote:
> Coverity notes that when calculating the 64-bit iso_size value in
> ahci_test_cdrom() we actually only do it with 32-bit arithmetic.
> This doesn't matter for the current test code because nsectors is
> always small; but adding the cast avoids the coverity complaints.
> 
> Fixes: Coverity CID 1432343
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>   tests/qtest/ahci-test.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/qtest/ahci-test.c b/tests/qtest/ahci-test.c
> index 5e1954852e7..8073ccc2052 100644
> --- a/tests/qtest/ahci-test.c
> +++ b/tests/qtest/ahci-test.c
> @@ -1491,14 +1491,14 @@ static void ahci_test_cdrom(int nsectors, bool dma, uint8_t cmd,
>       char *iso;
>       int fd;
>       AHCIOpts opts = {
> -        .size = (ATAPI_SECTOR_SIZE * nsectors),
> +        .size = ((uint64_t)ATAPI_SECTOR_SIZE * nsectors),
>           .atapi = true,
>           .atapi_dma = dma,
>           .post_cb = ahci_cb_cmp_buff,
>           .set_bcl = override_bcl,
>           .bcl = bcl,
>       };
> -    uint64_t iso_size = ATAPI_SECTOR_SIZE * (nsectors + 1);
> +    uint64_t iso_size = (uint64_t)ATAPI_SECTOR_SIZE * (nsectors + 1);
>   
>       /* Prepare ISO and fill 'tx' buffer */
>       fd = prepare_iso(iso_size, &tx, &iso);
> 

Whupps, thank you, Coverity.

Reviewed-by: John Snow <jsnow@redhat.com>



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-05-06 20:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-06 19:43 [PATCH] tests/qtest/ahci-test.c: Calculate iso_size with 64-bit arithmetic Peter Maydell
2021-05-06 19:50 ` Philippe Mathieu-Daudé
2021-05-06 20:09 ` John Snow

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.