2017-06-22 19:26:51

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH 1/2] edac: pnd2_edac: add code comment for clarification

Add code comment to make it clear that the fall-through is intentional.

Addresses-Coverity-ID: 1403728
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/edac/pnd2_edac.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/edac/pnd2_edac.c b/drivers/edac/pnd2_edac.c
index 1cad5a9..c51ec73 100644
--- a/drivers/edac/pnd2_edac.c
+++ b/drivers/edac/pnd2_edac.c
@@ -174,6 +174,7 @@ static int apl_rd_reg(int port, int off, int op, void *data, size_t sz, char *na
switch (sz) {
case 8:
ret = sbi_send(port, off + 4, op, (u32 *)(data + 4));
+ /* fall through */
case 4:
ret = sbi_send(port, off, op, (u32 *)data);
pnd2_printk(KERN_DEBUG, "%s=%x%08x ret=%d\n", name,
--
2.5.0


2017-06-22 19:30:15

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH 2/2] edac: pnd2_edac: remove useless variable assignment

Value assigned to variable _ret_ at line 176 is overwritten
a few lines below before it can be used. This makes such
variable assignment useless.

Addresses-Coverity-ID: 1403730
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/edac/pnd2_edac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/edac/pnd2_edac.c b/drivers/edac/pnd2_edac.c
index c51ec73..d1de53e 100644
--- a/drivers/edac/pnd2_edac.c
+++ b/drivers/edac/pnd2_edac.c
@@ -173,7 +173,7 @@ static int apl_rd_reg(int port, int off, int op, void *data, size_t sz, char *na
edac_dbg(2, "Read %s port=%x off=%x op=%x\n", name, port, off, op);
switch (sz) {
case 8:
- ret = sbi_send(port, off + 4, op, (u32 *)(data + 4));
+ sbi_send(port, off + 4, op, (u32 *)(data + 4));
/* fall through */
case 4:
ret = sbi_send(port, off, op, (u32 *)data);
--
2.5.0

2017-06-22 21:07:57

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH 2/2] edac: pnd2_edac: remove useless variable assignment

On Thu, Jun 22, 2017 at 02:30:10PM -0500, Gustavo A. R. Silva wrote:
> Value assigned to variable _ret_ at line 176 is overwritten
> a few lines below before it can be used. This makes such
> variable assignment useless.
>
> Addresses-Coverity-ID: 1403730

Get rid of this tag...

> Signed-off-by: Gustavo A. R. Silva <[email protected]>
> ---
> drivers/edac/pnd2_edac.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/edac/pnd2_edac.c b/drivers/edac/pnd2_edac.c
> index c51ec73..d1de53e 100644
> --- a/drivers/edac/pnd2_edac.c
> +++ b/drivers/edac/pnd2_edac.c
> @@ -173,7 +173,7 @@ static int apl_rd_reg(int port, int off, int op, void *data, size_t sz, char *na
> edac_dbg(2, "Read %s port=%x off=%x op=%x\n", name, port, off, op);
> switch (sz) {
> case 8:
> - ret = sbi_send(port, off + 4, op, (u32 *)(data + 4));
> + sbi_send(port, off + 4, op, (u32 *)(data + 4));

... keep ret but OR it in with its previous value:

case 8:
ret = sbi_send(port, off + 4, op, (u32 *)(data + 4));
/* fall through */
case 4:
ret |= sbi_send(port, off, op, (u32 *)data);

> /* fall through */
> case 4:
> ret = sbi_send(port, off, op, (u32 *)data);

... and merge both into a single patch.

Thanks.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

2017-06-22 21:43:56

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH 2/2] edac: pnd2_edac: remove useless variable assignment

Hi Borislav,

Quoting Borislav Petkov <[email protected]>:

> On Thu, Jun 22, 2017 at 02:30:10PM -0500, Gustavo A. R. Silva wrote:
>> Value assigned to variable _ret_ at line 176 is overwritten
>> a few lines below before it can be used. This makes such
>> variable assignment useless.
>>
>> Addresses-Coverity-ID: 1403730
>
> Get rid of this tag...
>
>> Signed-off-by: Gustavo A. R. Silva <[email protected]>
>> ---
>> drivers/edac/pnd2_edac.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/edac/pnd2_edac.c b/drivers/edac/pnd2_edac.c
>> index c51ec73..d1de53e 100644
>> --- a/drivers/edac/pnd2_edac.c
>> +++ b/drivers/edac/pnd2_edac.c
>> @@ -173,7 +173,7 @@ static int apl_rd_reg(int port, int off, int
>> op, void *data, size_t sz, char *na
>> edac_dbg(2, "Read %s port=%x off=%x op=%x\n", name, port, off, op);
>> switch (sz) {
>> case 8:
>> - ret = sbi_send(port, off + 4, op, (u32 *)(data + 4));
>> + sbi_send(port, off + 4, op, (u32 *)(data + 4));
>
> ... keep ret but OR it in with its previous value:
>
> case 8:
> ret = sbi_send(port, off + 4, op, (u32 *)(data + 4));
> /* fall through */
> case 4:
> ret |= sbi_send(port, off, op, (u32 *)data);
>
>> /* fall through */
>> case 4:
>> ret = sbi_send(port, off, op, (u32 *)data);
>
> ... and merge both into a single patch.
>

I got it. I'll send a new patch shortly.

Thanks!
--
Gustavo A. R. Silva





2017-06-22 22:05:45

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH] edac: pnd2_edac: add code comment for clarification and update variable assignment

Add code comment to make it clear that the fall-through is intentional and,
OR ret with its previous value to avoid overwriting it.

Cc: Borislav Petkov <[email protected]>
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/edac/pnd2_edac.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/edac/pnd2_edac.c b/drivers/edac/pnd2_edac.c
index 1cad5a9..63cb323 100644
--- a/drivers/edac/pnd2_edac.c
+++ b/drivers/edac/pnd2_edac.c
@@ -174,8 +174,9 @@ static int apl_rd_reg(int port, int off, int op, void *data, size_t sz, char *na
switch (sz) {
case 8:
ret = sbi_send(port, off + 4, op, (u32 *)(data + 4));
+ /* fall through */
case 4:
- ret = sbi_send(port, off, op, (u32 *)data);
+ ret |= sbi_send(port, off, op, (u32 *)data);
pnd2_printk(KERN_DEBUG, "%s=%x%08x ret=%d\n", name,
sz == 8 ? *((u32 *)(data + 4)) : 0, *((u32 *)data), ret);
break;
--
2.5.0

2017-06-23 07:53:34

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] edac: pnd2_edac: add code comment for clarification and update variable assignment

On Thu, Jun 22, 2017 at 05:05:35PM -0500, Gustavo A. R. Silva wrote:
> Add code comment to make it clear that the fall-through is intentional and,
> OR ret with its previous value to avoid overwriting it.
>
> Cc: Borislav Petkov <[email protected]>
> Signed-off-by: Gustavo A. R. Silva <[email protected]>
> ---
> drivers/edac/pnd2_edac.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)

Applied, thanks.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.