All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thorsten Blum <thorsten.blum@linux.dev>
To: Thomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
	Chao Fan <fanc.fnst@cn.fujitsu.com>
Cc: stable@vger.kernel.org, Borislav Petkov <bp@suse.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] x86/boot: Reject overlong acpi_rsdp= values
Date: Tue, 7 Jul 2026 08:59:22 +0200	[thread overview]
Message-ID: <akyjyoPhYdmzYyvl@linux.dev> (raw)
In-Reply-To: <20260621170010.276591-2-thorsten.blum@linux.dev>

On Sun, Jun 21, 2026 at 07:00:10PM +0200, Thorsten Blum wrote:
> cmdline_find_option() returns the full length of the acpi_rsdp= value
> even if it is truncated. However, get_cmdline_acpi_rsdp() only checks
> whether acpi_rsdp= is present and does not reject overlong values that
> do not fit in the buffer.
> 
> Reject overlong values and warn to prevent boot_kstrtoul() from parsing
> a truncated value and thus from silently using the wrong RSDP address.
> 
> Fixes: 3c98e71b42a7 ("x86/boot: Add "acpi_rsdp=" early parsing")
> Cc: stable@vger.kernel.org
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
> ---
> Changes in v3:
> - Drop the newline as warn() already prints newlines around the message
> - v2: https://lore.kernel.org/r/20260621131836.175468-2-thorsten.blum@linux.dev/
> 
> Changes in v2:
> - Warn on overlong acpi_rsdp= values (Boris)
> - v1: https://lore.kernel.org/r/20260617130417.36651-4-thorsten.blum@linux.dev/
> ---
>  arch/x86/boot/compressed/acpi.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/boot/compressed/acpi.c b/arch/x86/boot/compressed/acpi.c
> index f196b1d1ddf8..aed27604c11f 100644
> --- a/arch/x86/boot/compressed/acpi.c
> +++ b/arch/x86/boot/compressed/acpi.c
> @@ -184,10 +184,15 @@ static unsigned long get_cmdline_acpi_rsdp(void)
>  	char val[MAX_ADDR_LEN] = { };
>  	int ret;
>  
> -	ret = cmdline_find_option("acpi_rsdp", val, MAX_ADDR_LEN);
> +	ret = cmdline_find_option("acpi_rsdp", val, sizeof(val));
>  	if (ret < 0)
>  		return 0;
>  
> +	if (ret >= sizeof(val)) {
> +		warn("acpi_rsdp= value too long; ignoring");
> +		return 0;
> +	}
> +
>  	if (boot_kstrtoul(val, 16, &addr))
>  		return 0;
>  #endif

Hi Boris,

Could you please take another look at this when you get a chance?

Thanks,
Thorsten

      reply	other threads:[~2026-07-07  6:59 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-21 17:00 [PATCH v3] x86/boot: Reject overlong acpi_rsdp= values Thorsten Blum
2026-07-07  6:59 ` Thorsten Blum [this message]

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=akyjyoPhYdmzYyvl@linux.dev \
    --to=thorsten.blum@linux.dev \
    --cc=bp@alien8.de \
    --cc=bp@suse.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=fanc.fnst@cn.fujitsu.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=stable@vger.kernel.org \
    --cc=tglx@kernel.org \
    --cc=x86@kernel.org \
    /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.