[Qemu-devel] [PATCH] lm32: milkymist-tmu2: fix a third integer overflow

Peter Maydell posted 1 patch 7 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1487266008-13492-1-git-send-email-peter.maydell@linaro.org
Test checkpatch passed
Test docker passed
Test s390x passed
hw/display/milkymist-tmu2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[Qemu-devel] [PATCH] lm32: milkymist-tmu2: fix a third integer overflow
Posted by Peter Maydell 7 years, 2 months ago
Don't truncate the multiplication and do a 64 bit one instead
because the result is stored in a 64 bit variable.

This fixes a similar coverity warning to commits 237a8650d640 and
4382fa655498, in a similar way, and is the final third of the fix for
coverity CID 1167561 (hopefully!).

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
Third time lucky -- I checked and this is the last of these
multiply lines.

 hw/display/milkymist-tmu2.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/display/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c
index 7528665..59120dd 100644
--- a/hw/display/milkymist-tmu2.c
+++ b/hw/display/milkymist-tmu2.c
@@ -293,7 +293,7 @@ static void tmu2_start(MilkymistTMU2State *s)
     cpu_physical_memory_unmap(mesh, mesh_len, 0, mesh_len);
 
     /* Write back the OpenGL framebuffer to the QEMU framebuffer */
-    fb_len = 2 * s->regs[R_DSTHRES] * s->regs[R_DSTVRES];
+    fb_len = 2ULL * s->regs[R_DSTHRES] * s->regs[R_DSTVRES];
     fb = cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, 1);
     if (fb == NULL) {
         glDeleteTextures(1, &texture);
-- 
2.7.4


Re: [Qemu-devel] [Qemu-trivial] [PATCH] lm32: milkymist-tmu2: fix a third integer overflow
Posted by Philippe Mathieu-Daudé 7 years, 2 months ago
On 02/16/2017 02:26 PM, Peter Maydell wrote:
> Don't truncate the multiplication and do a 64 bit one instead
> because the result is stored in a 64 bit variable.
>
> This fixes a similar coverity warning to commits 237a8650d640 and
> 4382fa655498, in a similar way, and is the final third of the fix for
> coverity CID 1167561 (hopefully!).
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> ---
> Third time lucky -- I checked and this is the last of these
> multiply lines.
>
>  hw/display/milkymist-tmu2.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/display/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c
> index 7528665..59120dd 100644
> --- a/hw/display/milkymist-tmu2.c
> +++ b/hw/display/milkymist-tmu2.c
> @@ -293,7 +293,7 @@ static void tmu2_start(MilkymistTMU2State *s)
>      cpu_physical_memory_unmap(mesh, mesh_len, 0, mesh_len);
>
>      /* Write back the OpenGL framebuffer to the QEMU framebuffer */
> -    fb_len = 2 * s->regs[R_DSTHRES] * s->regs[R_DSTVRES];
> +    fb_len = 2ULL * s->regs[R_DSTHRES] * s->regs[R_DSTVRES];
>      fb = cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, 1);
>      if (fb == NULL) {
>          glDeleteTextures(1, &texture);
>

Re: [Qemu-devel] [Qemu-trivial] [PATCH] lm32: milkymist-tmu2: fix a third integer overflow
Posted by Michael Walle 7 years, 1 month ago
Am 2017-02-18 00:00, schrieb Philippe Mathieu-Daudé:
> On 02/16/2017 02:26 PM, Peter Maydell wrote:
>> Don't truncate the multiplication and do a 64 bit one instead
>> because the result is stored in a 64 bit variable.
>> 
>> This fixes a similar coverity warning to commits 237a8650d640 and
>> 4382fa655498, in a similar way, and is the final third of the fix for
>> coverity CID 1167561 (hopefully!).
>> 
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> 
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Acked-by: Michael Walle <michael@walle.cc>


> 
>> ---
>> Third time lucky -- I checked and this is the last of these
>> multiply lines.
>> 
>>  hw/display/milkymist-tmu2.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/hw/display/milkymist-tmu2.c b/hw/display/milkymist-tmu2.c
>> index 7528665..59120dd 100644
>> --- a/hw/display/milkymist-tmu2.c
>> +++ b/hw/display/milkymist-tmu2.c
>> @@ -293,7 +293,7 @@ static void tmu2_start(MilkymistTMU2State *s)
>>      cpu_physical_memory_unmap(mesh, mesh_len, 0, mesh_len);
>> 
>>      /* Write back the OpenGL framebuffer to the QEMU framebuffer */
>> -    fb_len = 2 * s->regs[R_DSTHRES] * s->regs[R_DSTVRES];
>> +    fb_len = 2ULL * s->regs[R_DSTHRES] * s->regs[R_DSTVRES];
>>      fb = cpu_physical_memory_map(s->regs[R_DSTFBUF], &fb_len, 1);
>>      if (fb == NULL) {
>>          glDeleteTextures(1, &texture);
>> 


Re: [Qemu-devel] [PATCH] lm32: milkymist-tmu2: fix a third integer overflow
Posted by Michael Tokarev 7 years, 1 month ago
Applied to -trivial, thanks!

/mjt