linux_dsm_epyc7002/kernel/time
Sebastian Andrzej Siewior 73d20564e0 hrtimer: Don't dereference the hrtimer pointer after the callback
A hrtimer can be released in its callback, but lockdep_hrtimer_exit()
dereferences the pointer after the callback returns, i.e. a potential use
after free.

Retrieve the context in which the hrtimer expires before the callback is
invoked and use it in lockdep_hrtimer_exit().

Fixes: 40db173965 ("lockdep: Add hrtimer context tracing bits")
Reported-by: syzbot+62c155c276e580cfb606@syzkaller.appspotmail.com
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20200331201849.fkp2siy3vcdqvqlz@linutronix.de
2020-04-01 13:20:14 +02:00
..
alarmtimer.c alarmtimer: Make alarmtimer_get_rtcdev() a stub when CONFIG_RTC_CLASS=n 2020-01-24 21:03:53 +01:00
clockevents.c
clocksource.c clocksource: Add common vdso clock mode storage 2020-02-17 14:40:23 +01:00
hrtimer.c hrtimer: Don't dereference the hrtimer pointer after the callback 2020-04-01 13:20:14 +02:00
itimer.c y2038: rename itimerval to __kernel_old_itimerval 2019-12-18 18:07:33 +01:00
jiffies.c timekeeping: Split jiffies seqlock 2020-03-21 16:00:23 +01:00
Kconfig
Makefile ns: Introduce Time Namespace 2020-01-14 12:20:48 +01:00
namespace.c lib/vdso: Move VCLOCK_TIMENS to vdso_clock_modes 2020-02-17 20:12:17 +01:00
ntp_internal.h
ntp.c ntp/y2038: Remove incorrect time_t truncation 2019-11-12 08:13:44 +01:00
posix-clock.c posix-clocks: Rename the clock_get() callback to clock_get_timespec() 2020-01-14 12:20:49 +01:00
posix-cpu-timers.c timekeeping and timer updates: 2020-03-30 18:51:47 -07:00
posix-stubs.c posix-timers: Make clock_nanosleep() time namespace aware 2020-01-14 12:20:55 +01:00
posix-timers.c posix-timers: Pass lockdep expression to RCU lists 2020-02-17 20:12:19 +01:00
posix-timers.h posix-clocks: Introduce clock_get_ktime() callback 2020-01-14 12:20:51 +01:00
sched_clock.c time/sched_clock: Expire timer in hardirq context 2020-03-19 09:45:08 +01:00
test_udelay.c
tick-broadcast-hrtimer.c
tick-broadcast.c
tick-common.c timekeeping: Split jiffies seqlock 2020-03-21 16:00:23 +01:00
tick-internal.h
tick-oneshot.c
tick-sched.c lockdep: Annotate irq_work 2020-03-21 16:00:24 +01:00
tick-sched.h
time.c y2038: remove unused time32 interfaces 2020-02-21 11:22:15 -08:00
timeconst.bc
timeconv.c
timecounter.c
timekeeping_debug.c
timekeeping_internal.h
timekeeping.c timekeeping and timer updates: 2020-03-30 18:51:47 -07:00
timekeeping.h timekeeping: Split jiffies seqlock 2020-03-21 16:00:23 +01:00
timer_list.c
timer.c timekeeping and timer updates: 2020-03-30 18:51:47 -07:00
vsyscall.c lib/vdso: Avoid highres update if clocksource is not VDSO capable 2020-02-17 20:12:17 +01:00