Star64_linux/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
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
jiffies.c timekeeping: Split jiffies seqlock 2020-03-21 16:00:23 +01:00
Kconfig
Makefile
namespace.c lib/vdso: Move VCLOCK_TIMENS to vdso_clock_modes 2020-02-17 20:12:17 +01:00
ntp.c
ntp_internal.h
posix-clock.c
posix-cpu-timers.c timekeeping and timer updates: 2020-03-30 18:51:47 -07:00
posix-stubs.c
posix-timers.c posix-timers: Pass lockdep expression to RCU lists 2020-02-17 20:12:19 +01:00
posix-timers.h
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.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
timekeeping_debug.c
timekeeping_internal.h
timer.c timekeeping and timer updates: 2020-03-30 18:51:47 -07:00
timer_list.c
vsyscall.c lib/vdso: Avoid highres update if clocksource is not VDSO capable 2020-02-17 20:12:17 +01:00