Hi, I'm checking the container_of and offsetof macro #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); (type *)( (char *)__mptr - offsetof(type,member) );}) #define offsetof(TYPE, MEMBER) \ ((size_t) &((TYPE *)0)->MEMBER) I did not understand the first line of both macro. Will it not create the NULL pointer dereference problem? I know it works and read some article but it did not explain this part, so can anyone explain why the NULL pointer error is not coming. Am I missing something? Any C language specification of such example. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies