Prechádzať zdrojové kódy

kernel/sys.c: fix compat uname machine

On ppc64 you get this error:

  $ setarch ppc -R true
  setarch: ppc: Unrecognized architecture

because uname still reports ppc64 as the machine.

So mask off the personality flags when checking for PER_LINUX32.

Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Andreas Schwab 15 rokov pred
rodič
commit
46da276648
1 zmenil súbory, kde vykonal 1 pridanie a 1 odobranie
  1. 1 1
      kernel/sys.c

+ 1 - 1
kernel/sys.c

@@ -1118,7 +1118,7 @@ DECLARE_RWSEM(uts_sem);
 
 
 #ifdef COMPAT_UTS_MACHINE
 #ifdef COMPAT_UTS_MACHINE
 #define override_architecture(name) \
 #define override_architecture(name) \
-	(current->personality == PER_LINUX32 && \
+	(personality(current->personality) == PER_LINUX32 && \
 	 copy_to_user(name->machine, COMPAT_UTS_MACHINE, \
 	 copy_to_user(name->machine, COMPAT_UTS_MACHINE, \
 		      sizeof(COMPAT_UTS_MACHINE)))
 		      sizeof(COMPAT_UTS_MACHINE)))
 #else
 #else