Message ID | 20211119175325.3668419-1-keescook@chromium.org (mailing list archive) |
---|---|
State | Mainlined |
Commit | bc7aaf52f963674690510e6c1f3710cd0394b25e |
Headers | show |
Series | x86/boot/string: Add missing function declarations | expand |
On Fri, Nov 19, 2021 at 09:53:25AM -0800, Kees Cook wrote: > Silence "missing function declaration" warnings from string.h when > building under W=1. > > Signed-off-by: Kees Cook <keescook@chromium.org> > --- Hi, just a quick ping on this little fix. Thanks! -Kees > arch/x86/boot/string.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/boot/string.h b/arch/x86/boot/string.h > index a232da487cd2..e5d2c6b8c2f1 100644 > --- a/arch/x86/boot/string.h > +++ b/arch/x86/boot/string.h > @@ -8,8 +8,10 @@ > #undef memcmp > > void *memcpy(void *dst, const void *src, size_t len); > +void *memmove(void *dst, const void *src, size_t len); > void *memset(void *dst, int c, size_t len); > int memcmp(const void *s1, const void *s2, size_t len); > +int bcmp(const void *s1, const void *s2, size_t len); > > /* Access builtin version by default. */ > #define memcpy(d,s,l) __builtin_memcpy(d,s,l) > @@ -25,6 +27,7 @@ extern size_t strnlen(const char *s, size_t maxlen); > extern unsigned int atou(const char *s); > extern unsigned long long simple_strtoull(const char *cp, char **endp, > unsigned int base); > +long simple_strtol(const char *cp, char **endp, unsigned int base); > > int kstrtoull(const char *s, unsigned int base, unsigned long long *res); > int boot_kstrtoul(const char *s, unsigned int base, unsigned long *res); > -- > 2.30.2 >
On Thu, 2021-12-09 at 15:37 -0800, Kees Cook wrote: > On Fri, Nov 19, 2021 at 09:53:25AM -0800, Kees Cook wrote: > > Silence "missing function declaration" warnings from string.h when > > building under W=1. > > > > Signed-off-by: Kees Cook <keescook@chromium.org> > > --- > > Hi, just a quick ping on this little fix. [] > > diff --git a/arch/x86/boot/string.h b/arch/x86/boot/string.h [] > > @@ -8,8 +8,10 @@ > > #undef memcmp > > > > void *memcpy(void *dst, const void *src, size_t len); > > +void *memmove(void *dst, const void *src, size_t len); > > void *memset(void *dst, int c, size_t len); > > int memcmp(const void *s1, const void *s2, size_t len); > > +int bcmp(const void *s1, const void *s2, size_t len); Unrelated trivia: Is bcmp still used anywhere in the kernel? confdata.c is a user-mode program right? $ git grep -w bcmp arch/x86/boot/string.c: * Clang may lower `memcmp == 0` to `bcmp == 0`. arch/x86/boot/string.c:int bcmp(const void *s1, const void *s2, size_t len) include/linux/string.h:extern int bcmp(const void *,const void *,__kernel_size_t); lib/Makefile:# Prevent the compiler from calling builtins like memcmp() or bcmp() from this lib/string.c: * bcmp - returns 0 if and only if the buffers have identical contents. lib/string.c: * meaning, and architectures may implement their own more efficient bcmp(). So lib/string.c:int bcmp(const void *a, const void *b, size_t len) lib/string.c:EXPORT_SYMBOL(bcmp); scripts/kconfig/confdata.c: if (bcmp(map1, map2, st1.st_size))
diff --git a/arch/x86/boot/string.h b/arch/x86/boot/string.h index a232da487cd2..e5d2c6b8c2f1 100644 --- a/arch/x86/boot/string.h +++ b/arch/x86/boot/string.h @@ -8,8 +8,10 @@ #undef memcmp void *memcpy(void *dst, const void *src, size_t len); +void *memmove(void *dst, const void *src, size_t len); void *memset(void *dst, int c, size_t len); int memcmp(const void *s1, const void *s2, size_t len); +int bcmp(const void *s1, const void *s2, size_t len); /* Access builtin version by default. */ #define memcpy(d,s,l) __builtin_memcpy(d,s,l) @@ -25,6 +27,7 @@ extern size_t strnlen(const char *s, size_t maxlen); extern unsigned int atou(const char *s); extern unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int base); +long simple_strtol(const char *cp, char **endp, unsigned int base); int kstrtoull(const char *s, unsigned int base, unsigned long long *res); int boot_kstrtoul(const char *s, unsigned int base, unsigned long *res);
Silence "missing function declaration" warnings from string.h when building under W=1. Signed-off-by: Kees Cook <keescook@chromium.org> --- arch/x86/boot/string.h | 3 +++ 1 file changed, 3 insertions(+)