From 6974a4a37348ba272e53dd33effcc0db9e144c59 Mon Sep 17 00:00:00 2001 From: Ilias Apalodimas Date: Sun, 22 Nov 2020 15:10:26 +0200 Subject: [PATCH] charset: make u16_strnlen accessible at runtime commit 1fabfeef506c ("efi_loader: parameter check in GetNextVariableName()") introduces a check using u16_strnlen(). This code is used on EFI runtime variables as well, so unless we mark it as runtime, the kernel will crash trying to access it. Fixes: 1fabfeef506c ("efi_loader: parameter check in GetNextVariableName()") Signed-off-by: Ilias Apalodimas Reviewed-by: Heinrich Schuchardt --- lib/charset.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/charset.c b/lib/charset.c index 5686d6f..2177014 100644 --- a/lib/charset.c +++ b/lib/charset.c @@ -8,6 +8,7 @@ #include #include #include +#include #include static struct capitalization_table capitalization_table[] = @@ -372,7 +373,7 @@ size_t u16_strlen(const void *in) return ret; } -size_t u16_strnlen(const u16 *in, size_t count) +size_t __efi_runtime u16_strnlen(const u16 *in, size_t count) { size_t i; for (i = 0; count-- && in[i]; i++); -- 2.7.4