--- /dev/null
+From 795abaf1e4e188c4171e3cd3dbb11a9fcacaf505 Mon Sep 17 00:00:00 2001
+From: David Miller <davem@davemloft.net>
+Date: Sun, 13 Feb 2011 16:37:07 -0800
+Subject: klist: Fix object alignment on 64-bit.
+
+From: David Miller <davem@davemloft.net>
+
+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@davemloft.net>
+Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ include/linux/klist.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/include/linux/klist.h
++++ b/include/linux/klist.h
+@@ -22,7 +22,7 @@ struct klist {
+ 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), \