Re: [PATCH 1/1] pid_namespace: pidns_get() should check task_active_pid_ns() != NULL

From: Eric W. Biederman
Date: Wed Apr 02 2014 - 18:02:13 EST


Oleg Nesterov <oleg@xxxxxxxxxx> writes:

2> On 04/02, Eric W. Biederman wrote:
>>
>> Oleg Nesterov <oleg@xxxxxxxxxx> writes:
>>
>> > pidns_get()->get_pid_ns() can hit ns == NULL. This task_struct can't
>> > go away, but task_active_pid_ns(task) is NULL if release_task(task)
>> > was already called. Alternatively we could change get_pid_ns(ns) to
>> > check ns != NULL, but it seems that other callers are fine.
>>
>> get_pid_ns already has a ns == NULL check, so no code changes should be
>> needed.
>
> Hmm...
>
> static inline struct pid_namespace *get_pid_ns(struct pid_namespace *ns)
> {
> if (ns != &init_pid_ns)
> kref_get(&ns->kref);
> return ns;
> }
>
> ?

Apparently I could not read this morning, and somehow thought
ns != &init_pid_ns was ns != NULL.


Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/