Re: Warnings whilst building 5.2.0+

From: Chris Clayton
Date: Wed Aug 07 2019 - 02:31:08 EST




On 09/07/2019 12:39, Chris Clayton wrote:
>
>
> On 09/07/2019 11:37, Enrico Weigelt, metux IT consult wrote:
>> On 09.07.19 08:06, Chris Clayton wrote:
>>
>> Hi,
>>
>>> I've pulled Linus' tree this morning and, after running 'make oldconfig', tried a build. During that build I got the
>>> following warnings, which look to me like they should be fixed. 'git describe' shows v5.2-915-g5ad18b2e60b7 and my
>>> compiler is the 20190706 snapshot of gcc 9.
>>
>> Thanks for the report. I'm rebuilding right know anyways, so I'll look
>> out for it.
>
> Thanks for the reply.
>
>>> In file included from arch/x86/kernel/head64.c:35:
>>> In function 'sanitize_boot_params',
>>> inlined from 'copy_bootdata' at arch/x86/kernel/head64.c:391:2:
>>> ./arch/x86/include/asm/bootparam_utils.h:40:3: warning: 'memset' offset [197, 448] from the object at 'boot_params' is
>>> out of the bounds of referenced subobject 'ext_ramdisk_image' with type 'unsigned int' at offset 192 [-Warray-bounds]
>>> 40 | memset(&boot_params->ext_ramdisk_image, 0,
>>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> 41 | (char *)&boot_params->efi_info -
>>> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> 42 | (char *)&boot_params->ext_ramdisk_image);
>>> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> ./arch/x86/include/asm/bootparam_utils.h:43:3: warning: 'memset' offset [493, 497] from the object at 'boot_params' is
>>> out of the bounds of referenced subobject 'kbd_status' with type 'unsigned char' at offset 491 [-Warray-bounds]
>>> 43 | memset(&boot_params->kbd_status, 0,
>>> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> 44 | (char *)&boot_params->hdr -
>>> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> 45 | (char *)&boot_params->kbd_status);
>>> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> Can you check older versions, too ? Maybe also trying older gcc ?
>>
>
> I see the same warnings building linux-5.2.0 with gcc9. However, I don't see the warnings building linux-5.2.0 with the
> the 20190705 of gcc8. So the warnings could result from an improvement (i.e. the problem was in the kernel, but
> undiscovered by gcc8) or from a regression in gcc9.
>

>From the discussion starting at https://marc.info/?l=linux-kernel&m=156401014023908, it would appear that the problem is
undiscovered by gcc8. Building a fresh pull of Linus' tree this morning (v5.3-rc3-282-g33920f1ec5bf), I see that the
warnings are still being emitted. Adding the participants in the other discussion to this one.

>>
>> --mtx
>>