All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: yongxin.liu@windriver.com
Cc: x86@kernel.org, linux-kernel@vger.kernel.org, bp@alien8.de,
	tglx@linutronix.de, mingo@redhat.com,
	dave.hansen@linux.intel.com, vigbalas@amd.com,
	stable@vger.kernel.org
Subject: Re: [PATCH] x86/elf: Fix core dump truncation on CPUs with no extended xfeatures
Date: Tue, 9 Dec 2025 10:04:44 +0100	[thread overview]
Message-ID: <aTfmLKlUjQN4e1Zw@gmail.com> (raw)
In-Reply-To: <20251209072124.3119466-1-yongxin.liu@windriver.com>

* yongxin.liu@windriver.com <yongxin.liu@windriver.com> wrote:

> From: Yongxin Liu <yongxin.liu@windriver.com>
>
> Zero can be a valid value of num_records. For example, on Intel Atom x6425RE,
> only x87 and SSE are supported (features 0, 1), and fpu_user_cfg.max_features
> is 3. The for_each_extended_xfeature() loop only iterates feature 2, which is
> not enabled, so num_records = 0. This is valid and should not cause core dump
> failure.
>
> The size check already validates consistency: if num_records = 0, then
> en.n_descsz = 0, so the check passes.
>
> Cc: stable@vger.kernel.org
> Fixes: ba386777a30b ("x86/elf: Add a new FPU buffer layout info to x86 core files")
> Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
> ---
>  arch/x86/kernel/fpu/xstate.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c
> index 48113c5193aa..b1dd30eb21a8 100644
> --- a/arch/x86/kernel/fpu/xstate.c
> +++ b/arch/x86/kernel/fpu/xstate.c
> @@ -1984,8 +1984,6 @@ int elf_coredump_extra_notes_write(struct coredump_params *cprm)
>		return 1;
>
>	num_records = dump_xsave_layout_desc(cprm);
> -	if (!num_records)
> -		return 1;

The problem with your patch is that '0' is also used for other errors,
it's the all-around error flag for core dump helper functions such as
dump_emit():

                if (!dump_emit(cprm, &xc, sizeof(xc)))
                        return 0;

So please change dump_xsave_layout_desc() to use negatives
as genuine errors and otherwise returns num_records, and
change elf_coredump_extra_notes_write() to only abort
on genuine errors.

Thanks,

	Ingo

  reply	other threads:[~2025-12-09  9:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-09  7:21 [PATCH] x86/elf: Fix core dump truncation on CPUs with no extended xfeatures yongxin.liu
2025-12-09  9:04 ` Ingo Molnar [this message]
2025-12-09 23:55   ` Liu, Yongxin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aTfmLKlUjQN4e1Zw@gmail.com \
    --to=mingo@kernel.org \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=vigbalas@amd.com \
    --cc=x86@kernel.org \
    --cc=yongxin.liu@windriver.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.