• John Stultz's avatar
    time: Verify time values in adjtimex ADJ_SETOFFSET to avoid overflow · 37cf4dc3
    John Stultz authored
    For adjtimex()'s ADJ_SETOFFSET, make sure the tv_usec value is
    sane. We might multiply them later which can cause an overflow
    and undefined behavior.
    
    This patch introduces new helper functions to simplify the
    checking code and adds comments to clarify
    
    Orginally this patch was by Sasha Levin, but I've basically
    rewritten it, so he should get credit for finding the issue
    and I should get the blame for any mistakes made since.
    
    Also, credit to Richard Cochran for the phrasing used in the
    comment for what is considered valid here.
    
    Cc: Sasha Levin <sasha.levin@oracle.com>
    Cc: Richard Cochran <richardcochran@gmail.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Reported-by: default avatarSasha Levin <sasha.levin@oracle.com>
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    37cf4dc3
time.h 7.34 KB