X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=lttng-statedump-impl.c;h=f3ae1937b1faa5da94683d891311bc1013eb1bb8;hb=c07dca48244f57469b8965a2006a8671a8b39fc0;hp=043bbaa1a8eaee4b91655f8649ed2e4fccfb8cc5;hpb=adcc8b5e0be84d0b8c4b414d7db5b8c54e0b0466;p=lttng-modules.git diff --git a/lttng-statedump-impl.c b/lttng-statedump-impl.c index 043bbaa1..f3ae1937 100644 --- a/lttng-statedump-impl.c +++ b/lttng-statedump-impl.c @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include @@ -43,7 +42,7 @@ #include #include #include -#include +#include #ifdef CONFIG_LTTNG_HAS_LIST_IRQ #include @@ -433,7 +432,16 @@ void lttng_statedump_process_ns(struct lttng_session *session, user_ns = task_cred_xxx(p, user_ns); do { trace_lttng_statedump_process_user_ns(session, p, user_ns); - user_ns = user_ns->lttng_user_ns_parent; + /* + * trace_lttng_statedump_process_user_ns() internally + * checks whether user_ns is NULL. While this does not + * appear to be a possible return value for + * task_cred_xxx(), err on the safe side and check + * for NULL here as well to be consistent with the + * paranoid behavior of + * trace_lttng_statedump_process_user_ns(). + */ + user_ns = user_ns ? user_ns->lttng_user_ns_parent : NULL; } while (user_ns); /*