From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751890AbdJENWV (ORCPT ); Thu, 5 Oct 2017 09:22:21 -0400 Received: from terminus.zytor.com ([65.50.211.136]:35587 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751280AbdJENWR (ORCPT ); Thu, 5 Oct 2017 09:22:17 -0400 Date: Thu, 5 Oct 2017 06:05:49 -0700 From: tip-bot for Kees Cook Message-ID: Cc: akpm@linux-foundation.org, jejb@linux.vnet.ibm.com, kvalo@qca.qualcomm.com, sudipm.mukherjee@gmail.com, arnd@arndb.de, manish.chopra@cavium.com, sre@kernel.org, jwi@linux.vnet.ibm.com, sboyd@codeaurora.org, stefanr@s5r6.in-berlin.de, len.brown@intel.com, linux@roeck-us.net, mingo@kernel.org, schwidefsky@de.ibm.com, gregkh@linuxfoundation.org, mpe@ellerman.id.au, pmladek@suse.com, geert@linux-m68k.org, oleg@redhat.com, rjw@rjwysocki.net, mdr@sgi.com, pavel@ucw.cz, paulus@samba.org, harish.patil@cavium.com, mark.gross@intel.com, john.stultz@linaro.org, ralf@linux-mips.org, heiko.carstens@de.ibm.com, wim@iguana.be, cmetcalf@mellanox.com, linux-kernel@vger.kernel.org, benh@kernel.crashing.org, ubraun@linux.vnet.ibm.com, viresh.kumar@linaro.org, tj@kernel.org, martin.petersen@oracle.com, keescook@chromium.org, jiangshanlai@gmail.com, tglx@linutronix.de, hpa@zytor.com Reply-To: harish.patil@cavium.com, mark.gross@intel.com, ralf@linux-mips.org, heiko.carstens@de.ibm.com, john.stultz@linaro.org, wim@iguana.be, cmetcalf@mellanox.com, linux-kernel@vger.kernel.org, ubraun@linux.vnet.ibm.com, benh@kernel.crashing.org, viresh.kumar@linaro.org, keescook@chromium.org, martin.petersen@oracle.com, tj@kernel.org, jiangshanlai@gmail.com, hpa@zytor.com, tglx@linutronix.de, jejb@linux.vnet.ibm.com, akpm@linux-foundation.org, kvalo@qca.qualcomm.com, arnd@arndb.de, sudipm.mukherjee@gmail.com, stefanr@s5r6.in-berlin.de, sre@kernel.org, jwi@linux.vnet.ibm.com, sboyd@codeaurora.org, manish.chopra@cavium.com, mingo@kernel.org, linux@roeck-us.net, len.brown@intel.com, mpe@ellerman.id.au, gregkh@linuxfoundation.org, schwidefsky@de.ibm.com, pmladek@suse.com, geert@linux-m68k.org, mdr@sgi.com, rjw@rjwysocki.net, oleg@redhat.com, paulus@samba.org, pavel@ucw.cz In-Reply-To: <1507159627-127660-7-git-send-email-keescook@chromium.org> References: <1507159627-127660-7-git-send-email-keescook@chromium.org> To: linux-tip-commits@vger.kernel.org Subject: [tip:timers/core] timer: Remove users of TIMER_DEFERRED_INITIALIZER Git-Commit-ID: 5cd79d6abd2c142352dead0e3df04e86ee32f5d3 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 5cd79d6abd2c142352dead0e3df04e86ee32f5d3 Gitweb: https://git.kernel.org/tip/5cd79d6abd2c142352dead0e3df04e86ee32f5d3 Author: Kees Cook AuthorDate: Wed, 4 Oct 2017 16:27:00 -0700 Committer: Thomas Gleixner CommitDate: Thu, 5 Oct 2017 15:01:18 +0200 timer: Remove users of TIMER_DEFERRED_INITIALIZER This removes uses of TIMER_DEFERRED_INITIALIZER and chooses a location to call timer_setup() from before add_timer() or mod_timer() is called. Adjusts callbacks to use from_timer() as needed. Signed-off-by: Kees Cook Signed-off-by: Thomas Gleixner Cc: linux-mips@linux-mips.org Cc: Petr Mladek Cc: Benjamin Herrenschmidt Cc: Lai Jiangshan Cc: Sebastian Reichel Cc: Kalle Valo Cc: Paul Mackerras Cc: Pavel Machek Cc: linux1394-devel@lists.sourceforge.net Cc: Chris Metcalf Cc: linux-s390@vger.kernel.org Cc: linux-wireless@vger.kernel.org Cc: "James E.J. Bottomley" Cc: Wim Van Sebroeck Cc: Michael Ellerman Cc: Ursula Braun Cc: Geert Uytterhoeven Cc: Viresh Kumar Cc: Harish Patil Cc: Stephen Boyd Cc: Guenter Roeck Cc: Manish Chopra Cc: Len Brown Cc: Arnd Bergmann Cc: linux-pm@vger.kernel.org Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: Julian Wiedmann Cc: John Stultz Cc: Mark Gross Cc: linux-watchdog@vger.kernel.org Cc: linux-scsi@vger.kernel.org Cc: "Martin K. Petersen" Cc: Greg Kroah-Hartman Cc: "Rafael J. Wysocki" Cc: Oleg Nesterov Cc: Ralf Baechle Cc: Stefan Richter Cc: Michael Reed Cc: netdev@vger.kernel.org Cc: Tejun Heo Cc: Andrew Morton Cc: linuxppc-dev@lists.ozlabs.org Cc: Sudip Mukherjee Link: https://lkml.kernel.org/r/1507159627-127660-7-git-send-email-keescook@chromium.org --- arch/s390/kernel/lgr.c | 6 +++--- arch/s390/kernel/topology.c | 6 +++--- kernel/workqueue.c | 8 +++----- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/arch/s390/kernel/lgr.c b/arch/s390/kernel/lgr.c index ae7dff1..bf9622f 100644 --- a/arch/s390/kernel/lgr.c +++ b/arch/s390/kernel/lgr.c @@ -153,14 +153,13 @@ static void lgr_timer_set(void); /* * LGR timer callback */ -static void lgr_timer_fn(unsigned long ignored) +static void lgr_timer_fn(struct timer_list *unused) { lgr_info_log(); lgr_timer_set(); } -static struct timer_list lgr_timer = - TIMER_DEFERRED_INITIALIZER(lgr_timer_fn, 0, 0); +static struct timer_list lgr_timer; /* * Setup next LGR timer @@ -181,6 +180,7 @@ static int __init lgr_init(void) debug_register_view(lgr_dbf, &debug_hex_ascii_view); lgr_info_get(&lgr_info_last); debug_event(lgr_dbf, 1, &lgr_info_last, sizeof(lgr_info_last)); + timer_setup(&lgr_timer, lgr_timer_fn, TIMER_DEFERRABLE); lgr_timer_set(); return 0; } diff --git a/arch/s390/kernel/topology.c b/arch/s390/kernel/topology.c index ed0bdd2..d7ece98 100644 --- a/arch/s390/kernel/topology.c +++ b/arch/s390/kernel/topology.c @@ -320,15 +320,14 @@ static void topology_flush_work(void) flush_work(&topology_work); } -static void topology_timer_fn(unsigned long ignored) +static void topology_timer_fn(struct timer_list *unused) { if (ptf(PTF_CHECK)) topology_schedule_update(); set_topology_timer(); } -static struct timer_list topology_timer = - TIMER_DEFERRED_INITIALIZER(topology_timer_fn, 0, 0); +static struct timer_list topology_timer; static atomic_t topology_poll = ATOMIC_INIT(0); @@ -597,6 +596,7 @@ static struct ctl_table topology_dir_table[] = { static int __init topology_init(void) { + timer_setup(&topology_timer, topology_timer_fn, TIMER_DEFERRABLE); if (MACHINE_HAS_TOPOLOGY) set_topology_timer(); else diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 64d0edf..a5361fc 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -5390,11 +5390,8 @@ static void workqueue_sysfs_unregister(struct workqueue_struct *wq) { } */ #ifdef CONFIG_WQ_WATCHDOG -static void wq_watchdog_timer_fn(unsigned long data); - static unsigned long wq_watchdog_thresh = 30; -static struct timer_list wq_watchdog_timer = - TIMER_DEFERRED_INITIALIZER(wq_watchdog_timer_fn, 0, 0); +static struct timer_list wq_watchdog_timer; static unsigned long wq_watchdog_touched = INITIAL_JIFFIES; static DEFINE_PER_CPU(unsigned long, wq_watchdog_touched_cpu) = INITIAL_JIFFIES; @@ -5408,7 +5405,7 @@ static void wq_watchdog_reset_touched(void) per_cpu(wq_watchdog_touched_cpu, cpu) = jiffies; } -static void wq_watchdog_timer_fn(unsigned long data) +static void wq_watchdog_timer_fn(struct timer_list *unused) { unsigned long thresh = READ_ONCE(wq_watchdog_thresh) * HZ; bool lockup_detected = false; @@ -5510,6 +5507,7 @@ module_param_cb(watchdog_thresh, &wq_watchdog_thresh_ops, &wq_watchdog_thresh, static void wq_watchdog_init(void) { + timer_setup(&wq_watchdog_timer, wq_watchdog_timer_fn, TIMER_DEFERRABLE); wq_watchdog_set_thresh(wq_watchdog_thresh); }