Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 402c2553 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin
Browse files

checkpatch.pl: add missing memory barriers



SMP-only barriers were missing in checkpatch.pl

Refactor code slightly to make adding more variants easier.

Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Acked-by: default avatarJulian Calaby <julian.calaby@gmail.com>
Acked-by: default avatarJoe Perches <joe@perches.com>
Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
parent f7ad26ff
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -5116,7 +5116,27 @@ sub process {
			}
		}
# check for memory barriers without a comment.
		if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {

		my $barriers = qr{
			mb|
			rmb|
			wmb|
			read_barrier_depends
		}x;
		my $barrier_stems = qr{
			mb__before_atomic|
			mb__after_atomic|
			store_release|
			load_acquire|
			store_mb|
			(?:$barriers)
		}x;
		my $all_barriers = qr{
			(?:$barriers)|
			smp_(?:$barrier_stems)
		}x;

		if ($line =~ /\b(?:$all_barriers)\s*\(/) {
			if (!ctx_has_comment($first_line, $linenr)) {
				WARN("MEMORY_BARRIER",
				     "memory barrier without comment\n" . $herecurr);