]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ACPI: pfr_update: Fix the driver update version check
authorChen Yu <yu.c.chen@intel.com>
Tue, 22 Jul 2025 14:32:33 +0000 (22:32 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 20 Aug 2025 13:30:36 +0000 (15:30 +0200)
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
include/uapi/linux/pfrut.h

index 318683744ed17a50fd3fb629087ef7d675731d0c..11b1c282800525fd113e08a98c7da6f8dc351638 100644 (file)
@@ -329,7 +329,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,
index 42fa15f8310d6bca08f678c65a48274efab779af..b77d5c210c2620005730a97ea9a3ae30bff7d737 100644 (file)
@@ -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 {