On 08.09.2020 9:10, Andriy Gapon wrote:
> On 08/09/2020 08:46, Andriy Gapon wrote:
>> Author: avg
>> Date: Tue Sep 8 05:46:10 2020
>> New Revision: 365445
>> URL: https://svnweb.freebsd.org/changeset/base/365445
>>
>> Log:
>> mmc_da: make sure that part_index is not used uninitialized in sddastart
> [snip]
>> Modified: head/sys/cam/mmc/mmc_da.c
>> ==============================================================================
>> --- head/sys/cam/mmc/mmc_da.c Tue Sep 8 04:44:37 2020
>> (r365444)
>> +++ head/sys/cam/mmc/mmc_da.c Tue Sep 8 05:46:10 2020
>> (r365445)
>> @@ -1808,6 +1808,7 @@ sddastart(struct cam_periph *periph, union ccb *start_
>> }
>>
>> /* Find partition that has outstanding commands. Prefer current
>> partition. */
>> + part_index = softc->part_curr;
>> part = softc->part[softc->part_curr];
>> bp = bioq_first(&part->bio_queue);
>> if (bp == NULL) {
>>
>
> One thing that concerns me is that it was obvious (to a human) that part_index
> could be used uninitialized if bp was not NULL.
> Yet, there was no warning or error from the compiler when I built that code
> for
> armv7.
>
> I wonder if we disable some relevant warnings for that architecture.
> Or if the compiler (clang 11) could not figure that out.
>
Hmm, for this in kernel code :
int foo(void);
int foo(void)
{
int rv;
return (rv);
}
warning is reported for both armv7 and arm64 for native or cross compile.
It seems that clang11 doesn't emit warnings only for more complicated
cases...
I writing this because i just found another usage of uninitialized
variable, in this case in much more complicated abort_handler() function
in arm/trap-v6.c again without warning emitted.
Michal
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"