* [Qemu-devel] [Qemu devel V4 PATCH] msf2: Remove dead code reported by Coverity
@ 2017-10-25 2:29 Subbaraya Sundeep
2017-10-25 8:45 ` Darren Kenny
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Subbaraya Sundeep @ 2017-10-25 2:29 UTC (permalink / raw)
To: qemu-devel, qemu-arm
Cc: peter.maydell, crosthwaite.peter, alistair23, f4bug, imammedo,
pbonzini, darren.kenny, Subbaraya Sundeep
Fixed incorrect frame size mask, validated maximum frame
size in spi_write and removed dead code.
Signed-off-by: Subbaraya Sundeep <sundeep.lkml@gmail.com>
---
v4:
changed %d to %u while logging frame size error.
v3:
Added comment that [31:6] bits are reserved in R_SPI_DFSIZE
register and logged incorrect value too in guest error(suggested
by Darren).
v2:
else if -> else in set_fifodepth
log guest error when frame size is more than 32
hw/ssi/mss-spi.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/hw/ssi/mss-spi.c b/hw/ssi/mss-spi.c
index 5a8e308..d60daba 100644
--- a/hw/ssi/mss-spi.c
+++ b/hw/ssi/mss-spi.c
@@ -76,9 +76,10 @@
#define C_BIGFIFO (1 << 29)
#define C_RESET (1 << 31)
-#define FRAMESZ_MASK 0x1F
+#define FRAMESZ_MASK 0x3F
#define FMCOUNT_MASK 0x00FFFF00
#define FMCOUNT_SHIFT 8
+#define FRAMESZ_MAX 32
static void txfifo_reset(MSSSpiState *s)
{
@@ -104,10 +105,8 @@ static void set_fifodepth(MSSSpiState *s)
s->fifo_depth = 32;
} else if (size <= 16) {
s->fifo_depth = 16;
- } else if (size <= 32) {
- s->fifo_depth = 8;
} else {
- s->fifo_depth = 4;
+ s->fifo_depth = 8;
}
}
@@ -301,6 +300,17 @@ static void spi_write(void *opaque, hwaddr addr,
if (s->enabled) {
break;
}
+ /*
+ * [31:6] bits are reserved bits and for future use.
+ * [5:0] are for frame size. Only [5:0] bits are validated
+ * during write, [31:6] bits are untouched.
+ */
+ if ((value & FRAMESZ_MASK) > FRAMESZ_MAX) {
+ qemu_log_mask(LOG_GUEST_ERROR, "%s: Incorrect size %u provided."
+ "Maximum frame size is %u\n",
+ __func__, value & FRAMESZ_MASK, FRAMESZ_MAX);
+ break;
+ }
s->regs[R_SPI_DFSIZE] = value;
break;
--
2.5.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Qemu devel V4 PATCH] msf2: Remove dead code reported by Coverity
2017-10-25 2:29 [Qemu-devel] [Qemu devel V4 PATCH] msf2: Remove dead code reported by Coverity Subbaraya Sundeep
@ 2017-10-25 8:45 ` Darren Kenny
2017-10-26 5:59 ` sundeep subbaraya
2017-10-26 9:37 ` Alistair Francis
2017-10-30 9:58 ` Peter Maydell
2 siblings, 1 reply; 5+ messages in thread
From: Darren Kenny @ 2017-10-25 8:45 UTC (permalink / raw)
To: Subbaraya Sundeep
Cc: qemu-devel, qemu-arm, peter.maydell, crosthwaite.peter, f4bug,
alistair23, pbonzini, imammedo
LGTM now, thanks.
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Thanks,
Darren.
On Wed, Oct 25, 2017 at 07:59:04AM +0530, Subbaraya Sundeep wrote:
>Fixed incorrect frame size mask, validated maximum frame
>size in spi_write and removed dead code.
>
>Signed-off-by: Subbaraya Sundeep <sundeep.lkml@gmail.com>
>---
>v4:
> changed %d to %u while logging frame size error.
>v3:
> Added comment that [31:6] bits are reserved in R_SPI_DFSIZE
> register and logged incorrect value too in guest error(suggested
> by Darren).
>v2:
> else if -> else in set_fifodepth
> log guest error when frame size is more than 32
>
> hw/ssi/mss-spi.c | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
>diff --git a/hw/ssi/mss-spi.c b/hw/ssi/mss-spi.c
>index 5a8e308..d60daba 100644
>--- a/hw/ssi/mss-spi.c
>+++ b/hw/ssi/mss-spi.c
>@@ -76,9 +76,10 @@
> #define C_BIGFIFO (1 << 29)
> #define C_RESET (1 << 31)
>
>-#define FRAMESZ_MASK 0x1F
>+#define FRAMESZ_MASK 0x3F
> #define FMCOUNT_MASK 0x00FFFF00
> #define FMCOUNT_SHIFT 8
>+#define FRAMESZ_MAX 32
>
> static void txfifo_reset(MSSSpiState *s)
> {
>@@ -104,10 +105,8 @@ static void set_fifodepth(MSSSpiState *s)
> s->fifo_depth = 32;
> } else if (size <= 16) {
> s->fifo_depth = 16;
>- } else if (size <= 32) {
>- s->fifo_depth = 8;
> } else {
>- s->fifo_depth = 4;
>+ s->fifo_depth = 8;
> }
> }
>
>@@ -301,6 +300,17 @@ static void spi_write(void *opaque, hwaddr addr,
> if (s->enabled) {
> break;
> }
>+ /*
>+ * [31:6] bits are reserved bits and for future use.
>+ * [5:0] are for frame size. Only [5:0] bits are validated
>+ * during write, [31:6] bits are untouched.
>+ */
>+ if ((value & FRAMESZ_MASK) > FRAMESZ_MAX) {
>+ qemu_log_mask(LOG_GUEST_ERROR, "%s: Incorrect size %u provided."
>+ "Maximum frame size is %u\n",
>+ __func__, value & FRAMESZ_MASK, FRAMESZ_MAX);
>+ break;
>+ }
> s->regs[R_SPI_DFSIZE] = value;
> break;
>
>--
>2.5.0
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Qemu devel V4 PATCH] msf2: Remove dead code reported by Coverity
2017-10-25 8:45 ` Darren Kenny
@ 2017-10-26 5:59 ` sundeep subbaraya
0 siblings, 0 replies; 5+ messages in thread
From: sundeep subbaraya @ 2017-10-26 5:59 UTC (permalink / raw)
To: Subbaraya Sundeep, QEMU Developers, qemu-arm, Peter Maydell,
Peter Crosthwaite, Philippe Mathieu-Daudé,
Alistair Francis, Paolo Bonzini, Igor Mammedov
On Wed, Oct 25, 2017 at 2:15 PM, Darren Kenny <darren.kenny@oracle.com>
wrote:
> LGTM now, thanks.
>
> Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
>
Thanks Darren,
Sundeep
>
> Thanks,
>
> Darren.
>
>
> On Wed, Oct 25, 2017 at 07:59:04AM +0530, Subbaraya Sundeep wrote:
>
>> Fixed incorrect frame size mask, validated maximum frame
>> size in spi_write and removed dead code.
>>
>> Signed-off-by: Subbaraya Sundeep <sundeep.lkml@gmail.com>
>> ---
>> v4:
>> changed %d to %u while logging frame size error.
>> v3:
>> Added comment that [31:6] bits are reserved in R_SPI_DFSIZE
>> register and logged incorrect value too in guest error(suggested
>> by Darren).
>> v2:
>> else if -> else in set_fifodepth
>> log guest error when frame size is more than 32
>>
>> hw/ssi/mss-spi.c | 18 ++++++++++++++----
>> 1 file changed, 14 insertions(+), 4 deletions(-)
>>
>> diff --git a/hw/ssi/mss-spi.c b/hw/ssi/mss-spi.c
>> index 5a8e308..d60daba 100644
>> --- a/hw/ssi/mss-spi.c
>> +++ b/hw/ssi/mss-spi.c
>> @@ -76,9 +76,10 @@
>> #define C_BIGFIFO (1 << 29)
>> #define C_RESET (1 << 31)
>>
>> -#define FRAMESZ_MASK 0x1F
>> +#define FRAMESZ_MASK 0x3F
>> #define FMCOUNT_MASK 0x00FFFF00
>> #define FMCOUNT_SHIFT 8
>> +#define FRAMESZ_MAX 32
>>
>> static void txfifo_reset(MSSSpiState *s)
>> {
>> @@ -104,10 +105,8 @@ static void set_fifodepth(MSSSpiState *s)
>> s->fifo_depth = 32;
>> } else if (size <= 16) {
>> s->fifo_depth = 16;
>> - } else if (size <= 32) {
>> - s->fifo_depth = 8;
>> } else {
>> - s->fifo_depth = 4;
>> + s->fifo_depth = 8;
>> }
>> }
>>
>> @@ -301,6 +300,17 @@ static void spi_write(void *opaque, hwaddr addr,
>> if (s->enabled) {
>> break;
>> }
>> + /*
>> + * [31:6] bits are reserved bits and for future use.
>> + * [5:0] are for frame size. Only [5:0] bits are validated
>> + * during write, [31:6] bits are untouched.
>> + */
>> + if ((value & FRAMESZ_MASK) > FRAMESZ_MAX) {
>> + qemu_log_mask(LOG_GUEST_ERROR, "%s: Incorrect size %u
>> provided."
>> + "Maximum frame size is %u\n",
>> + __func__, value & FRAMESZ_MASK, FRAMESZ_MAX);
>> + break;
>> + }
>> s->regs[R_SPI_DFSIZE] = value;
>> break;
>>
>> --
>> 2.5.0
>>
>>
>>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Qemu devel V4 PATCH] msf2: Remove dead code reported by Coverity
2017-10-25 2:29 [Qemu-devel] [Qemu devel V4 PATCH] msf2: Remove dead code reported by Coverity Subbaraya Sundeep
2017-10-25 8:45 ` Darren Kenny
@ 2017-10-26 9:37 ` Alistair Francis
2017-10-30 9:58 ` Peter Maydell
2 siblings, 0 replies; 5+ messages in thread
From: Alistair Francis @ 2017-10-26 9:37 UTC (permalink / raw)
To: Subbaraya Sundeep
Cc: qemu-devel@nongnu.org Developers, qemu-arm, Peter Maydell,
Peter Crosthwaite, Philippe Mathieu-Daudé,
Igor Mammedov, Paolo Bonzini, darren.kenny
On Wed, Oct 25, 2017 at 4:29 AM, Subbaraya Sundeep
<sundeep.lkml@gmail.com> wrote:
> Fixed incorrect frame size mask, validated maximum frame
> size in spi_write and removed dead code.
>
> Signed-off-by: Subbaraya Sundeep <sundeep.lkml@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
> ---
> v4:
> changed %d to %u while logging frame size error.
> v3:
> Added comment that [31:6] bits are reserved in R_SPI_DFSIZE
> register and logged incorrect value too in guest error(suggested
> by Darren).
> v2:
> else if -> else in set_fifodepth
> log guest error when frame size is more than 32
>
> hw/ssi/mss-spi.c | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/hw/ssi/mss-spi.c b/hw/ssi/mss-spi.c
> index 5a8e308..d60daba 100644
> --- a/hw/ssi/mss-spi.c
> +++ b/hw/ssi/mss-spi.c
> @@ -76,9 +76,10 @@
> #define C_BIGFIFO (1 << 29)
> #define C_RESET (1 << 31)
>
> -#define FRAMESZ_MASK 0x1F
> +#define FRAMESZ_MASK 0x3F
> #define FMCOUNT_MASK 0x00FFFF00
> #define FMCOUNT_SHIFT 8
> +#define FRAMESZ_MAX 32
>
> static void txfifo_reset(MSSSpiState *s)
> {
> @@ -104,10 +105,8 @@ static void set_fifodepth(MSSSpiState *s)
> s->fifo_depth = 32;
> } else if (size <= 16) {
> s->fifo_depth = 16;
> - } else if (size <= 32) {
> - s->fifo_depth = 8;
> } else {
> - s->fifo_depth = 4;
> + s->fifo_depth = 8;
> }
> }
>
> @@ -301,6 +300,17 @@ static void spi_write(void *opaque, hwaddr addr,
> if (s->enabled) {
> break;
> }
> + /*
> + * [31:6] bits are reserved bits and for future use.
> + * [5:0] are for frame size. Only [5:0] bits are validated
> + * during write, [31:6] bits are untouched.
> + */
> + if ((value & FRAMESZ_MASK) > FRAMESZ_MAX) {
> + qemu_log_mask(LOG_GUEST_ERROR, "%s: Incorrect size %u provided."
> + "Maximum frame size is %u\n",
> + __func__, value & FRAMESZ_MASK, FRAMESZ_MAX);
> + break;
> + }
> s->regs[R_SPI_DFSIZE] = value;
> break;
>
> --
> 2.5.0
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [Qemu devel V4 PATCH] msf2: Remove dead code reported by Coverity
2017-10-25 2:29 [Qemu-devel] [Qemu devel V4 PATCH] msf2: Remove dead code reported by Coverity Subbaraya Sundeep
2017-10-25 8:45 ` Darren Kenny
2017-10-26 9:37 ` Alistair Francis
@ 2017-10-30 9:58 ` Peter Maydell
2 siblings, 0 replies; 5+ messages in thread
From: Peter Maydell @ 2017-10-30 9:58 UTC (permalink / raw)
To: Subbaraya Sundeep
Cc: QEMU Developers, qemu-arm, Peter Crosthwaite, Alistair Francis,
Philippe Mathieu-Daudé,
Igor Mammedov, Paolo Bonzini, darren.kenny
On 25 October 2017 at 03:29, Subbaraya Sundeep <sundeep.lkml@gmail.com> wrote:
> Fixed incorrect frame size mask, validated maximum frame
> size in spi_write and removed dead code.
>
> Signed-off-by: Subbaraya Sundeep <sundeep.lkml@gmail.com>
> ---
> v4:
> changed %d to %u while logging frame size error.
> v3:
> Added comment that [31:6] bits are reserved in R_SPI_DFSIZE
> register and logged incorrect value too in guest error(suggested
> by Darren).
> v2:
> else if -> else in set_fifodepth
> log guest error when frame size is more than 32
>
> hw/ssi/mss-spi.c | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
Applied to target-arm.next, thanks.
-- PMM
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-10-30 9:59 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-25 2:29 [Qemu-devel] [Qemu devel V4 PATCH] msf2: Remove dead code reported by Coverity Subbaraya Sundeep
2017-10-25 8:45 ` Darren Kenny
2017-10-26 5:59 ` sundeep subbaraya
2017-10-26 9:37 ` Alistair Francis
2017-10-30 9:58 ` Peter Maydell
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.