Thread (6 messages) flat view 6 messages, 3 authors, 2012-09-06

Re: [PATCH] powerpc: fix personality handling in ppc64_personality()

From: Andreas Schwab <hidden>
Date: 2012-08-01 22:20:07
Also in: lkml

Possibly related (same subject, not in this thread)

Jiri Kosina [off-list ref] writes:
 	if (personality(current->personality) == PER_LINUX32
-	    && personality == PER_LINUX)
-		personality = PER_LINUX32;
+	    && personality(personality) == PER_LINUX)
+		personality &= ~PER_LINUX | PER_LINUX32;
That doesn't work.  ~PER_LINUX is -1, so this is a no-op.
 	ret = sys_personality(personality);
-	if (ret == PER_LINUX32)
-		ret = PER_LINUX;
+	if (personality(ret) == PER_LINUX32)
+		ret &= ~PER_LINUX32 | PER_LINUX;
That only "works" because PER_LINUX is 0.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help