diff options
| author | Ingo Molnar <mingo@kernel.org> | 2017-03-16 09:50:50 +0100 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2017-03-16 09:50:50 +0100 |
| commit | 2b95bd7d58d368fe5dcbe6f4e494847ea082d89d (patch) | |
| tree | 48c38d792f31f2fe10b26b03bdf1b10a82ca03a4 /include/linux/list_nulls.h | |
| parent | ffa86c2f1a8862cf58c873f6f14d4b2c3250fb48 (diff) | |
| parent | 69eea5a4ab9c705496e912b55a9d312325de19e6 (diff) | |
| download | cachepc-linux-2b95bd7d58d368fe5dcbe6f4e494847ea082d89d.tar.gz cachepc-linux-2b95bd7d58d368fe5dcbe6f4e494847ea082d89d.zip | |
Merge branch 'linus' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/list_nulls.h')
| -rw-r--r-- | include/linux/list_nulls.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/list_nulls.h b/include/linux/list_nulls.h index b01fe1009084..87ff4f58a2f0 100644 --- a/include/linux/list_nulls.h +++ b/include/linux/list_nulls.h @@ -29,6 +29,11 @@ struct hlist_nulls_node { ((ptr)->first = (struct hlist_nulls_node *) NULLS_MARKER(nulls)) #define hlist_nulls_entry(ptr, type, member) container_of(ptr,type,member) + +#define hlist_nulls_entry_safe(ptr, type, member) \ + ({ typeof(ptr) ____ptr = (ptr); \ + !is_a_nulls(____ptr) ? hlist_nulls_entry(____ptr, type, member) : NULL; \ + }) /** * ptr_is_a_nulls - Test if a ptr is a nulls * @ptr: ptr to be tested |
