Re: [PATCH v5 03/16] x86/alternatives: Disable LASS when patching kernel alternatives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/28/24 09:07, Alexander Shishkin wrote:
>  static void text_poke_memcpy(void *dst, const void *src, size_t len)
>  {
> -	memcpy(dst, src, len);
> +	lass_stac();
> +	__inline_memcpy(dst, src, len);
> +	lass_clac();
>  }
>  
>  static void text_poke_memset(void *dst, const void *src, size_t len)
>  {
>  	int c = *(const int *)src;
>  
> -	memset(dst, c, len);
> +	lass_stac();
> +	__inline_memset(dst, c, len);
> +	lass_clac();
>  }

These are the _only_ users of lass_stac/clac() or the new inlines.

First of all, I totally agree that the _existing_ strict objtool
behavior around STAC/CLAC is a good idea.

But text poking really is special and the context is highly unlikely to
result in bugs or exploits.  My first instinct here would have been to
tell objtool that the text poking code is OK and to relax objtool's
STAC/CLAC paranoia here.

Looking at objtool, I can see how important it is to keep the STAC/CLAC
code as dirt simple and foolproof as possible.  I don't see an obvious
way to except the text poking code without adding at least some complexity.

Basically what I'm asking for is if the goal is to keep objtool simple,
please *SAY* that.  Because on the surface this doesn't look like a good
idea.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux