On Wed, Aug 8, 2012 at 3:36 PM, John Stultz <[email protected]> wrote: > Thomas, Ingo, > Here's a fix against tip/timers/urgent that addresses > timekeeping edge cases detected by both a bad BIOS and system > fuzzing w/ trinity. Thanks to Sasha Levin and CAI Qian for > finding and reporting these! > > Let me know if you have any tweaks you want to see. > > thanks > -john > > Unexpected behavior could occur if the time is set to > a value large enough to overflow a 64bit ktime_t > (which is something larger then the year 2262). > > Also unexpected behavior could occur if large negative > offsets are injected via adjtimex. > > So this patch improves the sanity check timekeeping inputs > by improving the timespec_valid() check, and then makes better > use of timespec_valid() to make sure we don't set the time to > an invalid negative value or one that overflows ktime_t. > > Note: This does not protect from setting the time close to > overflowing ktime_t and then letting natural accumulation > cause the overflow. > > Cc: Ingo Molnar <[email protected]> > Cc: Peter Zijlstra <[email protected]> > Cc: Prarit Bhargava <[email protected]> > Cc: Thomas Gleixner <[email protected]> > Cc: Zhouping Liu <[email protected]> > Cc: CAI Qian <[email protected]> > Cc: Sasha Levin <[email protected]> > Cc: [email protected] > Reported-by: CAI Qian <[email protected]> > Reported-by: Sasha Levin <[email protected]> > Signed-off-by: John Stultz <[email protected]> > --- > include/linux/ktime.h | 7 ------- > include/linux/time.h | 22 ++++++++++++++++++++-- > kernel/time/timekeeping.c | 26 ++++++++++++++++++++++++-- > 3 files changed, 44 insertions(+), 11 deletions(-)
This patch fixes a boot regression on machines with crappy BIOS. Is this going to get committed soon? https://bugzilla.redhat.com/show_bug.cgi?id=844249 josh -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

