lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8bd0f97a0811062356k6c9c7e3dle53500c092565a32@mail.gmail.com>
Date:	Fri, 7 Nov 2008 02:56:24 -0500
From:	"Mike Frysinger" <vapier.adi@...il.com>
To:	"Takashi Iwai" <tiwai@...e.de>
Cc:	alsa-devel@...a-project.org, "Mike Frysinger" <vapier@...too.org>,
	linux-kernel@...r.kernel.org
Subject: Re: [alsa-devel] [PATCH] ALSA: have snd_BUG_ON() always refer to arguments

On Fri, Nov 7, 2008 at 02:36, Takashi Iwai wrote:
> At Fri, 7 Nov 2008 02:29:25 -0500,
> Mike Frysinger wrote:
>> On Fri, Nov 7, 2008 at 02:15, Takashi Iwai wrote:
>> > At Fri, 7 Nov 2008 02:09:04 -0500,
>> > Mike Frysinger wrote:
>> >> On Fri, Nov 7, 2008 at 01:22, Takashi Iwai wrote:
>> >> > At Thu,  6 Nov 2008 21:05:21 -0500,
>> >> > Mike Frysinger wrote:
>> >> >> The snd_BUG_ON() macro should always expand its argument even if we're
>> >> >> forcing it to false.  This kills off unused warnings that did not exist
>> >> >> before the snd_assert() -> snd_BUG_ON() conversion.
>> >> >
>> >> > Andrew already change this differently.  Check with the latest version.
>> >>
>> >> what are you defining as "latest version" ?  i'm looking in torvalds
>> >> linux-2.6.git.
>> >
>> > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
>> >
>> >> > And which warning did you get actually?
>> >>
>> >> a few codecs define local vars which only get used in snd_BUG_ON() ...
>> >> so if snd_BUG_ON() doesnt utilize cond, gcc whines that the var is
>> >> unused.
>> >
>> > I know it.  But I thought all these were removed in the actual codes.
>> > I'd like to see the real warning messages.
>>
>> seems the warnings where in codec drivers we havent pushed into
>> mainline yet.  regardless, i dont think auditing code and changing it
>> just to avoid (cond) references is the way to go.  it also breaks
>> valid C code if there were side effects in the (cond) as any other
>> macro which does not properly utilize every argument exactly once.
>
> IIRC, just giving 0 in a macro like your patch resulted in another
> warning messages in case it's used plainly like:
>
>        snd_BUG_ON(foo);
>
> That's the reason why { 0; } was used in the first place.  But, this
> caused yet another warning messages depending on gcc versions, thus
> Andrew fixed it previously.
>
> I think the best way is to change the latest code like:
>
> #define snd_BUG_ON(cond)        __snd_bug_on(0 && (cond))

that should work i think ...
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