C C-assign-deref-addr-int
{
int z = 0;
int *v = &z;
}
P0 (int *x, int *y) {
WRITE_ONCE(*x,1) ;
smp_wmb();
WRITE_ONCE(*y,1) ;
}
P1 (int *y, int **v,int *x) {
int *r0; int r1; int r2;
r1 = READ_ONCE(*y) ;
rcu_assign_pointer(*v,x) ;
r0 = lockless_dereference(*v) ;
r2 = READ_ONCE(*r0) ;
}
Observed
1:r2=0; 1:r1=1; 1:r0=x;