All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Mario Limonciello <superm1@kernel.org>
Cc: mario.limonciello@amd.com, Shyam-sundar.S-k@amd.com,
	 Hans de Goede <hdegoede@redhat.com>,
	platform-driver-x86@vger.kernel.org
Subject: Re: [PATCH 2/2] drivers/platform/x86/amd: pmf: Handle bad policies in amd_pmf_get_pb_data()
Date: Wed, 23 Apr 2025 15:19:17 +0300 (EEST)	[thread overview]
Message-ID: <169663ff-6038-baf5-c872-2d485cf02ab5@linux.intel.com> (raw)
In-Reply-To: <20250423121202.3736094-3-superm1@kernel.org>

On Wed, 23 Apr 2025, Mario Limonciello wrote:

> From: Mario Limonciello <mario.limonciello@amd.com>
> 
> If a policy is passed into amd_pmf_get_pb_data() that causes the engine
> to fail to start there is a memory leak. Check for invalid policies as
> well as an error in amd_pmf_start_policy_engine() and free the memory in
> the failure path.
> 
> Fixes: 10817f28e5337 ("platform/x86/amd/pmf: Add capability to sideload of policy binary")
> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
> ---
>  drivers/platform/x86/amd/pmf/tee-if.c | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/platform/x86/amd/pmf/tee-if.c b/drivers/platform/x86/amd/pmf/tee-if.c
> index 41ab9eca5ff13..3c399dc1bfcca 100644
> --- a/drivers/platform/x86/amd/pmf/tee-if.c
> +++ b/drivers/platform/x86/amd/pmf/tee-if.c
> @@ -377,12 +377,23 @@ static ssize_t amd_pmf_get_pb_data(struct file *filp, const char __user *buf,
>  	dev->policy_buf = new_policy_buf;
>  	dev->policy_sz = length;
>  
> +	/* Check if the policy binary is valid */
> +	if (!memchr_inv(dev->policy_buf, 0xff, dev->policy_sz)) {

Since you're adding an explaning comment into two places, it very much 
looks you want a reasonably named helper instead for this so there's no 
need for such comments.

> +		ret = -EINVAL;
> +		goto cleanup;
> +	}
> +
>  	amd_pmf_hex_dump_pb(dev);
>  	ret = amd_pmf_start_policy_engine(dev);
>  	if (ret < 0)
> -		return ret;
> +		goto cleanup;

Isn't this an independent fix that should be in its own patch?

>  
>  	return length;
> +
> +cleanup:
> +	kfree(dev->policy_buf);
> +	dev->policy_buf = NULL;
> +	return ret;
>  }
>  
>  static const struct file_operations pb_fops = {
> 

-- 
 i.


  reply	other threads:[~2025-04-23 12:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-23 12:10 [PATCH 0/2] Handle bad policies for AMD-PMF better Mario Limonciello
2025-04-23 12:10 ` [PATCH 1/2] drivers/platform/x86/amd: pmf: Check for invalid Smart PC Policies Mario Limonciello
2025-04-23 12:10 ` [PATCH 2/2] drivers/platform/x86/amd: pmf: Handle bad policies in amd_pmf_get_pb_data() Mario Limonciello
2025-04-23 12:19   ` Ilpo Järvinen [this message]
2025-04-23 12:43     ` Mario Limonciello

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=169663ff-6038-baf5-c872-2d485cf02ab5@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=Shyam-sundar.S-k@amd.com \
    --cc=hdegoede@redhat.com \
    --cc=mario.limonciello@amd.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=superm1@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.