aboutsummaryrefslogtreecommitdiffstats
path: root/mm/msync.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-08-19 11:26:09 +0200
committerThomas Gleixner <tglx@linutronix.de>2009-08-19 11:42:48 +0200
commitd0981a1b21a03866c8da7f44e35e389c2e0d6061 (patch)
tree7fe013c7de9adb1d4f20163669571fddfe09881c /mm/msync.c
parent6ea41d252f35465a2308a4038a323b6b07de06f6 (diff)
downloadkernel_samsung_aries-d0981a1b21a03866c8da7f44e35e389c2e0d6061.zip
kernel_samsung_aries-d0981a1b21a03866c8da7f44e35e389c2e0d6061.tar.gz
kernel_samsung_aries-d0981a1b21a03866c8da7f44e35e389c2e0d6061.tar.bz2
clocksource: Protect the watchdog rating changes with clocksource_mutex
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: Thomas Gleixner <tglx@linutronix.de> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'mm/msync.c')
0 files changed, 0 insertions, 0 deletions