From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 667E9C3DA4A for ; Thu, 1 Aug 2024 13:45:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=4PriQjlNZTqok4nEz0YFY0qIf9Phhom2pkiQNlTWSlM=; b=lWljFU7AEUI7ULxyxYPj+gkC5s Q75hZUZgFN9R/wncMVLq4FBUE3yq1T1CALNl3bI9zeOKCvXDvEgAUOfF9uANkBWZX5pxWGKoWs/tz N57QjW+uCm+t0C2nT9AXJtOGSucuRiAhH759lSKP6+vfqU6oP6Vy2y3o5FBnokiDbn904+RmXuNVP ifsBFwyjxogdjFiCFymWVUZruZamQjvnh/cgIyTSWFC85NY0iFzLITFq1yb+3EtMmucSmehZPv+Ht CbnKyR2M/61VoT306ikaO87jukfQMosSZvCVwH3uIdlmiKg9VhnA92CgyF/I8BHb5Kho1+v7a4xBR 6WCTmoGA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sZW7a-00000005Yuu-40nB; Thu, 01 Aug 2024 13:45:34 +0000 Received: from verein.lst.de ([213.95.11.211]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sZW75-00000005Ylm-1uNk for linux-arm-kernel@lists.infradead.org; Thu, 01 Aug 2024 13:45:05 +0000 Received: by verein.lst.de (Postfix, from userid 2407) id 4F21868D0A; Thu, 1 Aug 2024 15:44:54 +0200 (CEST) Date: Thu, 1 Aug 2024 15:44:54 +0200 From: Christoph Hellwig To: Nathan Chancellor Cc: Christoph Hellwig , kernel test robot , Baruch Siach , Marek Szyprowski , Catalin Marinas , Will Deacon , llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, linux-s390@vger.kernel.org, Ramon Fried , Petr =?utf-8?B?VGVzYcWZw61r?= , Robin Murphy , linux-kernel@vger.kernel.org, iommu@lists.linux.dev, Elad Nachman , linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v3 2/3] dma-mapping: replace zone_dma_bits by zone_dma_limit Message-ID: <20240801134454.GB2245@lst.de> References: <053fa4806a2c63efcde80caca473a8b670a2701c.1722249878.git.baruch@tkos.co.il> <202407300338.oaUo6jtB-lkp@intel.com> <20240730021208.GA8272@thelio-3990X> <20240730153450.GA30021@lst.de> <20240801012424.GA1640480@thelio-3990X> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240801012424.GA1640480@thelio-3990X> User-Agent: Mutt/1.5.17 (2007-11-01) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240801_064503_706353_EB48EF97 X-CRM114-Status: GOOD ( 19.25 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, Jul 31, 2024 at 06:24:24PM -0700, Nathan Chancellor wrote: > Unfortunately, I am not sure either... I do not see anything obviously, > so perhaps it could just be avoided with the __diag() infrastructure? > > diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c > index 3dbc0b89d6fb..b58e7eb9c8f1 100644 > --- a/kernel/dma/direct.c > +++ b/kernel/dma/direct.c > @@ -20,7 +20,12 @@ > * it for entirely different regions. In that case the arch code needs to > * override the variable below for dma-direct to work properly. > */ > +__diag_push(); > +__diag_ignore(clang, 13, "-Wconstant-conversion", > + "Clang incorrectly thinks the n == 64 case in DMA_BIT_MASK() can happen here," > + "which would truncate with a 32-bit phys_addr_t"); > phys_addr_t zone_dma_limit __ro_after_init = DMA_BIT_MASK(24); So.. The code above is clearly wrong, as DMA_BIT_MASK always returns a u64, and phys_addr_t can be smaller than that. So at least in this case the warning seems perfectly valid and the code has issues because it is mixing different concepts. Where do you see warnings like this upstream?