All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jarkko Sakkinen" <jarkko@kernel.org>
To: "Jarkko Sakkinen" <jarkko@kernel.org>,
	<linux-integrity@vger.kernel.org>,
	"Peter Huewe" <peterhuewe@gmx.de>,
	"Jason Gunthorpe" <jgg@ziepe.ca>,
	"Colin Ian King" <colin.i.king@gmail.com>,
	"Seiji Munetoh" <munetoh@jp.ibm.com>,
	"Andrew Morton" <akpm@osdl.org>,
	"Reiner Sailer" <sailer@us.ibm.com>,
	"Kylene Jo Hall" <kjhall@us.ibm.com>,
	"Stefan Berger" <stefanb@us.ibm.com>
Cc: <stable@vger.kernel.org>, "Andy Liang" <andy.liang@hpe.com>,
	"Matthew Garrett" <mjg59@srcf.ucam.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v6 1/2] tpm: Map the ACPI provided event log
Date: Thu, 26 Dec 2024 18:18:02 +0200	[thread overview]
Message-ID: <D6LRNN9Q88F8.3EVLQ1JYK3UEW@kernel.org> (raw)
In-Reply-To: <20241225193242.40066-1-jarkko@kernel.org>

On Wed Dec 25, 2024 at 9:32 PM EET, Jarkko Sakkinen wrote:
> The following failure was reported:
>
> [   10.693310][    T1] tpm_tis STM0925:00: 2.0 TPM (device-id 0x3, rev-id 0)
> [   10.848132][    T1] ------------[ cut here ]------------
> [   10.853559][    T1] WARNING: CPU: 59 PID: 1 at mm/page_alloc.c:4727 __alloc_pages_noprof+0x2ca/0x330
> [   10.862827][    T1] Modules linked in:
> [   10.866671][    T1] CPU: 59 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.0-lp155.2.g52785e2-default #1 openSUSE Tumbleweed (unreleased) 588cd98293a7c9eba9013378d807364c088c9375
> [   10.882741][    T1] Hardware name: HPE ProLiant DL320 Gen12/ProLiant DL320 Gen12, BIOS 1.20 10/28/2024
> [   10.892170][    T1] RIP: 0010:__alloc_pages_noprof+0x2ca/0x330
> [   10.898103][    T1] Code: 24 08 e9 4a fe ff ff e8 34 36 fa ff e9 88 fe ff ff 83 fe 0a 0f 86 b3 fd ff ff 80 3d 01 e7 ce 01 00 75 09 c6 05 f8 e6 ce 01 01 <0f> 0b 45 31 ff e9 e5 fe ff ff f7 c2 00 00 08 00 75 42 89 d9 80 e1
> [   10.917750][    T1] RSP: 0000:ffffb7cf40077980 EFLAGS: 00010246
> [   10.923777][    T1] RAX: 0000000000000000 RBX: 0000000000040cc0 RCX: 0000000000000000
> [   10.931727][    T1] RDX: 0000000000000000 RSI: 000000000000000c RDI: 0000000000040cc0
>
> Above shows that ACPI pointed a 16 MiB buffer for the log events because
> RSI maps to the 'order' parameter of __alloc_pages_noprof(). Address the
> bug with kvmalloc() and devres_add().
>
> Cc: stable@vger.kernel.org # v2.6.16+
> Fixes: 55a82ab3181b ("[PATCH] tpm: add bios measurement log")
> Reported-by: Andy Liang <andy.liang@hpe.com>
> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219495
> Suggested-by: Matthew Garrett <mjg59@srcf.ucam.org>

Oops, needs to be dropped from this.

> Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
> ---
> v6:
> * A new patch.
> ---
>  drivers/char/tpm/eventlog/acpi.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/eventlog/acpi.c b/drivers/char/tpm/eventlog/acpi.c
> index 69533d0bfb51..7cd44a46a0d7 100644
> --- a/drivers/char/tpm/eventlog/acpi.c
> +++ b/drivers/char/tpm/eventlog/acpi.c
> @@ -136,10 +136,12 @@ int tpm_read_log_acpi(struct tpm_chip *chip)
>  	}
>  
>  	/* malloc EventLog space */
> -	log->bios_event_log = devm_kmalloc(&chip->dev, len, GFP_KERNEL);
> +	log->bios_event_log = kvmalloc(len, GFP_KERNEL);
>  	if (!log->bios_event_log)
>  		return -ENOMEM;
>  
> +	devres_add(&chip->dev, log->bios_event_log);
> +

We either need to git revert 441b7152729f ("tpm: Use managed allocation
for bios event log") OR alternatively use devm_add_action() creating a
fix that wastes 16 MiB of memory and obfuscates flows more than needed.

I don't necessarily get how come this is "less intrusive"...

BR, Jarkko

  parent reply	other threads:[~2024-12-26 16:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-25 19:32 [PATCH v6 1/2] tpm: Map the ACPI provided event log Jarkko Sakkinen
2024-12-25 19:32 ` [PATCH v6 2/2] " Jarkko Sakkinen
2024-12-26 16:18 ` Jarkko Sakkinen [this message]
2024-12-26 20:22   ` [PATCH v6 1/2] " Jarkko Sakkinen

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=D6LRNN9Q88F8.3EVLQ1JYK3UEW@kernel.org \
    --to=jarkko@kernel.org \
    --cc=akpm@osdl.org \
    --cc=andy.liang@hpe.com \
    --cc=colin.i.king@gmail.com \
    --cc=jgg@ziepe.ca \
    --cc=kjhall@us.ibm.com \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=munetoh@jp.ibm.com \
    --cc=peterhuewe@gmx.de \
    --cc=sailer@us.ibm.com \
    --cc=stable@vger.kernel.org \
    --cc=stefanb@us.ibm.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.