Patchwork Re: [PATCH] Un(de)selectable block for DISCONTIGMEM/64BIT on parisc

login
register
mail settings
Submitter Christoph Egger
Date May 12, 2010, 3:45 p.m.
Message ID <20100512154516.GB722@faui48a.informatik.uni-erlangen.de>
Download mbox | patch
Permalink /patch/52391/
State New
Headers show

Comments

Christoph Egger - May 12, 2010, 3:45 p.m.
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 <siccegge@cs.fau.de>
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 <siccegge@cs.fau.de>
---
 arch/parisc/include/asm/mmzone.h |    5 -----
 1 files changed, 0 insertions(+), 5 deletions(-)

Patch

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)
 {