提交 c57c3743 编写于 作者: L Linus Torvalds

Merge branch 'timers-fixes-for-linus' of...

Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  clocksource: Prevent NULL pointer dereference
  timer: Avoid reading uninitialized data
...@@ -513,7 +513,7 @@ static ssize_t sysfs_override_clocksource(struct sys_device *dev, ...@@ -513,7 +513,7 @@ static ssize_t sysfs_override_clocksource(struct sys_device *dev,
* Check to make sure we don't switch to a non-highres capable * Check to make sure we don't switch to a non-highres capable
* clocksource if the tick code is in oneshot mode (highres or nohz) * clocksource if the tick code is in oneshot mode (highres or nohz)
*/ */
if (tick_oneshot_mode_active() && if (tick_oneshot_mode_active() && ovr &&
!(ovr->flags & CLOCK_SOURCE_VALID_FOR_HRES)) { !(ovr->flags & CLOCK_SOURCE_VALID_FOR_HRES)) {
printk(KERN_WARNING "%s clocksource is not HRT compatible. " printk(KERN_WARNING "%s clocksource is not HRT compatible. "
"Cannot switch while in HRT/NOHZ mode\n", ovr->name); "Cannot switch while in HRT/NOHZ mode\n", ovr->name);
......
...@@ -714,7 +714,7 @@ int mod_timer(struct timer_list *timer, unsigned long expires) ...@@ -714,7 +714,7 @@ int mod_timer(struct timer_list *timer, unsigned long expires)
* networking code - if the timer is re-modified * networking code - if the timer is re-modified
* to be the same thing then just return: * to be the same thing then just return:
*/ */
if (timer->expires == expires && timer_pending(timer)) if (timer_pending(timer) && timer->expires == expires)
return 1; return 1;
return __mod_timer(timer, expires, false, TIMER_NOT_PINNED); return __mod_timer(timer, expires, false, TIMER_NOT_PINNED);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册