checkpatch: check for __smp outside barrier.h
Introduction of __smp barriers cleans up a bunch of duplicate code, but it gives people an additional handle onto a "new" set of barriers - just because they're prefixed with __* unfortunately doesn't stop anyone from using it (as happened with other arch stuff before.) Add a checkpatch test so it will trigger a warning. Reported-by: Russell King <linux@arm.linux.org.uk> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Julian Calaby <julian.calaby@gmail.com> Acked-by: Joe Perches <joe@perches.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
This commit is contained in:
Родитель
402c2553a2
Коммит
f4073b0f6e
|
@ -5143,6 +5143,16 @@ sub process {
|
|||
}
|
||||
}
|
||||
|
||||
my $underscore_smp_barriers = qr{__smp_(?:$barrier_stems)}x;
|
||||
|
||||
if ($realfile !~ m@^include/asm-generic/@ &&
|
||||
$realfile !~ m@/barrier\.h$@ &&
|
||||
$line =~ m/\b(?:$underscore_smp_barriers)\s*\(/ &&
|
||||
$line !~ m/^.\s*\#\s*define\s+(?:$underscore_smp_barriers)\s*\(/) {
|
||||
WARN("MEMORY_BARRIER",
|
||||
"__smp memory barriers shouldn't be used outside barrier.h and asm-generic\n" . $herecurr);
|
||||
}
|
||||
|
||||
# check for waitqueue_active without a comment.
|
||||
if ($line =~ /\bwaitqueue_active\s*\(/) {
|
||||
if (!ctx_has_comment($first_line, $linenr)) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче