2015-04-09 20:13:52

by Fabian Frédérick

[permalink] [raw]
Subject: [PATCH 1/1 linux-next] scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning

if()/BUG conversion to BUG_ON must be avoided when there's side effect
in condition. The reason being BUG_ON won't execute condition when CONFIG_BUG
is not defined.

Inspired-by: J. Bruce Fields <[email protected]>
Suggested-by: Julia Lawall <[email protected]>
Signed-off-by: Fabian Frederick <[email protected]>
---
scripts/coccinelle/misc/bugon.cocci | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/coccinelle/misc/bugon.cocci b/scripts/coccinelle/misc/bugon.cocci
index 3b7eec2..0d18022 100644
--- a/scripts/coccinelle/misc/bugon.cocci
+++ b/scripts/coccinelle/misc/bugon.cocci
@@ -57,6 +57,6 @@ coccilib.org.print_todo(p[0], "WARNING use BUG_ON")
p << r.p;
@@

-msg="WARNING: Use BUG_ON"
+msg="WARNING: Use BUG_ON instead of if condition followed by BUG.\nPlease make sure condition has no side effects (see conditional BUG_ON definition in include/asm-generic/bug.h)"
coccilib.report.print_report(p[0], msg)

--
1.9.1


2015-04-09 20:17:41

by Julia Lawall

[permalink] [raw]
Subject: Re: [PATCH 1/1 linux-next] scripts/coccinelle/misc/bugon.cocci: update bug_on conversion warning

On Thu, 9 Apr 2015, Fabian Frederick wrote:

> if()/BUG conversion to BUG_ON must be avoided when there's side effect
> in condition. The reason being BUG_ON won't execute condition when CONFIG_BUG
> is not defined.
>
> Inspired-by: J. Bruce Fields <[email protected]>
> Suggested-by: Julia Lawall <[email protected]>
> Signed-off-by: Fabian Frederick <[email protected]>


Acked by: Julia Lawall <[email protected]>

modulo the suggestion below.

> ---
> scripts/coccinelle/misc/bugon.cocci | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/coccinelle/misc/bugon.cocci b/scripts/coccinelle/misc/bugon.cocci
> index 3b7eec2..0d18022 100644
> --- a/scripts/coccinelle/misc/bugon.cocci
> +++ b/scripts/coccinelle/misc/bugon.cocci
> @@ -57,6 +57,6 @@ coccilib.org.print_todo(p[0], "WARNING use BUG_ON")
> p << r.p;
> @@
>
> -msg="WARNING: Use BUG_ON"
> +msg="WARNING: Use BUG_ON instead of if condition followed by BUG.\nPlease make sure condition has no side effects (see conditional BUG_ON definition in include/asm-generic/bug.h)"
> coccilib.report.print_report(p[0], msg)

"make sure condition" would be nicer as "make sure the condition".

thanks,
julia

> --
> 1.9.1
>
>