Re: init: How did init/do_mounts_rd.c overcome memory protection ?

From: Badhri Jagan Sridharan
Date: Tue Nov 10 2015 - 20:22:47 EST


Thanks Richard !!
That's the one that I was looking for.

On Tue, Nov 10, 2015 at 1:37 PM, Richard Weinberger
<richard.weinberger@xxxxxxxxx> wrote:
> On Tue, Nov 10, 2015 at 7:38 PM, Badhri Jagan Sridharan
> <badhri@xxxxxxxxxx> wrote:
>> Mighty upstream,
>>
>> I see that do_mounts_rd.c seems to make calls to sys_read and
>> sys_lseek functions. As these are syscall functions, they expects
>> some of the arguments to be from userspace.
>>
>> I was going through the article that Greg KH wrote a while back:
>> http://www.linuxjournal.com/article/8110?page=0,1 . I don't see any
>> references to set_fs/get_fs under init/*. Does the memory protection
>> get enabled only in the later stage ? Or does do_mounts_rd.c accomplish
>> this in some other way ?
>
> The stuff in init/ is PID 1 and it inherits addr_limit from the
> initial thread (PID 0 or swapper called).
> INIT_THREAD_INFO() sets addr_limit to KERNEL_DS.
>
> --
> Thanks,
> //richard
--
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/