From 2587385ace149623e3122717dc5707f21a697d48 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 22 Jul 2024 12:32:24 +0000 Subject: [PATCH] Revert "timers: Rename del_timer() to timer_delete()" This reverts commit b086d1e82fcd4a815a646e3f4c5fd2b03a817c70 which is commit bb663f0f3c396c6d05f6c5eeeea96ced20ff112e upstream. It breaks the Android kernel abi by turning del_timer() into an inline function, which breaks the abi. Fix this by putting it back as needed AND fix up the only use of this new function in net/hsr/hsr_device.c which is what caused this commit to be backported to 6.1.91 in the first place. Bug: 161946584 Change-Id: I033a9b5d57acaffdfc1973f6f77bc4e92675b7e4 Signed-off-by: Greg Kroah-Hartman --- include/linux/timer.h | 15 +-------------- kernel/time/timer.c | 6 +++--- net/hsr/hsr_device.c | 2 +- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/include/linux/timer.h b/include/linux/timer.h index ef68e9530450..713980697e56 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h @@ -173,6 +173,7 @@ static inline int timer_pending(const struct timer_list * timer) } extern void add_timer_on(struct timer_list *timer, int cpu); +extern int del_timer(struct timer_list * timer); extern int mod_timer(struct timer_list *timer, unsigned long expires); extern int mod_timer_pending(struct timer_list *timer, unsigned long expires); extern int timer_reduce(struct timer_list *timer, unsigned long expires); @@ -187,7 +188,6 @@ extern void add_timer(struct timer_list *timer); extern int try_to_del_timer_sync(struct timer_list *timer); extern int timer_delete_sync(struct timer_list *timer); -extern int timer_delete(struct timer_list *timer); /** * del_timer_sync - Delete a pending timer and wait for a running callback @@ -202,19 +202,6 @@ static inline int del_timer_sync(struct timer_list *timer) return timer_delete_sync(timer); } -/** - * del_timer - Delete a pending timer - * @timer: The timer to be deleted - * - * See timer_delete() for detailed explanation. - * - * Do not use in new code. Use timer_delete() instead. - */ -static inline int del_timer(struct timer_list *timer) -{ - return timer_delete(timer); -} - extern void init_timers(void); struct hrtimer; extern enum hrtimer_restart it_real_fn(struct hrtimer *); diff --git a/kernel/time/timer.c b/kernel/time/timer.c index dee9702f7713..10f5cda7c0b1 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c @@ -1261,7 +1261,7 @@ void add_timer_on(struct timer_list *timer, int cpu) EXPORT_SYMBOL_GPL(add_timer_on); /** - * timer_delete - Deactivate a timer + * del_timer - Deactivate a timer. * @timer: The timer to be deactivated * * The function only deactivates a pending timer, but contrary to @@ -1274,7 +1274,7 @@ EXPORT_SYMBOL_GPL(add_timer_on); * * %0 - The timer was not pending * * %1 - The timer was pending and deactivated */ -int timer_delete(struct timer_list *timer) +int del_timer(struct timer_list *timer) { struct timer_base *base; unsigned long flags; @@ -1290,7 +1290,7 @@ int timer_delete(struct timer_list *timer) return ret; } -EXPORT_SYMBOL(timer_delete); +EXPORT_SYMBOL(del_timer); /** * try_to_del_timer_sync - Try to deactivate a timer diff --git a/net/hsr/hsr_device.c b/net/hsr/hsr_device.c index ad75724b69ad..31eb69cbf90d 100644 --- a/net/hsr/hsr_device.c +++ b/net/hsr/hsr_device.c @@ -85,7 +85,7 @@ static void hsr_check_announce(struct net_device *hsr_dev) } } else { /* Deactivate the announce timer */ - timer_delete(&hsr->announce_timer); + del_timer(&hsr->announce_timer); } }