# Re: \[PATCH security-next v3 02/29\] vmlinux.lds.h: Avoid copy/paste of security\_init section

- From: John Johansen \<john.johansen@canonical.com\>
- Date: 2018-10-01 21:05:58 
- List: linux-security-module
- Page: https://ratatoskr.run/linux-security-module/2018/10/5396323
- Thread: https://ratatoskr.run/linux-arch/2018/09/5390136/t.md

```text
On 09/24/2018 05:18 PM, Kees Cook wrote:
> Avoid copy/paste by defining SECURITY_INIT in terms of SECURITY_INITCALL.
> 
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: <redacted>
> Signed-off-by: Kees Cook <redacted>


Reviewed-by: John Johansen <john.johansen@canonical.com>

> ---
>  include/asm-generic/vmlinux.lds.h | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
> index 7b75ff6e2fce..934a45395547 100644
> --- a/include/asm-generic/vmlinux.lds.h
> +++ b/include/asm-generic/vmlinux.lds.h
> @@ -473,13 +473,6 @@
>  #define RODATA          RO_DATA_SECTION(4096)
>  #define RO_DATA(align)  RO_DATA_SECTION(align)
>  
> -#define SECURITY_INIT							\
> -	.security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) { \
> -		__security_initcall_start = .;				\
> -		KEEP(*(.security_initcall.init))			\
> -		__security_initcall_end = .;				\
> -	}
> -
>  /*
>   * .text section. Map to function alignment to avoid address changes
>   * during second ld run in second ld pass when generating System.map
> @@ -798,6 +791,12 @@
>  		KEEP(*(.security_initcall.init))			\
>  		__security_initcall_end = .;
>  
> +/* Older linker script style for security init. */
> +#define SECURITY_INIT							\
> +	.security_initcall.init : AT(ADDR(.security_initcall.init) - LOAD_OFFSET) { \
> +		SECURITY_INITCALL					\
> +	}
> +
>  #ifdef CONFIG_BLK_DEV_INITRD
>  #define INIT_RAM_FS							\
>  	. = ALIGN(4);							\
> 

```
