Received: by 10.223.185.116 with SMTP id b49csp3464530wrg; Sun, 25 Feb 2018 23:51:21 -0800 (PST) X-Google-Smtp-Source: AH8x226XBx/EU7seKtCcVzKv6X2uV5zOmI55mawYWJHIpiNnIT6B40sutjUBmgnLMQthMrHEJnxt X-Received: by 10.99.97.205 with SMTP id v196mr7704081pgb.319.1519631481535; Sun, 25 Feb 2018 23:51:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519631481; cv=none; d=google.com; s=arc-20160816; b=yeWAEWzLwfQRPhuVAYUH4y217pAtr1YpOpkrSvSAjMx/u5fH1fFbEeLwJ9EV8WEGnv hTOrslrV0LqgSfWCIzJ8CLkAiZi4514xkuwi7pB0bOGvP6ptIoHSMs0iCxLyeijcsJ7t hyZtGfY+DDN4YJopr/XUZhEp48vSYjB8IWFWglX7Ab3O/oCiVxSzkCeG8RaqzqRr36Ry CIzCBP5DCQI5HR2dBXHUd7u9x0EJAL2DCwSFX3oAFu5uGLzGd6W/zr5Au1aD1COfegYH 4HbhUEqUicaLSffT+qyhECNbpEv+eDpvbNOAmxyNcs8joT4DUMGWSF4KfbZNa8L8c1jB omVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:references:in-reply-to:mime-version :dkim-signature:arc-authentication-results; bh=qPUBMi1v6aEiLM/ImjsPVW1DNO6L3kocqTcGTHkkePw=; b=DRfz8XlWoCqDz1I9Z3DiW7N1A+flOta1JIiVhaDy5IodjtA0eReD99RDH/bofurQu6 aEfy2ApR2fso+iEWTEzXWyxJgYTf/aOVFzSgLtTGhq+d81E0wNXAmRjtEvzXOf7kMU9Q dHuPkdJfgiMdqw4N1r2jWf3qf8aj8FwgBsZyadYw48s4wV1lWvQyFyooDtqFBqTZGRA2 hu1cUh2JDEgwTb3nL3BpNCt88rje8f+UCCp1sWzmF5bhp/UB6GLuyRk0v67tfx2IIXsR w33AOb1beXNQ6KStljEMz3xmN2YZPSHOGiQvx4MTeSr1fTw8GukuLdEZtLoufGaNWvES 3CQQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=QbZBHA4m; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 64-v6si6345090plb.472.2018.02.25.23.51.07; Sun, 25 Feb 2018 23:51:21 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=QbZBHA4m; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752193AbeBZHtm (ORCPT + 99 others); Mon, 26 Feb 2018 02:49:42 -0500 Received: from mail-ua0-f193.google.com ([209.85.217.193]:45076 "EHLO mail-ua0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752002AbeBZHtl (ORCPT ); Mon, 26 Feb 2018 02:49:41 -0500 Received: by mail-ua0-f193.google.com with SMTP id z3so9888365uae.12 for ; Sun, 25 Feb 2018 23:49:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-transfer-encoding; bh=qPUBMi1v6aEiLM/ImjsPVW1DNO6L3kocqTcGTHkkePw=; b=QbZBHA4m3lTE/ZQWz0ueM3NSjobMhSqbeoj6lZXN4nl/m9J67t2ZAZpS2nY2jGMZ9d MsICJy5lGqRxV3RiP3GpfpC4ZWd6DGaT1vIqfRHx67zGyU+iLfvegUYWyE3UVtQ6S0rV Uq/+RDOGj0ba4iZUUpP75LMQlcgIdzc/sc52cFGQw47VGEOdBIVnua41HzCl13/1UWhH JQ2Zw57adEjaRxNSyxbwxBudzug80881Tpum3riHg/OlJOwyur5Xtg7gPfZ/dpIc/PXC C5zs7fPthHU5ACqUc2fYLLon43b0AS7DAg8406Yh6cUo0ONAprcwrvqCJY5PmfcCX5v4 vxCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-transfer-encoding; bh=qPUBMi1v6aEiLM/ImjsPVW1DNO6L3kocqTcGTHkkePw=; b=lSf47tjuCQjy2n1oC6zHRWy9B/Tg9zR4Rzfa1XRFP7VmpCFWSTECL4/DUwgYlpgL2V IryvswWxxPZ+r9YnJYyWfDhgqVI5O/wOkHYRJZWkXEHMDyC2F/OOs4ipvbamwuPM0dBC ca0VrNY5akEgvevkqDyOLStSjt5d12yQDIRC+XXa56m1kwgeiG54VfryWPRKXPYkwgpQ mvhWeZq4pTyPWGhp2Bw3PCOqcLNYE+FIEP0Fqub6aS+iBJY2uZM4Z/xv6dkXszorXNar InMPELapJNFrRw86Zx3+M5faDSTr9wcOnBpa6Wu1C0LZaz7Ennyg5chuhtlpMh0V4G4i e9Kw== X-Gm-Message-State: APf1xPAS+bRqOphQyDsZ56kfcVb4cdCWmwIf0SbCZ8XEeRwDU8KHHbNj pYHJBeqjYjfjQp61qxro9D7JrBSRSwHrvBIg73g30wuP X-Received: by 10.176.12.17 with SMTP id a17mr4382053uak.162.1519631380824; Sun, 25 Feb 2018 23:49:40 -0800 (PST) MIME-Version: 1.0 Received: by 10.176.112.21 with HTTP; Sun, 25 Feb 2018 23:49:20 -0800 (PST) In-Reply-To: <55d52f37-c24d-c2da-43c6-73a55403d3b6@c-s.fr> References: <20180225172236.29650-1-malat@debian.org> <20180225172236.29650-6-malat@debian.org> <55d52f37-c24d-c2da-43c6-73a55403d3b6@c-s.fr> From: Mathieu Malaterre Date: Mon, 26 Feb 2018 08:49:20 +0100 X-Google-Sender-Auth: np-Qa_as9v6m6xUmNe1MiuRMqbI Message-ID: Subject: Re: [PATCH 05/21] powerpc: Avoid comparison of unsigned long >= 0 in pfn_valid To: Christophe LEROY Cc: Michael Ellerman , LKML , Paul Mackerras , Jiri Slaby , linuxppc-dev Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 26, 2018 at 7:32 AM, Christophe LEROY wrote: > > > Le 25/02/2018 =C3=A0 18:22, Mathieu Malaterre a =C3=A9crit : >> >> Rewrite comparison since all values compared are of type `unsigned long`= . >> >> Fix a warning (treated as error in W=3D1): >> >> CC arch/powerpc/kernel/irq.o >> In file included from ./include/linux/bug.h:5:0, >> from ./include/linux/cpumask.h:13, >> from ./include/linux/smp.h:13, >> from ./include/linux/kernel_stat.h:5, >> from arch/powerpc/kernel/irq.c:35: >> ./include/linux/dma-mapping.h: In function =E2=80=98dma_map_resource=E2= =80=99: >> ./arch/powerpc/include/asm/page.h:129:32: error: comparison of unsigned >> expression >=3D 0 is always true [-Werror=3Dtype-limits] >> #define pfn_valid(pfn) ((pfn) >=3D ARCH_PFN_OFFSET && (pfn) < max_map= nr) >> ^ >> Suggested-by: Segher Boessenkool >> Signed-off-by: Mathieu Malaterre >> --- >> arch/powerpc/include/asm/page.h | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/arch/powerpc/include/asm/page.h >> b/arch/powerpc/include/asm/page.h >> index 8da5d4c1cab2..19dea64e7ed2 100644 >> --- a/arch/powerpc/include/asm/page.h >> +++ b/arch/powerpc/include/asm/page.h >> @@ -126,7 +126,8 @@ extern long long virt_phys_offset; >> #ifdef CONFIG_FLATMEM >> #define ARCH_PFN_OFFSET ((unsigned long)(MEMORY_START >> >> PAGE_SHIFT)) >> -#define pfn_valid(pfn) ((pfn) >=3D ARCH_PFN_OFFSET && (pfn) < >> max_mapnr) >> +#define pfn_valid(pfn) \ >> + (((pfn) - ARCH_PFN_OFFSET) < (max_mapnr - >> ARCH_PFN_OFFSET)) > > > What will happen when ARCH_PFN_OFFSET is not nul and pfn is lower than > ARCH_PFN_OFFSET ? I assumed that normal unsigned integers modulo would make the test fail. But for some particular value of max_mapnr the two are indeed not equivalent. > Christophe > > >> #endif >> #define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT) >> >