Re: [PATCH] ACPI: pfr_update: Fix the driver update version check
From: Rafael J. Wysocki
Date: Tue Jul 22 2025 - 11:07:28 EST
On Tue, Jul 22, 2025 at 4:39 PM Chen Yu <yu.c.chen@xxxxxxxxx> wrote:
>
> The security-version-number check should be used rather
> than the runtime version check for driver update. Otherwise
> the firmware update would fail when the update binary
> has a lower number of the runtime version than the
> current one.
>
> Reported-by: "Govindarajulu, Hariganesh" <hariganesh.govindarajulu@xxxxxxxxx>
> Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx>
A Fixes: tag, please?
Also, this is unlikely to get into 6.17-rc1, but I can make it into
6.17-rc2 if it is urgent enough, so how urgent is it?
> ---
> drivers/acpi/pfr_update.c | 2 +-
> include/uapi/linux/pfrut.h | 1 +
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/pfr_update.c b/drivers/acpi/pfr_update.c
> index 031d1ba81b86..08b9b2bc2d97 100644
> --- a/drivers/acpi/pfr_update.c
> +++ b/drivers/acpi/pfr_update.c
> @@ -310,7 +310,7 @@ static bool applicable_image(const void *data, struct pfru_update_cap_info *cap,
> if (type == PFRU_CODE_INJECT_TYPE)
> return payload_hdr->rt_ver >= cap->code_rt_version;
>
> - return payload_hdr->rt_ver >= cap->drv_rt_version;
> + return payload_hdr->svn_ver >= cap->drv_svn;
> }
>
> static void print_update_debug_info(struct pfru_updated_result *result,
> diff --git a/include/uapi/linux/pfrut.h b/include/uapi/linux/pfrut.h
> index 42fa15f8310d..b77d5c210c26 100644
> --- a/include/uapi/linux/pfrut.h
> +++ b/include/uapi/linux/pfrut.h
> @@ -89,6 +89,7 @@ struct pfru_payload_hdr {
> __u32 hw_ver;
> __u32 rt_ver;
> __u8 platform_id[16];
> + __u32 svn_ver;
> };
>
> enum pfru_dsm_status {
> --
> 2.25.1
>