The patch titled hrtimer: Fix status check has been added to the -mm tree. Its filename is highres-timer-core-fix-status-check.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: hrtimer: Fix status check From: Thomas Gleixner <tglx@xxxxxxxxxxxxx> When the callback function is running, the timer is neither queued in the rbtree nor in the callback pending list. Check for timer queued instead of timer active, otherwise rb_erase is called with a NULL pointer. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- kernel/hrtimer.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletion(-) diff -puN kernel/hrtimer.c~highres-timer-core-fix-status-check kernel/hrtimer.c --- a/kernel/hrtimer.c~highres-timer-core-fix-status-check +++ a/kernel/hrtimer.c @@ -966,6 +966,12 @@ static inline void hrtimer_resume_jiffy_ #endif /* CONFIG_HIGH_RES_TIMERS */ +static inline int hrtimer_is_queued(struct hrtimer *timer) +{ + return timer->state != HRTIMER_STATE_INACTIVE && + timer->state != HRTIMER_STATE_CALLBACK; +} + #ifdef CONFIG_TIMER_STATS void __timer_stats_hrtimer_set_start_info(struct hrtimer *timer, void *addr) { @@ -1135,7 +1141,7 @@ static void __remove_hrtimer(struct hrti static inline int remove_hrtimer(struct hrtimer *timer, struct hrtimer_clock_base *base) { - if (hrtimer_active(timer)) { + if (hrtimer_is_queued(timer)) { int reprogram; /* _ Patches currently in -mm which might be from tglx@xxxxxxxxxxxxx are printk-timed-ratelimit.patch schedule-removal-of-futex_fd.patch setup_irq-better-mismatch-debugging.patch gtod-exponential-update_wall_time.patch gtod-persistent-clock-support-core.patch gtod-persistent-clock-support-i386.patch time-uninline-jiffiesh.patch time-uninline-jiffiesh-fix.patch time-fix-msecs_to_jiffies-bug.patch time-fix-timeout-overflow.patch cleanup-uninline-irq_enter-and-move-it-into-a-function.patch dynticks-extend-next_timer_interrupt-to-use-a-reference-jiffie.patch dynticks-extend-next_timer_interrupt-to-use-a-reference-jiffie-remove-incorrect-warning-in-kernel-timerc.patch hrtimers-namespace-and-enum-cleanup.patch hrtimers-clean-up-locking.patch hrtimers-state-tracking.patch hrtimers-clean-up-callback-tracking.patch hrtimers-move-and-add-documentation.patch clockevents-core.patch clockevents-drivers-for-i386.patch high-res-timers-core.patch gtod-mark-tsc-unusable-for-highres-timers.patch dynticks-core.patch dynticks-add-nohz-stats-to-proc-stat.patch dynticks-i386-arch-code.patch high-res-timers-dynticks-enable-i386-support.patch debugging-feature-timer-stats.patch highres-timer-core-fix-status-check.patch highres-timer-core-fix-commandline-setup.patch clockevents-smp-on-up-features.patch highres-depend-on-clockevents.patch i386-apic-cleanup.patch pm-timer-allow-early-access.patch i386-lapic-timer-calibration.patch clockevents-add-broadcast-support.patch acpi-include-apic-h.patch acpi-keep-track-of-timer-broadcast.patch i386-apic-timer-use-clockevents-broadcast.patch acpi-verify-lapic-timer.patch round_jiffies-infrastructure.patch round_jiffies-infrastructure-fix.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html