Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754717AbcDYOYj (ORCPT ); Mon, 25 Apr 2016 10:24:39 -0400 Received: from mail-wm0-f50.google.com ([74.125.82.50]:36173 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751737AbcDYOYi (ORCPT ); Mon, 25 Apr 2016 10:24:38 -0400 Date: Mon, 25 Apr 2016 15:24:35 +0100 From: Matt Fleming To: Ard Biesheuvel Cc: Robin Murphy , Mark Rutland , "linux-efi@vger.kernel.org" , Russell King - ARM Linux , Catalin Marinas , Will Deacon , "linux-kernel@vger.kernel.org" , Leif Lindholm , "mingo@redhat.com" , "hpa@zytor.com" , "tglx@linutronix.de" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCHv3 1/5] efi/runtime-wrappers: detect FW irq flag corruption Message-ID: <20160425142435.GB2829@codeblueprint.co.uk> References: <1461591994-14918-1-git-send-email-mark.rutland@arm.com> <1461591994-14918-2-git-send-email-mark.rutland@arm.com> <571E25B1.8070305@arm.com> <20160425141557.GA2829@codeblueprint.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24+41 (02bc14ed1569) (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1261 Lines: 30 On Mon, 25 Apr, at 04:18:41PM, Ard Biesheuvel wrote: > On 25 April 2016 at 16:15, Matt Fleming wrote: > > On Mon, 25 Apr, at 03:12:01PM, Robin Murphy wrote: > >> >+static void efi_call_virt_check_flags(unsigned long flags, const char *call) > >> >+{ > >> >+ unsigned long cur_flags; > >> >+ bool mismatch; > >> >+ > >> >+ local_save_flags(cur_flags); > >> >+ > >> >+ mismatch = !!((cur_flags ^ flags) & ARCH_EFI_IRQ_FLAGS_MASK); > >> > >> nit: the assignment itself is already a conversion to bool, so the > >> excitement is redundant here. > > > > This was intentional. I asked Mark to make this change so that it's > > explicit for the developer that we're performing the type conversion. > > But replacing an implicit boolean cast with an explicit one makes > little sense, no? Don't we simply want '!= 0' here if you need a > boolean expression? Aha but '!!' is fewer characters to type!! I'm not that bothered as long as we don't stuff an int into a bool without giving the programmer some idea we're doing that. It's not about the compiler getting it wrong, more about a developer introducing a bug when they change the code in the future. Unless anyone objects, I'll fix this up to use '!= 0' when I apply it.