Re: [v3][PATCH 5/5] Merge code for singleandmultiple-instancemounts

From: Sukadev Bhattiprolu
Date: Mon May 11 2009 - 18:15:33 EST


Marc Dionne [marc.c.dionne@xxxxxxxxx] wrote:
> On 05/07/2009 07:21 PM, Sukadev Bhattiprolu wrote:
>> Er. I meant add following lines after the memset().
>>
>> | opts->mode = DEVPTS_DEFAULT_MODE;
>> | opts->ptmxmode = DEVPTS_DEFAULT_PTMX_MODE;
>
> Adding those two lines (with . instead of ->) does fix the issue for me,
> thanks.
>
> | > Of course we would still need to understand if/
> | > why this patch changes the settings.
>
> That particular patch changed things because the original memcpy in
> new_pts_mount() did this:
>
> memcpy(&fsi->mount_opts, opts, sizeof(opts));
>
> where opts was a pointer, not a structure. So only the first few bytes of
> the blank opts actually got copied over. The patch moved this memcpy to
> devpts_get_sb() and in the process fixed the sizeof error.

Here is a cleaner fix - When user space (/etc/rc.sysinit on RHEL5) mounts
devpts, this problem might be masked since the mount system call could pass
a non-NULL 'data' parmeter to devpts_get_sb().

I tested this patch by directly calling the system call mount() with a NULL
data parameter. If you/Eric/Peter can confirm that this works for you, I will
send this patch to Andrew.

Thanks,
---