The macro PTR_ENTRY() need tp strip possible tag from the entry. Let create a small helper for this 'untagging' operation. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- ptrlist.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ptrlist.h b/ptrlist.h index 9ab3047e2..e6e2e6169 100644 --- a/ptrlist.h +++ b/ptrlist.h @@ -61,8 +61,9 @@ extern int linearize_ptr_list(struct ptr_list *, void **, int); #define free_ptr_list(list) \ do { VRFY_PTR_LIST(*(list)); __free_ptr_list((struct ptr_list **)(list)); } while (0) +#define PTR_UNTAG(p) ((void*)(~3UL & (unsigned long)(p))) #define PTR_ENTRY_NOTAG(h,i) ((h)->list[i]) -#define PTR_ENTRY(h,i) (void *)(~3UL & (unsigned long)PTR_ENTRY_NOTAG(h,i)) +#define PTR_ENTRY(h,i) PTR_UNTAG((h)->list[i]) static inline void *first_ptr_list(struct ptr_list *list) { -- 2.17.1 -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html