Re: [PATCH] kconfig: protect locale-unsafe calls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, Aug 31, 2011 at 8:19 AM, Michal Marek <mmarek@xxxxxxx> wrote:
> On 16.8.2011 07:19, Arnaud Lacombe wrote:
>> There is a few calls in kconfig where we end-up using tolower(3) or toupper(3)
>> in an unsafe manner. As highlighted by Serdar, it would seem that Turkish's
>> locale do not have representable lowercase for the Engligh capital-dotless-i.
>>
>> Introduces locale-safe portion in the backend where we reset the local to the
>> default "C".
>>
>> Reported-by: Serdar KÖYLÜ <s.koylux@xxxxxxxxx>
>> Signed-off-by: Arnaud Lacombe <lacombar@xxxxxxxxx>
>> ---
>>  scripts/kconfig/confdata.c |   10 ++++++++++
>
> I think that just changing kconfig will make things even worse, because
> fixdep does the same operation (CONFIG_FOO -> include/config/foo.h) and
> would get out of sync with kconfig now. I guess the direct cause for
> Serdar's build failure was this staging driver:
> drivers/staging/cxt1e1/sbecom_inline_linux.h:
>
>    53  #if defined(CONFIG_MODVERSIONS) && defined(MODULE) && !
> defined(MODVERSIONS)
>    54  #define MODVERSIONS
>    55  #endif
>    56
>    57  #ifdef MODULE
>    58  #ifdef MODVERSIONS
>    59  #include <config/modversions.h>
>                  ^^^^^^^^^^^^^^^^^^^^
>    60  #endif
>    61  #include <linux/module.h>
>    62  #endif
>    63  #endif
>
> I'll send a patch cleaning this up once I verify that it really is the
> cause.
>
> As for the tollower/toupper issue, I would propose a much simpler way:
> Let's not try to be cute and simply use include/config/FOO_BAR.h for
> each CONFIG_FOO_BAR. x86_64 allmodconfig results in some 5k symbols
> enabled, I'm sure any filesystem will handle a directory with 5k files
> in it.
>
fine with me.

 - Arnaud

> Michal
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux