• Linus Torvalds's avatar
    x86: fix power-of-2 round_up/round_down macros · 43644679
    Linus Torvalds authored
    These macros had two bugs:
     - the type of the mask was not correctly expanded to the full size of
       the argument being expanded, resulting in possible loss of high bits
       when mixing types.
     - the alignment argument was evaluated twice, despite the macro looking
       like a fancy function (but it really does need to be a macro, since
       it works on arbitrary integer types)
    
    Noticed by Peter Anvin, and with a fix that is a modification of his
    suggestion (bug noticed by Yinghai Lu).
    
    Cc: Peter Anvin <hpa@zytor.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    43644679
proto.h 913 Bytes