arm64: idreg-override: avoid strlen() to check for empty strings
authorArd Biesheuvel <ardb@kernel.org>
Wed, 29 Nov 2023 11:16:13 +0000 (12:16 +0100)
committerWill Deacon <will@kernel.org>
Tue, 12 Dec 2023 11:13:52 +0000 (11:13 +0000)
strlen() is a costly way to decide whether a string is empty, as in that
case, the first character will be NUL so we can check for that directly.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20231129111555.3594833-60-ardb@google.com
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/idreg-override.c

index 1eca93446345e869a33885486daf32624bae91cf..8b22ca52318611cd49f4499933c598b7fa9f107d 100644 (file)
@@ -232,7 +232,7 @@ static void __init match_options(const char *cmdline)
 
                override = prel64_pointer(reg->override);
 
-               for (f = 0; strlen(reg->fields[f].name); f++) {
+               for (f = 0; reg->fields[f].name[0] != '\0'; f++) {
                        u64 shift = reg->fields[f].shift;
                        u64 width = reg->fields[f].width ?: 4;
                        u64 mask = GENMASK_ULL(shift + width - 1, shift);