提交 795abaf1 编写于 作者: D David Miller 提交者: Linus Torvalds

klist: Fix object alignment on 64-bit.

Commit c0e69a5b ("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: NDavid S. Miller <davem@davemloft.net>
Acked-by: NJesper Nilsson <jesper.nilsson@axis.com>
Cc: stable <stable@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 091994cf
...@@ -22,7 +22,7 @@ struct klist { ...@@ -22,7 +22,7 @@ struct klist {
struct list_head k_list; struct list_head k_list;
void (*get)(struct klist_node *); void (*get)(struct klist_node *);
void (*put)(struct klist_node *); void (*put)(struct klist_node *);
} __attribute__ ((aligned (4))); } __attribute__ ((aligned (sizeof(void *))));
#define KLIST_INIT(_name, _get, _put) \ #define KLIST_INIT(_name, _get, _put) \
{ .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \ { .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册