On Wed, Nov 14, 2018 at 07:30:17PM +0100, Borislav Petkov wrote: >On Wed, Nov 14, 2018 at 02:12:16PM +0800, Chao Fan wrote: >> But isdigit() would be redefine, so: >> >> diff --git a/include/linux/ctype.h b/include/linux/ctype.h >> index 363b004426db..aba01c385232 100644 >> --- a/include/linux/ctype.h >> +++ b/include/linux/ctype.h >> @@ -23,10 +23,12 @@ extern const unsigned char _ctype[]; >> #define isalnum(c) ((__ismask(c)&(_U|_L|_D)) != 0) >> #define isalpha(c) ((__ismask(c)&(_U|_L)) != 0) >> #define iscntrl(c) ((__ismask(c)&(_C)) != 0) >> +#ifndef BOOT_STRING >> static inline int isdigit(int c) >> { >> return '0' <= c && c <= '9'; >> } >> +#endif >> #define isgraph(c) ((__ismask(c)&(_P|_U|_L|_D)) != 0) >> #define islower(c) ((__ismask(c)&(_L)) != 0) >> #define isprint(c) ((__ismask(c)&(_P|_U|_L|_D|_SP)) != 0) >> >> Now I can make it. >> I wonder whether this is OK to cover isdigit() with 'BOOT_STRING' tag. > >See the beginning of arch/x86/boot/compressed/kaslr.c for a possible way >to disable boot/ctype.h
I have done this with BOOT_CTYPE_H. So misc.c can only use isdigit() and isxdigit() in include/linux/ctype.h. diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c index 8dd1d5ccae58..e51713fe3add 100644 --- a/arch/x86/boot/compressed/misc.c +++ b/arch/x86/boot/compressed/misc.c @@ -12,6 +12,7 @@ * High loaded stuff by Hans Lermen & Werner Almesberger, Feb. 1996 */ +#define BOOT_CTYPE_H #include "misc.h" #include "error.h" #include "pgtable.h" @@ -426,3 +427,7 @@ void fortify_panic(const char *name) { error("detected buffer overflow"); } + +#ifdef BOOT_STRING +#include "../../../../lib/kstrtox.c" +#endif This looks better than before. Thanks, Chao Fan > >-- >Regards/Gruss, > Boris. > >Good mailing practices for 400: avoid top-posting and trim the reply. > >