From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752924AbdK1Nny (ORCPT ); Tue, 28 Nov 2017 08:43:54 -0500 Received: from Galois.linutronix.de ([146.0.238.70]:33055 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752126AbdK1Nnx (ORCPT ); Tue, 28 Nov 2017 08:43:53 -0500 Date: Tue, 28 Nov 2017 14:43:51 +0100 (CET) From: Thomas Gleixner To: Rasmus Villemoes cc: Kees Cook , linux-kernel@vger.kernel.org Subject: Re: [PATCH] genirq: Make - vs ?: precedence explicit In-Reply-To: Message-ID: References: <20171122205645.GA27125@beast> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 28 Nov 2017, Rasmus Villemoes wrote: > On 2017-11-22 21:56, Kees Cook wrote: > > Noticed with a Clang build. This improves the readability of the ?: > > expression, as it has lower precedence than the - expression. Show > > explicitly that - is evaluated first. > > > > Cc: Thomas Gleixner > > Signed-off-by: Kees Cook > > --- > > kernel/irq/matrix.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/kernel/irq/matrix.c b/kernel/irq/matrix.c > > index a3cbbc8191c5..7df2480005f8 100644 > > --- a/kernel/irq/matrix.c > > +++ b/kernel/irq/matrix.c > > @@ -384,7 +384,7 @@ unsigned int irq_matrix_available(struct irq_matrix *m, bool cpudown) > > { > > struct cpumap *cm = this_cpu_ptr(m->maps); > > > > - return m->global_available - cpudown ? cm->available : 0; > > + return (m->global_available - cpudown) ? cm->available : 0; > > } > > I see that this got applied, and that doesn't change the semantics of > the code. But surely the code is and was buggy, right? From the kernel > doc, I'm pretty sure the idea is to subtract cm->available if cpudown is > true, otherwise subtract 0, i.e. > > return m->global_available - (cpudown ? cm->available : 0); Yes, you are right. I completely misread it when I merged that patch. Good catch! Thanks, tglx