diff options
author | Andy Whitcroft <apw@shadowen.org> | 2009-01-06 17:41:16 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-06 18:59:15 -0500 |
commit | 691d77b6b85c20e4166bafd12bd0131b28f95a16 (patch) | |
tree | b7c8950fadd6d3cf3a949d3977597cd0388544e8 /scripts/checkpatch.pl | |
parent | 94e2959e7a6a4ef0969932c30349ce6f4469a3cf (diff) |
checkpatch: add checks for in_atomic()
in_atomic() is not for driver use so report any such use as an ERROR.
Also in_atomic() is often used to determine if we may sleep, but it is not
reliable in this use model therefore strongly discourage its use.
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts/checkpatch.pl')
-rwxr-xr-x | scripts/checkpatch.pl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index f88bb3e21cda..826cdbac0114 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl | |||
@@ -2466,6 +2466,15 @@ sub process { | |||
2466 | last; | 2466 | last; |
2467 | } | 2467 | } |
2468 | } | 2468 | } |
2469 | |||
2470 | # whine mightly about in_atomic | ||
2471 | if ($line =~ /\bin_atomic\s*\(/) { | ||
2472 | if ($realfile =~ m@^drivers/@) { | ||
2473 | ERROR("do not use in_atomic in drivers\n" . $herecurr); | ||
2474 | } else { | ||
2475 | WARN("use of in_atomic() is incorrect outside core kernel code\n" . $herecurr); | ||
2476 | } | ||
2477 | } | ||
2469 | } | 2478 | } |
2470 | 2479 | ||
2471 | # If we have no input at all, then there is nothing to report on | 2480 | # If we have no input at all, then there is nothing to report on |