|
@@ -267,8 +267,9 @@ static inline void list_splice_init_rcu(struct list_head *list,
|
|
|
*/
|
|
|
#define list_first_or_null_rcu(ptr, type, member) \
|
|
|
({struct list_head *__ptr = (ptr); \
|
|
|
- struct list_head __rcu *__next = list_next_rcu(__ptr); \
|
|
|
- likely(__ptr != __next) ? container_of(__next, type, member) : NULL; \
|
|
|
+ struct list_head *__next = ACCESS_ONCE(__ptr->next); \
|
|
|
+ likely(__ptr != __next) ? \
|
|
|
+ list_entry_rcu(__next, type, member) : NULL; \
|
|
|
})
|
|
|
|
|
|
/**
|