Received: by 2002:a05:6358:c692:b0:131:369:b2a3 with SMTP id fe18csp869986rwb; Wed, 26 Jul 2023 04:23:01 -0700 (PDT) X-Google-Smtp-Source: APBJJlEgtUcbTxNZ1F+nKrZR1ujIFdTmuDnCEoRk2HPRLe5+D7h1tkWh8pKUym1r6ESq5B8xpK0X X-Received: by 2002:aa7:d44d:0:b0:522:1f34:8429 with SMTP id q13-20020aa7d44d000000b005221f348429mr1343142edr.0.1690370581483; Wed, 26 Jul 2023 04:23:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690370581; cv=none; d=google.com; s=arc-20160816; b=J4a/r3iYFCqkWTg5rtTPWwqo0qXIDXVqXG9FjDL9zqzgTJsuuz2JybvxsHv9+3Xuew dl+MnkofVrvZGT08S9127VqgFodfzoqUPps8TWfoxQemk6VqaPoDy2XltfZB+1umOmuU d431m7wop7iiFYFx4Qses7DnlN6bS8LyVZILWlLHQ9N1v0uOidiG766EPxGT24fNCcAu rxoQjzo0GBVkEEV4dVHlpTx7D8vsLrC6/1q7qJTyTaQcOzOFol9s4Ntns1gOJPcpFAcn f8/GLvzqc7UXXoKLeBI2tN8jAWZuUFQ/YXsaqplASvC/C1yfprGYz1rIZ8hvbhAiDn5N EvYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :mime-version:accept-language:in-reply-to:references:message-id:date :thread-index:thread-topic:subject:cc:to:from; bh=xn3tnKpNj4klGq3d/aK9u8EjIypVOE7cmaBLoj0wEsM=; fh=k8TfZ/C9g912Ge2o7t2IqDb7xIz08vXDmcg0CBEC1ZE=; b=MYSiahzg8YV1gbUcfGBZ6YH7P4V4MY2fblm4qmjUt4p5SokZWL++pp0F4BYI5JMeGE rfK2lh5mvcWTouAW4JurMJolc5zT7DTaIh7A2RIUIJ49V3IAkk7zSZk95wex+VJOKquT DHFh627axbXgD5utGnrXWKz+8MA4FUL0AogbQdNSpNbW76rtsyrYFJWjqnNzJtk6xcE4 5UK07wcGLrtfW0NAVmMffk1A7xWkPphZ/WVshoC0sTtL8f3CcJEfiHkJ7/yacEc3HexD h3//XNMcb6nafyS07u+uptroIw3aooKlZgij1uTSru1s0jl3Hvpk/HMj+0GBcCOfH7C2 OVzQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e11-20020a056402088b00b0051e109a50a3si4034613edy.527.2023.07.26.04.22.36; Wed, 26 Jul 2023 04:23:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=aculab.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233790AbjGZKZS convert rfc822-to-8bit (ORCPT + 99 others); Wed, 26 Jul 2023 06:25:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53268 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233626AbjGZKZR (ORCPT ); Wed, 26 Jul 2023 06:25:17 -0400 Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [185.58.86.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A5EDCE7 for ; Wed, 26 Jul 2023 03:25:15 -0700 (PDT) Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) by relay.mimecast.com with ESMTP with both STARTTLS and AUTH (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id uk-mta-239-fUxCrhtrNSu2GVWHIquJNA-1; Wed, 26 Jul 2023 11:25:13 +0100 X-MC-Unique: fUxCrhtrNSu2GVWHIquJNA-1 Received: from AcuMS.Aculab.com (10.202.163.4) by AcuMS.aculab.com (10.202.163.4) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Wed, 26 Jul 2023 11:25:11 +0100 Received: from AcuMS.Aculab.com ([::1]) by AcuMS.aculab.com ([::1]) with mapi id 15.00.1497.048; Wed, 26 Jul 2023 11:25:11 +0100 From: David Laight To: 'Marc Zyngier' CC: 'kernel test robot' , "'linux-kernel@vger.kernel.org'" , 'Andy Shevchenko' , 'Andrew Morton' , "'Matthew Wilcox (Oracle)'" , 'Christoph Hellwig' , "'Jason A. Donenfeld'" , "llvm@lists.linux.dev" , "oe-kbuild-all@lists.linux.dev" , "Linux Memory Management List" , Rob Herring Subject: RE: [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness. Thread-Topic: [PATCH next resend 2/5] minmax: Allow min()/max()/clamp() if the arguments have the same signedness. Thread-Index: Adm+7j8pPhAgcq+TRICTXJcSfHQLRAAL9FKAACBy3mD///zQgP//50cA Date: Wed, 26 Jul 2023 10:25:11 +0000 Message-ID: <4d15014d6b4f434786d50bc4f2199f23@AcuMS.aculab.com> References: <202307260256.nzImScXA-lkp@intel.com> <6bed42e871e74e898b400a404ec6d142@AcuMS.aculab.com> <86ila7t30q.wl-maz@kernel.org> In-Reply-To: <86ila7t30q.wl-maz@kernel.org> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Marc Zyngier > Sent: 26 July 2023 10:51 > > On Wed, 26 Jul 2023 10:19:48 +0100, > David Laight wrote: > > > > > From: kernel test robot > > > Sent: 25 July 2023 19:33 > > ... > > > > > > All errors (new ones prefixed by >>): > > > > > > >> drivers/irqchip/irq-mips-cpu.c:288:1: error: call to undeclared function '__typecheck'; ISO C99 > and > > > later do not support implicit function declarations [-Wimplicit-function-declaration] > > > 288 | IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init); > > > | ^ > > > include/linux/irqchip.h:37:38: note: expanded from macro 'IRQCHIP_DECLARE' > > > 37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn)) > > > | ^ > > > include/linux/irqchip.h:24:3: note: expanded from macro 'typecheck_irq_init_cb' > > > 24 | (__typecheck(typecheck_irq_init_cb, &fn) ? fn : fn) > > > | ^ > > > >> drivers/irqchip/irq-mips-cpu.c:288:1: error: initializer element is not a compile-time constant > > > 288 | IRQCHIP_DECLARE(cpu_intc, "mti,cpu-interrupt-controller", mips_cpu_irq_of_init); > > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > include/linux/irqchip.h:37:2: note: expanded from macro 'IRQCHIP_DECLARE' > > > 37 | OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn)) > > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > include/linux/of.h:1493:3: note: expanded from macro 'OF_DECLARE_2' > > > 1493 | _OF_DECLARE(table, name, compat, fn, of_init_fn_2) > > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > include/linux/of.h:1481:2: note: expanded from macro '_OF_DECLARE' > > > 1481 | _OF_DECLARE_STUB(table, name, compat, fn, fn_type) > > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > include/linux/of.h:1470:16: note: expanded from macro '_OF_DECLARE_STUB' > > > 1470 | .data = (fn == (fn_type)NULL) ? fn : fn } > > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > It looks like irqchip.h is using __typecheck() which is really > > an internal part of the implementation of min() and max(). > > The patched version doesn't use it - hence the build fail. > > I can re-instate it, but this all looks wrong to me. > > Please see f1985002839a ("irqchip: Provide stronger type checking for > IRQCHIP_MATCH/IRQCHIP_DECLARE") for the rationale. > > Given that this has uncovered a number of bugs, I'm not letting this > go without an equivalent replacement. .. > > They are used in different contexts. See IRQCHIP_MATCH(). Ah, I was seeing the error in the expansion of IRQCHIP_DECLARE() which is doing the type check twice. It can just pass 'fn'. The cast NULL check does work. So IRQCHIP_MATCH() can use the simpler 'fn = (fn_type)NULL ? fn : fn' test that _OF_DECLARE_STUB() uses. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)