[PATCH v3] platform/x86: hp-bioscfg: remove dead bounds check in audit_log_entries_show
From: Muhammad Bilal
Date: Sat Sep 19 2026 - 02:11:25 EST
audit_log_entries_show() checks "count * LOG_ENTRY_SIZE > PAGE_SIZE"
prior to entering the loop. Because "count" is already bounded to fit
within PAGE_SIZE, the inner loop check "(LOG_ENTRY_SIZE * i) > PAGE_SIZE"
can never be reached and is dead code.
Remove the redundant inner bounds check and eliminate the unnecessary
"else" block after "break" to clean up the loop control flow.
Signed-off-by: Muhammad Bilal <meatuni001@xxxxxxxxx>
---
Resending v3 2/2 unchanged: the previous attempt reached the list with
a corrupted hunk (header/diffstat didn't match the body), which is
what "patch: **** malformed patch at line 65" was. No content change
from the previous v3, this is a clean re-generation of the same diff.
Changes in v3:
- Remove the dead inner loop check completely instead of adjusting
the boundary arithmetic, as noted by Ilpo Järvinen.
- Remove the redundant else block after break.
Changes in v2:
- None for this patch; resubmitted as part of the v2 series.
Link: https://lore.kernel.org/r/20260803143037.93105-1-meatuni001@xxxxxxxxx [v1]
Link: https://lore.kernel.org/r/20260812111829.172273-1-meatuni001@xxxxxxxxx [v2]
---
.../x86/hp/hp-bioscfg/surestart-attributes.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/drivers/platform/x86/hp/hp-bioscfg/surestart-attributes.c b/drivers/platform/x86/hp/hp-bioscfg/surestart-attributes.c
index b57e42f..d689ee8 100644
--- a/drivers/platform/x86/hp/hp-bioscfg/surestart-attributes.c
+++ b/drivers/platform/x86/hp/hp-bioscfg/surestart-attributes.c
@@ -90,17 +90,15 @@ static ssize_t audit_log_entries_show(struct kobject *kobj,
HPWMI_SURESTART,
audit_log_buffer, 1, 128);
- if (ret < 0 || (LOG_ENTRY_SIZE * i) > PAGE_SIZE) {
- /*
- * Encountered a failure while reading
- * individual logs. Only a partial list of
- * audit log will be returned.
- */
+ /*
+ * Encountered a failure while reading individual logs.
+ * Only a partial list of audit log will be returned.
+ */
+ if (ret < 0)
break;
- } else {
- memcpy(buf, audit_log_buffer, LOG_ENTRY_SIZE);
- buf += LOG_ENTRY_SIZE;
- }
+
+ memcpy(buf, audit_log_buffer, LOG_ENTRY_SIZE);
+ buf += LOG_ENTRY_SIZE;
}
return i * LOG_ENTRY_SIZE;
--
2.43.0