LIST_BL_LOCKMASK
((uintptr_t)n | ((uintptr_t)*pprev & LIST_BL_LOCKMASK)));
LIST_BL_BUG_ON((unsigned long)n & LIST_BL_LOCKMASK);
((unsigned long)*pprev & LIST_BL_LOCKMASK)));
((unsigned long)h->first & ~LIST_BL_LOCKMASK);
LIST_BL_BUG_ON((unsigned long)n & LIST_BL_LOCKMASK);
LIST_BL_BUG_ON(((unsigned long)h->first & LIST_BL_LOCKMASK) !=
LIST_BL_LOCKMASK);
h->first = (struct hlist_bl_node *)((unsigned long)n | LIST_BL_LOCKMASK);
return !((unsigned long)READ_ONCE(h->first) & ~LIST_BL_LOCKMASK);
LIST_BL_BUG_ON((unsigned long)n & LIST_BL_LOCKMASK);
LIST_BL_BUG_ON(((unsigned long)h->first & LIST_BL_LOCKMASK) !=
LIST_BL_LOCKMASK);
(struct hlist_bl_node *)((unsigned long)n | LIST_BL_LOCKMASK));
((unsigned long)rcu_dereference_check(h->first, hlist_bl_is_locked(h)) & ~LIST_BL_LOCKMASK);