-#define container_of_var(member_ptr, var, member) \
- ((void *)((char *)(member_ptr) - offsetof(containing_type, member)))
+#define container_of_var(member_ptr, var, member) \
+ ((void *)((char *)(member_ptr) \
+ - ((char *)&(var)->member - (char *)(var))))