Re: [PATCH v2 1/4] init: create cmdline param to disable readonly

Ingo Molnar
2015-12-01T07:24:11Z

* Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:

> On Mon, Nov 30, 2015 at 01:52:10PM -0800, Kees Cook wrote:
> > On Wed, Nov 25, 2015 at 11:51 PM, Ingo Molnar <mingo@kernel.org> wrote:
> > > * Kees Cook <keescook@chromium.org> wrote:
> > >> +#ifdef CONFIG_DEBUG_RODATA
> > >
> > > Btw., could you please remove the Kconfig option altogether in an additional patch
> > > and make read-only sections an always-on feature? It has been default-y for years
> > > and all distros have it enabled.
> >
> > Yeah, this is something I've wanted to do for a while, but I would
> > point out that only a few architectures have actually implemented it,
> > and for arm and arm64 it was very recent:
>
> I don't think it can entirely be a kernel command line option. On ARM,
> enabling DEBUG_RODATA has a substantial effect on the size of the kernel
> image - we have to pad various sections to 1MB boundaries so we can
> set the appropriate permissions.
>
> Forcing this layout on everyone won't work.

Yeah, so I'd suggest to have it always-on on x86 (after adding the boot option),
to simplify the x86 code and to make it more obvious that we rely on this.

There's a moderate amount of #ifdeffery around this:

triton:~/tip> git grep -w CONFIG_DEBUG_RODATA arch/x86/ | grep \# | wc -l
15

Thanks,

Ingo