Question on a lockdep test case about mixed read-write ABBA

From: Yuyang Du
Date: Thu Apr 04 2019 - 01:03:27 EST


Hi Peter,

I observed this test case you wrote in Commit: e9149858974606
("locking/lockdep/selftests: Add mixed read-write ABBA").

static void rwsem_ABBA2(void)
{
RSL(X1);
ML(Y1);
MU(Y1);
RSU(X1);

ML(Y1);
RSL(X1);
RSU(X1);
MU(Y1); // should fail
}

Why should it fail? This is not a deadlock, right? The depencencies
would be built by lockdep though; that results in a false positive.

Thanks,
Yuyang