klist: Fix object alignment on 64-bit.
Commit c0e69a5bbc
("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>
Cc: stable <stable@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
091994cfb8
commit
795abaf1e4
@ -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), \
|
||||||
|
Loading…
Reference in New Issue
Block a user