linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Support intra-function call validation
@ 2024-02-26  9:31 $(uname)
  0 siblings, 0 replies; 5+ messages in thread
From: $(uname) @ 2024-02-26  9:31 UTC (permalink / raw)
  To: bp, mingo, tglx, hpa, jpoimboe, peterz, mbenes, gregkh, stable,
	alexandre.chartre
  Cc: x86, linux-kernel, qirui.001

From: Rui Qi <qirui.001@bytedance.com>

Since kernel version 5.4.250 LTS, there has been an issue with the kernel live patching feature becoming unavailable. When compiling the sample code for kernel live patching, the following message is displayed when enabled:

livepatch: klp_check_stack: kworker/u256:6:23490 has an unreliable stack

After investigation, it was found that this is due to objtool not supporting intra-function calls, resulting in incorrect orc entry generation.

This patchset adds support for intra-function calls, allowing the kernel live patching feature to work correctly.

Alexandre Chartre (2):
  objtool: is_fentry_call() crashes if call has no destination
  objtool: Add support for intra-function calls

Rui Qi (1):
  x86/speculation: Support intra-function call validation

 arch/x86/include/asm/nospec-branch.h          |  7 ++
 include/linux/frame.h                         | 11 ++++
 .../Documentation/stack-validation.txt        |  8 +++
 tools/objtool/arch/x86/decode.c               |  6 ++
 tools/objtool/check.c                         | 64 +++++++++++++++++--
 5 files changed, 91 insertions(+), 5 deletions(-)

-- 
2.39.2 (Apple Git-143)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/3] Support intra-function call validation
  2024-02-26 11:33 ` qirui
@ 2024-02-26 17:28   ` Josh Poimboeuf
  0 siblings, 0 replies; 5+ messages in thread
From: Josh Poimboeuf @ 2024-02-26 17:28 UTC (permalink / raw)
  To: qirui
  Cc: bp, mingo, tglx, hpa, jpoimboe, peterz, mbenes, gregkh, stable,
	alexandre.chartre, x86, linux-kernel

On Mon, Feb 26, 2024 at 07:33:53PM +0800, qirui wrote:
> This issue only occurs in 5.4 LTS versions after LTS 5.4.250
> (inclusive), and this patchset is based on commit
> 6e1f54a4985b63bc1b55a09e5e75a974c5d6719b (Linux 5.4.269)

Does the bug also exist in mainline?  If not, why?

-- 
Josh

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/3] Support intra-function call validation
  2024-02-26  9:49 Rui Qi
@ 2024-02-26 11:33 ` qirui
  2024-02-26 17:28   ` Josh Poimboeuf
  0 siblings, 1 reply; 5+ messages in thread
From: qirui @ 2024-02-26 11:33 UTC (permalink / raw)
  To: bp, mingo, tglx, hpa, jpoimboe, peterz, mbenes, gregkh, stable,
	alexandre.chartre
  Cc: x86, linux-kernel

This issue only occurs in 5.4 LTS versions after LTS 5.4.250 (inclusive), and this patchset is based on commit 6e1f54a4985b63bc1b55a09e5e75a974c5d6719b (Linux 5.4.269)

