• Thomas Gleixner's avatar
    clocksource: Protect the watchdog rating changes with clocksource_mutex · d0981a1b
    Thomas Gleixner authored
    Martin pointed out that commit 6ea41d2529 (clocksource: Call
    clocksource_change_rating() outside of watchdog_lock) has a
    theoretical reference count problem. The calls to
    clocksource_change_rating() are now done outside of the clocksource
    mutex and outside of the watchdog lock. A concurrent
    clocksource_unregister() could remove the clock.
    
    Split out the code which changes the rating from
    clocksource_change_rating() into __clocksource_change_rating().
    
    Protect the clocksource_watchdog_work() code sequence with the
    clocksource_mutex() and call __clocksource_change_rating().
    
    LKML-Reference: <alpine.LFD.2.00.0908171038420.2782@localhost.localdomain>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    d0981a1b
clocksource.c 17.7 KB