From: Tom Rix <[email protected]>
clang static analyzer reports this problem
sb_edac.c:959:2: warning: Undefined or garbage value
returned to caller
return type;
^~~~~~~~~~~
This is a false positive.
However by initializing the type to DEV_UNKNOWN the 3 case can be
removed from the switch, saving a comparison and jump.
Signed-off-by: Tom Rix <[email protected]>
---
drivers/edac/sb_edac.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
index 68f2fe4df333..93daa4297f2e 100644
--- a/drivers/edac/sb_edac.c
+++ b/drivers/edac/sb_edac.c
@@ -939,12 +939,9 @@ static enum dev_type sbridge_get_width(struct sbridge_pvt *pvt, u32 mtr)
static enum dev_type __ibridge_get_width(u32 mtr)
{
- enum dev_type type;
+ enum dev_type type = DEV_UNKNOWN;
switch (mtr) {
- case 3:
- type = DEV_UNKNOWN;
- break;
case 2:
type = DEV_X16;
break;
--
2.18.1
On Mon, Sep 07, 2020 at 08:32:25AM -0700, [email protected] wrote:
> From: Tom Rix <[email protected]>
>
> clang static analyzer reports this problem
>
> sb_edac.c:959:2: warning: Undefined or garbage value
> returned to caller
> return type;
> ^~~~~~~~~~~
>
> This is a false positive.
>
> However by initializing the type to DEV_UNKNOWN the 3 case can be
> removed from the switch, saving a comparison and jump.
>
> Signed-off-by: Tom Rix <[email protected]>
Some maintainers have a preference for a default case statement but
presumably this case statement has been cutting it as is so:
Reviewed-by: Nathan Chancellor <[email protected]>
> ---
> drivers/edac/sb_edac.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
> index 68f2fe4df333..93daa4297f2e 100644
> --- a/drivers/edac/sb_edac.c
> +++ b/drivers/edac/sb_edac.c
> @@ -939,12 +939,9 @@ static enum dev_type sbridge_get_width(struct sbridge_pvt *pvt, u32 mtr)
>
> static enum dev_type __ibridge_get_width(u32 mtr)
> {
> - enum dev_type type;
> + enum dev_type type = DEV_UNKNOWN;
>
> switch (mtr) {
> - case 3:
> - type = DEV_UNKNOWN;
> - break;
> case 2:
> type = DEV_X16;
> break;
> --
> 2.18.1
>
> --
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20200907153225.7294-1-trix%40redhat.com.
> However by initializing the type to DEV_UNKNOWN the 3 case can be
> removed from the switch, saving a comparison and jump.
>
> Signed-off-by: Tom Rix <[email protected]>
Applied. Thanks.
-Tony
[Boris: Pushed to edac-misc and edac-for-next branches in RAS tree]
On Tue, Sep 08, 2020 at 10:08:28PM +0000, Luck, Tony wrote:
> [Boris: Pushed to edac-misc and edac-for-next branches in RAS tree]
Yap, looks good.
Thx.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette