| From 8151320c747efb22d30b035af989fed0d502176e 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 |
| |
| From: Chen Yu <yu.c.chen@intel.com> |
| |
| commit 8151320c747efb22d30b035af989fed0d502176e upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| 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 { |