Received: by 2002:ab2:69cc:0:b0:1f4:be93:e15a with SMTP id n12csp1981101lqp; Tue, 16 Apr 2024 04:02:14 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVFGhEErZUMMRJjgBnBG7BaK8hIRdp4nS1mr89tbO7ENpsBWU58OoLO8Gz1VBPHg8axpi4DEB6qFDRuiP3zsgG4yjU0DaLX6PPMqJZ6kw== X-Google-Smtp-Source: AGHT+IGStHBzrnNUFrEfy5mClb/Xsjlc3YtCLDNRWL9AqG0Dgy6osk2x7Q//mKl9qzqjm4PH5kem X-Received: by 2002:a19:5f44:0:b0:516:d232:2516 with SMTP id a4-20020a195f44000000b00516d2322516mr9443118lfj.6.1713265334207; Tue, 16 Apr 2024 04:02:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713265334; cv=pass; d=google.com; s=arc-20160816; b=DhHbdmVbHnDdCDWsGi2pAfl3W+e5L3AVN0eVF3QFNY2/gkAnbYeL9bOmNKh8VYFbmv Utyj/w3s9uqwY+p1m8apO/ndHzrxj94RJ5eaJMPxA/fqgwqfxHIeVG1DPV+hNsQXCUHb nhFv9c2FwZPbZHjYrM3I/4HMt6Ur5L+eXzVjpCO/SN8xhH1g2zrxSk3CyslAIU+lfmJq g3WExuW66TCFTVv7HR30l4IKsrp5/unTr1eKRFDSI0dVqNJ0uHc1BGkpH+TvyMCG0NQc vDGFUkq9mpXQkzuqVc6oGJQTNjod9uawn8/cl1DLwCljjhtGtDWO7R7I4ZcJmo6fJOuF 9VFA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=subject:cc:to:from:date:references:in-reply-to:message-id :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :user-agent:feedback-id:dkim-signature:dkim-signature; bh=Zk60bWbreljoGat0WtfbefJblBLK6E0eub+WvGF0SQM=; fh=TUnhpGTM7NEISs0EFRVXg3MyXNjbH1/iEo274wxHsKo=; b=Ag5hC+UdHgkc3QhaCA1wa08Voxfxl/nyjrCaXT4hROVx2Y1fsnJw5ZyAJ7rzi3og/A B82Rusoy3/wj8tGPsqa6jDlNqXHIFVFXdlVmwAXANA6ENRqUYxSWIegw/O+btRIGUmky zzuDUIjORoGW4Afdf6/k4A/th2gCRBHtkFGWmDDCN2Sa543JyNvsKNW5W4dyvMKBooqG oqw8Ra1GwJBttUt+Z4Oi9V6AZNJGxcJI9pN280xr74WG/VcOjW9LXZ5QtM780Z3NBNAA 3K7k+KETGEbVR4T9L3z9uZbWfX5lgrlEHUX3GXXlzhx6Uob8c69aE1fYyPMNaUMMucte CCsg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@arndb.de header.s=fm2 header.b=HbDKskit; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=OgWQBOga; arc=pass (i=1 spf=pass spfdomain=arndb.de dkim=pass dkdomain=arndb.de dkim=pass dkdomain=messagingengine.com dmarc=pass fromdomain=arndb.de); spf=pass (google.com: domain of linux-kernel+bounces-146682-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-146682-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=arndb.de Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id ga38-20020a1709070c2600b00a51dc7f6d40si5676430ejc.1026.2024.04.16.04.02.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Apr 2024 04:02:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-146682-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@arndb.de header.s=fm2 header.b=HbDKskit; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=OgWQBOga; arc=pass (i=1 spf=pass spfdomain=arndb.de dkim=pass dkdomain=arndb.de dkim=pass dkdomain=messagingengine.com dmarc=pass fromdomain=arndb.de); spf=pass (google.com: domain of linux-kernel+bounces-146682-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-146682-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=arndb.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id BB5801F21F1C for ; Tue, 16 Apr 2024 11:02:13 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1203C128393; Tue, 16 Apr 2024 11:02:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=arndb.de header.i=@arndb.de header.b="HbDKskit"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="OgWQBOga" Received: from fhigh5-smtp.messagingengine.com (fhigh5-smtp.messagingengine.com [103.168.172.156]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 92BE0127E36 for ; Tue, 16 Apr 2024 11:02:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=103.168.172.156 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713265325; cv=none; b=sJKc/vIa05n5yT/3veCkXXGZSA7giXjB7mTd8yat5UDMPtJzWqXAk9Nj7lfMihpPPS4MuZqs5O2seF8T36uyW25oaR8f1VO1QO5YZeiwNHVCBho12RVjD0T2VWzBaBX+yTbo6uVN3LLOlESt89xg8fYxY0RPCccjj0DKYRZAlfE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713265325; c=relaxed/simple; bh=2vrUTW6+WcHv+DgzAcm9LFf6YmCXBn2YtJKqYcs7wxo=; h=MIME-Version:Message-Id:In-Reply-To:References:Date:From:To:Cc: Subject:Content-Type; b=UcvfJaFYEv8EMbTgm51wPeXa6en8XahYz/S96o0ZlfXNhMF6zyv23nNXxG+Zl6ARMs0WOP/OXgu1JVZheIq9ujQsEyOzn+xarUNgzMIpXtiIHJ2CaJQKPYmkrQeTSa+2fmr3TmfdftWcvQGUouafHpyDPTR4sw/jgTin74kNcVs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de; spf=pass smtp.mailfrom=arndb.de; dkim=pass (2048-bit key) header.d=arndb.de header.i=@arndb.de header.b=HbDKskit; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=OgWQBOga; arc=none smtp.client-ip=103.168.172.156 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arndb.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arndb.de Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailfhigh.nyi.internal (Postfix) with ESMTP id A0623114011E; Tue, 16 Apr 2024 07:02:02 -0400 (EDT) Received: from imap51 ([10.202.2.101]) by compute5.internal (MEProxy); Tue, 16 Apr 2024 07:02:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1713265322; x=1713351722; bh=Zk60bWbrel joGat0WtfbefJblBLK6E0eub+WvGF0SQM=; b=HbDKskitWj9XmebUrXWe+Yy5eN 3nGz9gIRgp4xDsxGLdoBktSMz64WxXhyAcZhJ08gU1lXksV2N5VW2JU7ChpqIDIf c4GnSeH5jFAPBEVW9vm+Yeqdp6Qynv/uvO7oufK2N11Qsvh+349Sos6KLCOi71Lj TLSTyUjXu7yYqS+taHLfhQt5A31XEPvzV0ffixqP7uyszvyEt0+29L3KnQ9IaVlj VUDUnRKVJTQxm+Y3Iw7+ZnSo3gNdXdX+i3oI1kn9KH3k1zURvfziI8XgDuVi69Xc 1U7yAzwKQeJmSCEXWynAFWiASIWS/xoNsou4x0gpjgnUcIFDxyGh6l0b6Lqw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1713265322; x=1713351722; bh=Zk60bWbreljoGat0WtfbefJblBLK 6E0eub+WvGF0SQM=; b=OgWQBOgaXnXDm5d6p7LLC2FcZeJdIUUk7D8N/8LAdWzQ b2HaAMqdQDEAmNiBuf3nM/WP0cVxsl+3C1a7eFO7ieE8S0TNMlMbJBSaez0okP/+ X/1G63wOkFllnO9O2UfeaqMb2+dAWxnNAFSfRUfCh/BYWjb4b9bQog9z5O3bM8Np lZ0ud3tzLCtDNvQDKzlF8RMCmJbiuoTCEBtYp/ibB6kBKW17hii2hhC65oyjkfJZ TKjez9JWLcQ6tR/tJ4sIfJIkPXFhzpmA6wSLOd8WPrXl/G0WUAbw9WkRzhNQ0PTI OV3BzdevM7UdaD2C4EEOzoL3g4gX4d8RybJTnxD21g== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudejhedguddtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedftehr nhguuceuvghrghhmrghnnhdfuceorghrnhgusegrrhhnuggsrdguvgeqnecuggftrfgrth htvghrnhepffehueegteeihfegtefhjefgtdeugfegjeelheejueethfefgeeghfektdek teffnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprg hrnhgusegrrhhnuggsrdguvg X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 05DC2B6008F; Tue, 16 Apr 2024 07:02:02 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-379-gabd37849b7-fm-20240408.001-gabd37849 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <3d139886-9549-4384-918a-2d18480eb758@app.fastmail.com> In-Reply-To: References: Date: Tue, 16 Apr 2024 13:01:40 +0200 From: "Arnd Bergmann" To: "Naresh Kamboju" , "open list" , lkft-triage@lists.linaro.org, "Linux Regressions" , linuxppc-dev Cc: "Anders Roxell" , "Dan Carpenter" , clang-built-linux , "Nathan Chancellor" , "Nick Desaulniers" , "Naveen N. Rao" , "Aneesh Kumar K.V" , "Jeff Xu" , "Kees Cook" , "Niklas Schnelle" Subject: Re: powerpc: io-defs.h:43:1: error: performing pointer arithmetic on a null pointer has undefined behavior [-Werror,-Wnull-pointer-arithmetic] Content-Type: text/plain On Tue, Apr 16, 2024, at 11:32, Naresh Kamboju wrote: > The Powerpc clang builds failed due to following warnings / errors on the > Linux next-20240416 tag. > > Powerpc: > - tqm8xx_defconfig + clang-17 - Failed > - allnoconfig + clang-17 - Failed > - tinyconfig + clang-17 - Failed > > Reported-by: Linux Kernel Functional Testing I'm not sure why this showed up now, but there is a series from in progress that will avoid this in the future, as the same issue is present on a couple of other architectures. The broken definitions are in the !CONFIG_PCI path of #ifndef CONFIG_PCI #define _IO_BASE 0 #define _ISA_MEM_BASE 0 #define PCI_DRAM_OFFSET 0 #elif defined(CONFIG_PPC32) #define _IO_BASE isa_io_base #define _ISA_MEM_BASE isa_mem_base #define PCI_DRAM_OFFSET pci_dram_offset #else #define _IO_BASE pci_io_base #define _ISA_MEM_BASE isa_mem_base #define PCI_DRAM_OFFSET 0 #endif Once the series is merged, the !PCI case can disable CONFIG_HAS_IOPORT and move all references to it into #ifdef sections, something like the (incomplete) patch below. It looks like regardless of this, powerpc can also just set _IO_BASE to ISA_IO_BASE unconditionally, but I could be missing something there. Arnd --- diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h index 08c550ed49be..29e002b9316c 100644 --- a/arch/powerpc/include/asm/io.h +++ b/arch/powerpc/include/asm/io.h @@ -36,11 +36,8 @@ extern struct pci_dev *isa_bridge_pcidev; * bases. Most of this file only uses _IO_BASE though which we * define properly based on the platform */ -#ifndef CONFIG_PCI -#define _IO_BASE 0 -#define _ISA_MEM_BASE 0 -#define PCI_DRAM_OFFSET 0 -#elif defined(CONFIG_PPC32) +#ifdef CONFIG_HAS_IOPORT +#ifdef CONFIG_PPC32 #define _IO_BASE isa_io_base #define _ISA_MEM_BASE isa_mem_base #define PCI_DRAM_OFFSET pci_dram_offset @@ -486,8 +483,7 @@ static inline u64 __raw_rm_readq(volatile void __iomem *paddr) * to port it over */ -#ifdef CONFIG_PPC32 - +#if defined(CONFIG_PPC32) && defined(CONFIG_HAS_IOPORT) #define __do_in_asm(name, op) \ static inline unsigned int name(unsigned int port) \ { \ @@ -534,7 +530,7 @@ __do_out_asm(_rec_outb, "stbx") __do_out_asm(_rec_outw, "sthbrx") __do_out_asm(_rec_outl, "stwbrx") -#endif /* CONFIG_PPC32 */ +#endif /* CONFIG_PPC32 && CONFIG_HAS_IOPORT */ /* The "__do_*" operations below provide the actual "base" implementation * for each of the defined accessors. Some of them use the out_* functions @@ -577,6 +573,7 @@ __do_out_asm(_rec_outl, "stwbrx") #define __do_readq_be(addr) in_be64(PCI_FIX_ADDR(addr)) #endif /* !defined(CONFIG_EEH) */ +#ifdef CONFIG_HAS_IOPORT #ifdef CONFIG_PPC32 #define __do_outb(val, port) _rec_outb(val, port) #define __do_outw(val, port) _rec_outw(val, port) @@ -592,6 +589,7 @@ __do_out_asm(_rec_outl, "stwbrx") #define __do_inw(port) readw((PCI_IO_ADDR)_IO_BASE + port); #define __do_inl(port) readl((PCI_IO_ADDR)_IO_BASE + port); #endif /* !CONFIG_PPC32 */ +#endif #ifdef CONFIG_EEH #define __do_readsb(a, b, n) eeh_readsb(PCI_FIX_ADDR(a), (b), (n)) @@ -606,12 +604,14 @@ __do_out_asm(_rec_outl, "stwbrx") #define __do_writesw(a, b, n) _outsw(PCI_FIX_ADDR(a),(b),(n)) #define __do_writesl(a, b, n) _outsl(PCI_FIX_ADDR(a),(b),(n)) +#ifdef CONFIG_HAS_IOPORT #define __do_insb(p, b, n) readsb((PCI_IO_ADDR)_IO_BASE+(p), (b), (n)) #define __do_insw(p, b, n) readsw((PCI_IO_ADDR)_IO_BASE+(p), (b), (n)) #define __do_insl(p, b, n) readsl((PCI_IO_ADDR)_IO_BASE+(p), (b), (n)) #define __do_outsb(p, b, n) writesb((PCI_IO_ADDR)_IO_BASE+(p),(b),(n)) #define __do_outsw(p, b, n) writesw((PCI_IO_ADDR)_IO_BASE+(p),(b),(n)) #define __do_outsl(p, b, n) writesl((PCI_IO_ADDR)_IO_BASE+(p),(b),(n)) +#endif #define __do_memset_io(addr, c, n) \ _memset_io(PCI_FIX_ADDR(addr), c, n) @@ -689,6 +689,8 @@ static inline void name at \ #define writesb writesb #define writesw writesw #define writesl writesl + +#ifdef CONFIG_HAS_IOPORT #define inb inb #define inw inw #define inl inl @@ -701,6 +703,8 @@ static inline void name at \ #define outsb outsb #define outsw outsw #define outsl outsl +#endif + #ifdef __powerpc64__ #define readq readq #define writeq writeq