From patchwork Wed May 12 15:45:16 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [PATCH] Un(de)selectable block for DISCONTIGMEM/64BIT on parisc Date: Wed, 12 May 2010 05:45:16 -0000 From: Christoph Egger X-Patchwork-Id: 52391 Message-Id: <20100512154516.GB722@faui48a.informatik.uni-erlangen.de> To: Alessandro Zummo , Paul Gortmaker , Andrew Morton , maltesch@gmx.de, Ralf Baechle , Herton Ronaldo Krzesinski , rtc-linux@googlegroups.com, linux-kernel@vger.kernel.org Cc: vamos@i4.informatik.uni-erlangen.de Hi all! Seems I messed up the logic a bit -- reading the ifndef for an ifdef reversing the actual behaviour of the code when applying the patch. Below the corrected variant. Regards Christoph On Wed, May 12, 2010 at 05:32:29PM +0200, Christoph Egger wrote: > Hi all! > > As part of the VAMOS[0] research project at the University of > Erlangen we are looking at multiple integrity errors in linux' > configuration system. > > When considering the restrictions inposed in kconfig 64BIT > will *always* be set when DISCONTIGMEM is present on parisc so the > code path depending on !64BIT is actually unreachable and the whole > check unnecessary. > > Please keep me informed of this patch getting confirmed / > merged so we can keep track of it. > > Regards > > Christoph Egger > > [0] http://vamos1.informatik.uni-erlangen.de/ ---- >From 5eeae9c56e2602a68b62b21691e6756fb5198dd7 Mon Sep 17 00:00:00 2001 From: Christoph Egger Date: Wed, 12 May 2010 16:59:24 +0200 Subject: [PATCH] on parisc CONFIG_DISCONTIGMEM always depends on CONFIG_64BIT Removing a conditional on 64BIT inside a DISCONTIGMEM block inside arch/parisc. DISCONTIGMEM depends on ARCH_DISCONTIGMEM_ENABLE either directly or through DISCONTIGMEM_MANUAL which in turn depends on 64BIT inside Kconfig so the check and the else case isn't needed at all (the else case can't ever be reached) Signed-off-by: Christoph Egger --- arch/parisc/include/asm/mmzone.h | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-) diff --git a/arch/parisc/include/asm/mmzone.h b/arch/parisc/include/asm/mmzone.h index 9608d2c..dbddcac 100644 --- a/arch/parisc/include/asm/mmzone.h +++ b/arch/parisc/include/asm/mmzone.h @@ -35,12 +35,8 @@ extern struct node_map_data node_data[]; #define PFNNID_MAP_MAX 512 /* support 512GB */ extern unsigned char pfnnid_map[PFNNID_MAP_MAX]; -#ifndef CONFIG_64BIT -#define pfn_is_io(pfn) ((pfn & (0xf0000000UL >> PAGE_SHIFT)) == (0xf0000000UL >> PAGE_SHIFT)) -#else /* io can be 0xf0f0f0f0f0xxxxxx or 0xfffffffff0000000 */ #define pfn_is_io(pfn) ((pfn & (0xf000000000000000UL >> PAGE_SHIFT)) == (0xf000000000000000UL >> PAGE_SHIFT)) -#endif static inline int pfn_to_nid(unsigned long pfn) {