Re: [PATCH] drivers/video/pmag-ba-fb.c: Improve diagnostics
flat view
From: Maciej W. Rozycki <hidden>
Date: 2007-09-20 12:53:03
Also in:
linux-mips, lkml
On Wed, 19 Sep 2007, Andrew Morton wrote:
quoted
patch-mips-2.6.23-rc5-20070904-pmag-ba-err-2 diff -up --recursive --new-file linux-mips-2.6.23-rc5-20070904.macro/drivers/video/pmag-ba-fb.c linux-mips-2.6.23-rc5-20070904/drivers/video/pmag-ba-fb.c--- linux-mips-2.6.23-rc5-20070904.macro/drivers/video/pmag-ba-fb.c 2007-02-21 05:56:47.000000000 +0000 +++ linux-mips-2.6.23-rc5-20070904/drivers/video/pmag-ba-fb.c 2007-09-18 10:56:51.000000000 +0000@@ -147,16 +147,23 @@ static int __init pmagbafb_probe(struct resource_size_t start, len; struct fb_info *info; struct pmagbafb_par *par; + int err = 0;This initialisation to zero is not good. Because if some error-path code forgot to do `err = -EFOO' then probe() will return zero and the driver will leave things in half-initialised state and will then proceed as if things had succeeded. It will crash.
GCC used to complain: "`foo' might be used uninitialized..." and this is the usual cure; let me see if this not the case anymore (I have 4.1.2).
So it's better to leave this local uninitialised, because we really want to get that compiler warning if someone forgot to set the return value.
Yes of course, barring the issue mentioned. Note the message above is not the same as: "`foo' is used uninitialized..." that would be reported in the case which you are concerned of.
I made that change, but am too stupid to be able to work out how to create a config which will let me compile this thing. akpm:/usr/src/25> grep PMAG arch/arm/configs/* akpm:/usr/src/25>
TURBOchannel is currently MIPS only: $ grep PMAG arch/mips/configs/* arch/mips/configs/decstation_defconfig:# CONFIG_FB_PMAG_AA is not set arch/mips/configs/decstation_defconfig:CONFIG_FB_PMAG_BA=y arch/mips/configs/decstation_defconfig:CONFIG_FB_PMAGB_B=y $ Thanks for your review. Maciej ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/