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]
Message-ID: <20118.1430147853@warthog.procyon.org.uk>
Date:	Mon, 27 Apr 2015 16:17:33 +0100
From:	David Howells <dhowells@...hat.com>
To:	Jiri Kosina <jkosina@...e.cz>
Cc:	dhowells@...hat.com, linux-kernel@...r.kernel.org
Subject: Re: Compiler warning about comparing result of !!test_bit() to an integer

Jiri Kosina <jkosina@...e.cz> wrote:

> gcc-5 became somehow very picky about '!!' usages. I recall quite some 
> internal discussions with our gcc guys, which resulted in upstream gcc 
> bugzillas being filled about gcc warning in completely legitimate cases.

I suspect it's more that it's picky about '!' usages - which covers '!!'.  I'm
guessing they're trying to pick up people doing if(!x==y) when they mean
if(!(x==y)) or somesuch.
Jiri Kosina <jkosina@...e.cz> wrote:

> This is because we want to handle autorepeat (i.e. value 2) correctly. Now 
> that you ask, it seems to me that we actually should be doing
> 
> 	!!test_bit(usage->code, input->key) != !!value

I wonder if you could cast to bool instead?  test_bit() possibly *should*
return a bool these days, thus rendering the '!!' unnecessary.

> to be really exact (i.e. so that we really can't have oscilating state).
> 
> I'll think about it a little bit more, and eventually probably fix it this 
> way with your Reported-by: if you are OK with that.

Yep.

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