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] [day] [month] [year] [list]
Date:	Fri, 25 Feb 2011 14:10:49 -0800
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Liam Girdwood <lrg@...mlogic.co.uk>
Cc:	Mark Brown <broonie@...nsource.wolfsonmicro.com>,
	linux-kernel <linux-kernel@...r.kernel.org>,
	Jesper Juhl <jj@...osbits.net>
Subject: Re: [GIT PULL] Regulator fixes for 2.6.38

On Fri, Feb 25, 2011 at 1:33 PM, Liam Girdwood <lrg@...mlogic.co.uk> wrote:
>
> Jesper Juhl (1):
>      regulator, mc13xxx: Remove pointless test for unsigned less than zero

So I absolutely detest patches like this.

It's not AT ALL pointless to write

   BUG_ON(x < 0 || x > XYZ);

because tests like that make it obvious that there are no sign issues,
without anybody ever having to worry about the sign. So it makes the
code more readable, and the intention more obvious. There is no
downside.

If it's an unsigned variable, the compiler can optimize away the test
against zero. In fact, it can do so even if it's signed (assuming XYZ
is a positive compile-time constant integer) and turn it into an
unsigned comparison.

So I did the pull, but I want to raise my objection to patches like
this. They are doubly wrong during the late -rc stage, but they are
wrong even otherwise.

If you have a compiler that warns about the test, you have a compiler
that is pure and utter shit. It's that simple.

                                    Linus
--
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