Re: [PATCH 2/2] Replace pid_t in autofs with struct pid reference

From: Eric W. Biederman
Date: Tue Mar 20 2007 - 18:09:26 EST


"Serge E. Hallyn" <serue@xxxxxxxxxx> writes:

>> > void autofs4_dentry_release(struct dentry *);
>> > extern void autofs4_kill_sb(struct super_block *);
>> > diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
>> > index 9857543..4a9ad9b 100644
>> > --- a/fs/autofs4/waitq.c
>> > +++ b/fs/autofs4/waitq.c
>> > @@ -141,8 +141,8 @@ static void autofs4_notify_daemon(struct
>> > packet->ino = wq->ino;
>> > packet->uid = wq->uid;
>> > packet->gid = wq->gid;
>> > - packet->pid = wq->pid;
>> > - packet->tgid = wq->tgid;
>> > + packet->pid = pid_nr(wq->pid);
>> > + packet->tgid = pid_nr(wq->tgid);
>> > break;
>>
>> I'm assuming we build the packet in the process context of the
>> daemon we are sending it to. If not we have a problem here.
>
> Yes this is data being sent to a userspace daemon (Ian pls correct me if
> I'm wrong) so the pid_nr is the only thing we can send.

Agreed. The question is are we in the user space daemon's process when
we generate the pid_nr. Or do we stuff this in some kind of socket,
and the socket switch locations of the packet.

Basically I'm just trying to be certain we are calling pid_nr in the
proper context. Otherwise we could get the wrong pid when we have
multiple pid namespaces in play.

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/