lkml.org 
[lkml]   [2011]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[183/272] klist: Fix object alignment on 64-bit.
    2.6.37-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    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), \



    \
     
     \ /
      Last update: 2011-02-16 01:45    [W:2.196 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site