On 2/26/24 5:49 PM, Rui Qi wrote:
> Since kernel version 5.4.250 LTS, there has been an issue with the kernel live patching feature becoming unavailable. When compiling the sample code for kernel live patching, the following message is displayed when enabled:
> 
> livepatch: klp_check_stack: kworker/u256:6:23490 has an unreliable stack
> 
> After investigation, it was found that this is due to objtool not supporting intra-function calls, resulting in incorrect orc entry generation.
> 
> This patchset adds support for intra-function calls, allowing the kernel live patching feature to work correctly.
> 
> Alexandre Chartre (2):
>    objtool: is_fentry_call() crashes if call has no destination
>    objtool: Add support for intra-function calls
> 
> Rui Qi (1):
>    x86/speculation: Support intra-function call validation
> 
>   arch/x86/include/asm/nospec-branch.h          |  7 ++
>   include/linux/frame.h                         | 11 ++++
>   .../Documentation/stack-validation.txt        |  8 +++
>   tools/objtool/arch/x86/decode.c               |  6 ++
>   tools/objtool/check.c                         | 64 +++++++++++++++++--
>   5 files changed, 91 insertions(+), 5 deletions(-)
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 0/3] Support intra-function call validation
@ 2024-02-26  9:49 Rui Qi
  2024-02-26 11:33 ` qirui
  0 siblings, 1 reply; 5+ messages in thread
From: Rui Qi @ 2024-02-26  9:49 UTC (permalink / raw)
  To: bp, mingo, tglx, hpa, jpoimboe, peterz, mbenes, gregkh, stable,
	alexandre.chartre
  Cc: x86, linux-kernel, Rui Qi

Since kernel version 5.4.250 LTS, there has been an issue with the kernel live patching feature becoming unavailable. When compiling the sample code for kernel live patching, the following message is displayed when enabled:

livepatch: klp_check_stack: kworker/u256:6:23490 has an unreliable stack

After investigation, it was found that this is due to objtool not supporting intra-function calls, resulting in incorrect orc entry generation.

This patchset adds support for intra-function calls, allowing the kernel live patching feature to work correctly.

Alexandre Chartre (2):
  objtool: is_fentry_call() crashes if call has no destination
  objtool: Add support for intra-function calls

Rui Qi (1):
  x86/speculation: Support intra-function call validation

 arch/x86/include/asm/nospec-branch.h          |  7 ++
 include/linux/frame.h                         | 11 ++++
 .../Documentation/stack-validation.txt        |  8 +++
 tools/objtool/arch/x86/decode.c               |  6 ++
 tools/objtool/check.c                         | 64 +++++++++++++++++--
 5 files changed, 91 insertions(+), 5 deletions(-)

-- 
2.39.2 (Apple Git-143)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 0/3] Support intra-function call validation
@ 2024-02-26  9:40 $(name)
  0 siblings, 0 replies; 5+ messages in thread
From: $(name) @ 2024-02-26  9:40 UTC (permalink / raw)
  To: bp, mingo, tglx, hpa, jpoimboe, peterz, mbenes, gregkh, stable,
	alexandre.chartre
  Cc: x86, linux-kernel, qirui.001

From: Rui Qi <qirui.001@bytedance.com>

Since kernel version 5.4.250 LTS, there has been an issue with the kernel live patching feature becoming unavailable. When compiling the sample code for kernel live patching, the following message is displayed when enabled:

livepatch: klp_check_stack: kworker/u256:6:23490 has an unreliable stack

After investigation, it was found that this is due to objtool not supporting intra-function calls, resulting in incorrect orc entry generation.

This patchset adds support for intra-function calls, allowing the kernel live patching feature to work correctly.

Alexandre Chartre (2):
  objtool: is_fentry_call() crashes if call has no destination
  objtool: Add support for intra-function calls

Rui Qi (1):
  x86/speculation: Support intra-function call validation

 arch/x86/include/asm/nospec-branch.h          |  7 ++
 include/linux/frame.h                         | 11 ++++
 .../Documentation/stack-validation.txt        |  8 +++
 tools/objtool/arch/x86/decode.c               |  6 ++
 tools/objtool/check.c                         | 64 +++++++++++++++++--
 5 files changed, 91 insertions(+), 5 deletions(-)

-- 
2.39.2 (Apple Git-143)


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-02-26 17:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-26  9:31 [PATCH 0/3] Support intra-function call validation $(uname)
2024-02-26  9:40 $(name)
2024-02-26  9:49 Rui Qi
2024-02-26 11:33 ` qirui
2024-02-26 17:28   ` Josh Poimboeuf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).