Patchwork [v11,3/5] x86/boot: Add get_acpi_rsdp() to parse RSDP in cmdlien from kexec

login
register
mail settings
Submitter Chao Fan
Date Nov. 19, 2018, 1:16 a.m.
Message ID <20181119011634.GA2336@localhost.localdomain>
Download mbox | patch
Permalink /patch/659569/
State New
Headers show

Comments

Chao Fan - Nov. 19, 2018, 1:16 a.m.
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.


This looks better than before.

Thanks,
Chao Fan

>
>-- 
>Regards/Gruss,
>    Boris.
>
>Good mailing practices for 400: avoid top-posting and trim the reply.
>
>

Patch

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