[PATCH] [65/275] klist: Fix object alignment on 64-bit.

From: Andi Kleen
Date: Wed Mar 30 2011 - 17:58:27 EST


2.6.35-longterm review patch. If anyone has any objections, please let me know.

------------------
From: David Miller <davem@xxxxxxxxxxxxx>

commit 795abaf1e4e188c4171e3cd3dbb11a9fcacaf505 upstream.

Commit c0e69a5bbc6f ("klist.c: bit 0 in pointer can't be used as flag")
intended to make sure that all klist objects were at least pointer size
aligned, but used the constant "4" which only works on 32-bit.

Use "sizeof(void *)" which is correct in all cases.

Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>

---
include/linux/klist.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6.35.y/include/linux/klist.h
===================================================================
--- linux-2.6.35.y.orig/include/linux/klist.h 2011-03-29 22:51:43.946598685 -0700
+++ linux-2.6.35.y/include/linux/klist.h 2011-03-29 23:02:59.534312087 -0700
@@ -22,7 +22,7 @@
struct list_head k_list;
void (*get)(struct klist_node *);
void (*put)(struct klist_node *);
-} __attribute__ ((aligned (4)));
+} __attribute__ ((aligned (sizeof(void *))));

#define KLIST_INIT(_name, _get, _put) \
{ .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/