• Linus Torvalds's avatar
    minmax: scsi: fix mis-use of 'clamp()' in sr.c · 9f499b8c
    Linus Torvalds authored
    While working on simplifying the minmax functions, and avoiding
    excessive macro expansion, it turns out that the sr.c use of the
    'clamp()' macro has the arguments the wrong way around.
    
    The clamp logic is
    
    	val = clamp(in, low, high);
    
    and it returns the input clamped to the low/high limits. But sr.c ddid
    
    	speed = clamp(0, speed, 0xffff / 177);
    
    which clamps the value '0' to the range '[speed, 0xffff / 177]' and ends
    up being nonsensical.
    
    Happily, I don't think anybody ever cared.
    
    Fixes: 9fad9d56 ("scsi: sr: Fix unintentional arithmetic wraparound")
    Cc: Justin Stitt <justinstitt@google.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    9f499b8c
sr_ioctl.c 14.9 KB