From: Oren Laadan <[email protected]>

One may not call task_pid_vnr() on dead tasks because they don't have
a valid ->nxproxy pointer. However, the ckpt_ctx cleanup may be called
by a dead task from do_exit(), in the case of zombie or "ghost" tasks.

This patch makes ckpt_debug() safe to call from dead tasks context, so
that debug printing from code called by ckpt_ctx_free() is cool.

Signed-off-by: Oren Laadan <[email protected]>
---
 include/linux/checkpoint.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/include/linux/checkpoint.h b/include/linux/checkpoint.h
index e00dd70..5294a96 100644
--- a/include/linux/checkpoint.h
+++ b/include/linux/checkpoint.h
@@ -334,7 +334,9 @@ extern unsigned long ckpt_debug_level;
        do {                                                            \
                if (ckpt_debug_level & (level))                         \
                        printk(KERN_DEBUG "[%d:%d:c/r:%s:%d] " fmt,     \
-                               current->pid, task_pid_vnr(current),    \
+                               current->pid,                           \
+                               current->nsproxy ?                      \
+                               task_pid_vnr(current) : -1,             \
                                __func__, __LINE__, ## args);           \
        } while (0)
 
-- 
1.6.0.4

_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to