Date: Tue, 8 Sep 2020 14:24:59 +0200 From: Michal Meloun <meloun.michal@gmail.com> To: Andriy Gapon <avg@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r365445 - head/sys/cam/mmc Message-ID: <67be7fa5-30dd-b7ee-1076-9c29195d83d3@gmail.com> In-Reply-To: <34826ee7-12a9-d309-1fee-cd2e95744603@FreeBSD.org> References: <202009080546.0885kAgk006783@repo.freebsd.org> <34826ee7-12a9-d309-1fee-cd2e95744603@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?67be7fa5-30dd-b7ee-1076-9c29195d83d3>