summaryrefslogtreecommitdiff
path: root/include/linux/list_nulls.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-04-11 10:47:28 +0200
committerIngo Molnar <mingo@kernel.org>2017-04-11 10:47:28 +0200
commitb6466d53afdb0c3ca058848cd4c12e141aba0763 (patch)
tree06da4bf69879a7a26dc78d1b4f4b47ca4aaf4c74 /include/linux/list_nulls.h
parent4ffa3c977b5da2907eb294dc6d0259a02f2284aa (diff)
parent7f00f388712b29005782bad7e4b25942620f3b9c (diff)
Merge branch 'x86/urgent' into x86/cpu, to resolve conflict
Conflicts: arch/x86/kernel/cpu/intel_rdt_schemata.c Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/list_nulls.h')
-rw-r--r--include/linux/list_nulls.h5
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