checkpatch: check for uncommented waitqueue_active()
authorJoe Perches <joe@perches.com>
Thu, 25 Jun 2015 22:02:46 +0000 (15:02 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 26 Jun 2015 00:00:41 +0000 (17:00 -0700)
commitcb426e99ff9225e94fb56bd4c5cfcce8b78a3904
treea7e47c66d32182613e9c9735ae32e48421b24b2e
parentcbdc281019b8c5c905ef597511471b18e0fd4a15
checkpatch: check for uncommented waitqueue_active()

Linus sayeth:

: Pretty much every single time people use this "if
: (waitqueue_active())" model, it tends to be a bug, because it means
: that there is zero serialization with people who are just about to go
: to sleep. It's fundamentally racy against all the "wait_event()" loops
: that carefully do memory barriers between testing conditions and going
: to sleep, because the memory barriers now don't exist on the waking
: side.
:
: So I'm making a new rule: if you use waitqueue_active(), I want an
: explanation for why it's not racy with the waiter. A big comment about
: the memory ordering, or about higher-level locks that are held by the
: caller, or something.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
scripts/checkpatch.pl