hi , I couldn't even get the statement "it says such macros are used to have a block of statements without errors on subsitution." I think Jim must be right.It could just be a hook which could be redefined later.Now another guess could be to check out whether "do{}while(0)" is another macro defined ..... Becoz for the process list traversal there is a macro like for_each_process(p) .So there is a chance for "do{}while(0) " to be a defined macro.Just guessing.. WIth warm Regards, Pankaj -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/