]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.16.8/clocksource-initialize-cs-wd_list.patch
4.14-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 4.16.8 / clocksource-initialize-cs-wd_list.patch
CommitLineData
d11f37ce
GKH
1From 5b9e886a4af97574ca3ce1147f35545da0e7afc7 Mon Sep 17 00:00:00 2001
2From: Peter Zijlstra <peterz@infradead.org>
3Date: Mon, 30 Apr 2018 12:00:11 +0200
4Subject: clocksource: Initialize cs->wd_list
5
6From: Peter Zijlstra <peterz@infradead.org>
7
8commit 5b9e886a4af97574ca3ce1147f35545da0e7afc7 upstream.
9
10A number of places relies on list_empty(&cs->wd_list), however the
11list_head does not get initialized. Do so upon registration, such that
12thereafter it is possible to rely on list_empty() correctly reflecting
13the list membership status.
14
15Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
16Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
17Tested-by: Diego Viola <diego.viola@gmail.com>
18Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
19Cc: stable@vger.kernel.org
20Cc: len.brown@intel.com
21Cc: rjw@rjwysocki.net
22Cc: rui.zhang@intel.com
23Link: https://lkml.kernel.org/r/20180430100344.472662715@infradead.org
24Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
25
26---
27 kernel/time/clocksource.c | 2 ++
28 1 file changed, 2 insertions(+)
29
30--- a/kernel/time/clocksource.c
31+++ b/kernel/time/clocksource.c
32@@ -332,6 +332,8 @@ static void clocksource_resume_watchdog(
33
34 static void clocksource_enqueue_watchdog(struct clocksource *cs)
35 {
36+ INIT_LIST_HEAD(&cs->wd_list);
37+
38 if (cs->flags & CLOCK_SOURCE_MUST_VERIFY) {
39 /* cs is a clocksource to be watched. */
40 list_add(&cs->wd_list, &watchdog_list);