Message ID | 20170903120757.14968-3-ard.biesheuvel@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sun, 3 Sep 2017, Ard Biesheuvel wrote: > When running in PIC mode, the compiler will emit const structures > containing runtime relocatable quantities into .data.rel.ro.* sections, > so that the linker can be smart about placing them together in a segment > that is read-write initially, and is remapped read-only afterwards. This > is exactly what __ro_after_init aims to provide, so move these sections > together. > > Acked-by: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Nicolas Pitre <nico@linaro.org> > --- > include/asm-generic/vmlinux.lds.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h > index da0be9a8d1de..d16537b0b102 100644 > --- a/include/asm-generic/vmlinux.lds.h > +++ b/include/asm-generic/vmlinux.lds.h > @@ -261,7 +261,7 @@ > #ifndef RO_AFTER_INIT_DATA > #define RO_AFTER_INIT_DATA \ > VMLINUX_SYMBOL(__start_ro_after_init) = .; \ > - *(.data..ro_after_init) \ > + *(.data..ro_after_init .data.rel.ro.*) \ > VMLINUX_SYMBOL(__end_ro_after_init) = .; > #endif > > -- > 2.11.0 > >
On Sun, Sep 3, 2017 at 5:07 AM, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote: > When running in PIC mode, the compiler will emit const structures > containing runtime relocatable quantities into .data.rel.ro.* sections, > so that the linker can be smart about placing them together in a segment > that is read-write initially, and is remapped read-only afterwards. This > is exactly what __ro_after_init aims to provide, so move these sections > together. > > Acked-by: Arnd Bergmann <arnd@arndb.de> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Kees Cook <keescook@chromium.org> -Kees > --- > include/asm-generic/vmlinux.lds.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h > index da0be9a8d1de..d16537b0b102 100644 > --- a/include/asm-generic/vmlinux.lds.h > +++ b/include/asm-generic/vmlinux.lds.h > @@ -261,7 +261,7 @@ > #ifndef RO_AFTER_INIT_DATA > #define RO_AFTER_INIT_DATA \ > VMLINUX_SYMBOL(__start_ro_after_init) = .; \ > - *(.data..ro_after_init) \ > + *(.data..ro_after_init .data.rel.ro.*) \ > VMLINUX_SYMBOL(__end_ro_after_init) = .; > #endif > > -- > 2.11.0 >
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index da0be9a8d1de..d16537b0b102 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -261,7 +261,7 @@ #ifndef RO_AFTER_INIT_DATA #define RO_AFTER_INIT_DATA \ VMLINUX_SYMBOL(__start_ro_after_init) = .; \ - *(.data..ro_after_init) \ + *(.data..ro_after_init .data.rel.ro.*) \ VMLINUX_SYMBOL(__end_ro_after_init) = .; #endif