|
@@ -48,13 +48,11 @@ checking of rcu_dereference() primitives:
|
|
|
value of the pointer itself, for example, against NULL.
|
|
|
|
|
|
The rcu_dereference_check() check expression can be any boolean
|
|
|
-expression, but would normally include one of the rcu_read_lock_held()
|
|
|
-family of functions and a lockdep expression. However, any boolean
|
|
|
-expression can be used. For a moderately ornate example, consider
|
|
|
-the following:
|
|
|
+expression, but would normally include a lockdep expression. However,
|
|
|
+any boolean expression can be used. For a moderately ornate example,
|
|
|
+consider the following:
|
|
|
|
|
|
file = rcu_dereference_check(fdt->fd[fd],
|
|
|
- rcu_read_lock_held() ||
|
|
|
lockdep_is_held(&files->file_lock) ||
|
|
|
atomic_read(&files->count) == 1);
|
|
|
|
|
@@ -62,7 +60,7 @@ This expression picks up the pointer "fdt->fd[fd]" in an RCU-safe manner,
|
|
|
and, if CONFIG_PROVE_RCU is configured, verifies that this expression
|
|
|
is used in:
|
|
|
|
|
|
-1. An RCU read-side critical section, or
|
|
|
+1. An RCU read-side critical section (implicit), or
|
|
|
2. with files->file_lock held, or
|
|
|
3. on an unshared files_struct.
|
|
|
|