x86/mce: Convert timers to use timer_setup()
PATCH 1/1 x86/mce: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Adjust sanity-check WARN to make sure the triggering timer matches the current CPU timer.
---
This requires commit 686fef928bba ("timer: Prepare to change timer callback argument type") in v4.14-rc3, but should be otherwise stand-alone.
--- arch/x86/kernel/cpu/mcheck/mce.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
arch/x86/kernel/cpu/mcheck/mce.c +5 -8
@@ -1367,13 +1367,12 @@ static void __start_timer(struct timer_list *t, unsigned long interval)local_irq_restore (flags); } -static void mce_timer_fn (unsigned long data) +static void mce_timer_fn (struct timer_list *t) { -struct timer_list *t =this_cpu_ptr (&mce_timer); -int cpu =smp_processor_id (); +struct timer_list *cpu_t =this_cpu_ptr (&mce_timer);unsigned long iv; -WARN_ON (cpu != data); +WARN_ON (cpu_t != t); iv =__this_cpu_read (mce_next_interval);
@@ -1763,17 +1762,15 @@ static void mce_start_timer(struct timer_list *t)static void __mcheck_cpu_setup_timer (void ) {struct timer_list *t =this_cpu_ptr (&mce_timer); -unsigned int cpu =smp_processor_id (); -setup_pinned_timer (t, mce_timer_fn, cpu); +timer_setup (t, mce_timer_fn,TIMER_PINNED ); }static void __mcheck_cpu_init_timer (void ) {struct timer_list *t =this_cpu_ptr (&mce_timer); -unsigned int cpu =smp_processor_id (); -setup_pinned_timer (t, mce_timer_fn, cpu); +timer_setup (t, mce_timer_fn,TIMER_PINNED );mce_start_timer (t); }
Quoted 13 lines · Kees Cook
In preparation for unconditionally passing the struct
timer_listpointer to all timer callbacks, switch to using the newtimer_setup()andfrom_timer()to pass the timer pointer explicitly. Adjust sanity-check WARN to make sure the triggering timer matches the current CPU timer.Cc Tony Luck <[email protected]>Cc Borislav Petkov <[email protected]>Cc Ingo Molnar <[email protected]>Cc "H. Peter Anvin" <[email protected]>Cc Thomas Gleixner <[email protected]>Signed-off-by Kees Cook <[email protected]>
Quoted 7 lines
---
This requires commit686fef928bba("timer: Prepare to change timer callback argument type") in v4.14-rc3, but should be otherwise stand-alone.--- arch/x86/kernel/cpu/mcheck/mce.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
tip-bot for Kees Cook
merge botx86/mce: Convert timers to use timer_setup()
Commit-ID: 92bb6cb1403015b1b9520332c8f2ad983c220f67 Gitweb: https://git.kernel.org/tip/92bb6cb1403015b1b9520332c8f2ad983c220f67 Author: Kees Cook <[email protected]> AuthorDate: Wed, 4 Oct 2017 17:54:25 -0700 Committer: Thomas Gleixner <[email protected]> CommitDate: Thu, 5 Oct 2017 14:34:55 +0200
x86/mce: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Adjust sanity-check WARN to make sure the triggering timer matches the current CPU timer.
--- arch/x86/kernel/cpu/mcheck/mce.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
arch/x86/kernel/cpu/mcheck/mce.c +5 -8
@@ -1367,13 +1367,12 @@ static void __start_timer(struct timer_list *t, unsigned long interval)local_irq_restore (flags); } -static void mce_timer_fn (unsigned long data) +static void mce_timer_fn (struct timer_list *t) { -struct timer_list *t =this_cpu_ptr (&mce_timer); -int cpu =smp_processor_id (); +struct timer_list *cpu_t =this_cpu_ptr (&mce_timer);unsigned long iv; -WARN_ON (cpu != data); +WARN_ON (cpu_t != t); iv =__this_cpu_read (mce_next_interval);
@@ -1763,17 +1762,15 @@ static void mce_start_timer(struct timer_list *t)static void __mcheck_cpu_setup_timer (void ) {struct timer_list *t =this_cpu_ptr (&mce_timer); -unsigned int cpu =smp_processor_id (); -setup_pinned_timer (t, mce_timer_fn, cpu); +timer_setup (t, mce_timer_fn,TIMER_PINNED ); }static void __mcheck_cpu_init_timer (void ) {struct timer_list *t =this_cpu_ptr (&mce_timer); -unsigned int cpu =smp_processor_id (); -setup_pinned_timer (t, mce_timer_fn, cpu); +timer_setup (t, mce_timer_fn,TIMER_PINNED );mce_start_timer (t); }