Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758070AbcK2P32 (ORCPT ); Tue, 29 Nov 2016 10:29:28 -0500 Received: from smtprelay.synopsys.com ([198.182.60.111]:53863 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757777AbcK2P3U (ORCPT ); Tue, 29 Nov 2016 10:29:20 -0500 From: Yuriy Kolerov To: linux-snps-arc@lists.infradead.org Cc: Vineet.Gupta1@synopsys.com, Alexey.Brodkin@synopsys.com, linux-kernel@vger.kernel.org, Yuriy Kolerov Subject: [RFC] ARC: mm: Restrict definition of pfn_valid() macro for CONFIG_FLATMEM Date: Tue, 29 Nov 2016 18:29:06 +0300 Message-Id: <1480433346-18054-1-git-send-email-yuriy.kolerov@synopsys.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 882 Lines: 26 Despite the fact that subtraction of unsigned integers is a defined behaviour however such operations can lead to unexpected results. Thus it is better to check both left and right boundaries to avoid potential bugs as it done in the generic page.h. Signed-off-by: Yuriy Kolerov --- arch/arc/include/asm/page.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arc/include/asm/page.h b/arch/arc/include/asm/page.h index 296c342..81cfc6c7 100644 --- a/arch/arc/include/asm/page.h +++ b/arch/arc/include/asm/page.h @@ -88,7 +88,7 @@ typedef pte_t * pgtable_t; #define ARCH_PFN_OFFSET virt_to_pfn(CONFIG_LINUX_LINK_BASE) #ifdef CONFIG_FLATMEM -#define pfn_valid(pfn) (((pfn) - ARCH_PFN_OFFSET) < max_mapnr) +#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr) #endif /* -- 2.7.4