x86: cast cmpxchg and cmpxchg_local result for 386 and 486
authorMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Thu, 6 Mar 2008 12:45:46 +0000 (13:45 +0100)
committerIngo Molnar <mingo@elte.hu>
Fri, 21 Mar 2008 16:06:15 +0000 (17:06 +0100)
commit3078b79d257054c3697c85936afce38595e7b67b
treebbf090b07a5a9fc5b40a45dfc19ba775098db8c2
parent7d2de1376226eab4660e162e0728eadd18db3c4a
x86: cast cmpxchg and cmpxchg_local result for 386 and 486

mm/slub.c: In function 'slab_alloc':
mm/slub.c:1637: warning: assignment makes pointer from integer without a cast
mm/slub.c:1637: warning: assignment makes pointer from integer without a cast
mm/slub.c: In function 'slab_free':
mm/slub.c:1796: warning: assignment makes pointer from integer without a cast
mm/slub.c:1796: warning: assignment makes pointer from integer without a cast

A cast is needed in the 386 and 486 code because the type is a pointer.  In
every other integer case the original cmpxchg code (and the cmpxchg_local
which has been copied from it) worked fine, but since we touch a pointer,
the type needs to be casted in the cmpxchg_local and cmpxchg macros.

The more recent code (586+) does not have this problem (the cast is already
there).

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Christoph Lameter <clameter@sgi.com>
Cc: Vegard Nossum <vegard.nossum@gmail.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/asm-x86/cmpxchg_32.h