hi all this newbie question again regarding to same list.h i have a struct{ int a ; int b; struct list_head ml }mylist; (say) i got 2 elemnets allocated for mylist at relocatable address 1000,(1000(a),1002(b),1004(next), 1006(prev) and 2nd at 2000,ofcourse rest offset are same then address at 1004(next0)---->2004(next1) and 1006(prev0)---->2004 (next1) 2004(next1)----->1004(next0) 2006(prev1)----->1004(next0) when i say list_entry(ptr,mylist,ml) interprets as (mylist *)( (char*)1004 - (unsigned long)(&(type *) 0 ) ->ml)) (mylist *)(1004 - 4) =1000 address of first element more indentation also like same plz let me know if i'm incorrect thanx __________________________________ Do you Yahoo!? Yahoo! Finance: Get your refund fast by filing online. http://taxes.yahoo.com/filing.html -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/