C C-ISA2-6+o-sync-o+o-sync-o+o-sync-o+rl-o-o-rul+rl-o-o-rul+rl-o-o-rul.litmus

{
}

P0(int *a, int *b)
{
	WRITE_ONCE(*a, 1);
	synchronize_rcu();
	WRITE_ONCE(*b, 1);
}

P1(int *b, int *c)
{
	r1 = READ_ONCE(*b);
	synchronize_rcu();
	WRITE_ONCE(*c, 1);
}

P2(int *c, int *d)
{
	r2 = READ_ONCE(*c);
	synchronize_rcu();
	WRITE_ONCE(*d, 1);
}

P3(int *d, int *e)
{
	rcu_read_lock();
	r3 = READ_ONCE(*d);
	WRITE_ONCE(*e, 1);
	rcu_read_unlock();
}

P4(int *e, int *f)
{
	rcu_read_lock();
	r4 = READ_ONCE(*e);
	WRITE_ONCE(*f, 1);
	rcu_read_unlock();
}

P5(int *f, int *a)
{
	rcu_read_lock();
	r5 = READ_ONCE(*f);
	r6 = READ_ONCE(*a);
	rcu_read_unlock();
}

exists
(1:r1=1 /\ 2:r2=1 /\ 3:r3=1 /\ 4:r4=1 /\ 5:r5=1 /\ 5:r6=0)
