pid: fix the do_each_pid_task() macro
Steven Rostedt [Thu, 4 Dec 2008 05:26:39 +0000 (00:26 -0500)]
Impact: macro side-effects fix

This patch adds parenthesis around 'pid' in the do_each_pid_task
macro to allow callers to pass in more complex parameters.

e.g.  do_each_pid_task(*pid, type, task)

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

include/linux/pid.h

index d7e98ff..bb206c5 100644 (file)
@@ -147,9 +147,9 @@ pid_t pid_vnr(struct pid *pid);
 #define do_each_pid_task(pid, type, task)                              \
        do {                                                            \
                struct hlist_node *pos___;                              \
-               if (pid != NULL)                                        \
+               if ((pid) != NULL)                                      \
                        hlist_for_each_entry_rcu((task), pos___,        \
-                               &pid->tasks[type], pids[type].node) {
+                               &(pid)->tasks[type], pids[type].node) {
 
                        /*
                         * Both old and new leaders may be attached to