45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
From e127b3ec622c786e42ce3a05cf15bfc50f24adc3 Mon Sep 17 00:00:00 2001
|
|
From: Chen Yu <yu.c.chen@intel.com>
|
|
Date: Tue, 22 Jul 2025 22:32:33 +0800
|
|
Subject: ACPI: pfr_update: Fix the driver update version check
|
|
|
|
The security-version-number check should be used rather
|
|
than the runtime version check for driver updates.
|
|
|
|
Otherwise, the firmware update would fail when the update binary had
|
|
a lower runtime version number than the current one.
|
|
|
|
Fixes: 0db89fa243e5 ("ACPI: Introduce Platform Firmware Runtime Update device driver")
|
|
Cc: 5.17+ <stable@vger.kernel.org> # 5.17+
|
|
Reported-by: "Govindarajulu, Hariganesh" <hariganesh.govindarajulu@intel.com>
|
|
Signed-off-by: Chen Yu <yu.c.chen@intel.com>
|
|
Link: https://patch.msgid.link/20250722143233.3970607-1-yu.c.chen@intel.com
|
|
[ rjw: Changelog edits ]
|
|
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
|
---
|
|
drivers/acpi/pfr_update.c | 2 +-
|
|
include/uapi/linux/pfrut.h | 1 +
|
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/acpi/pfr_update.c
|
|
+++ b/drivers/acpi/pfr_update.c
|
|
@@ -310,7 +310,7 @@ static bool applicable_image(const void
|
|
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,
|
|
--- 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 {
|