git: 201f968de84d - stable/14 - LinuxKPI: timer KPI *_timer -> timer_* (restore symbols)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 01 Feb 2026 16:46:05 UTC
The branch stable/14 has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=201f968de84dad8c28bfa5262854608e7001f49d
commit 201f968de84dad8c28bfa5262854608e7001f49d
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2026-01-31 22:43:14 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2026-02-01 16:44:52 +0000
LinuxKPI: timer KPI *_timer -> timer_* (restore symbols)
In c84bfaa2531870a023fa9b267a765b9518ed3350 the symbols for the old
timer KPI were removed and replaced by inline functions as backup.
This breaks kernel modules (such as drm-kmod, though for that there
should be a rebuild in the package repo given a __FreeBSD_version
bump) as symbols are missing now. Restore the symbols for the stable
branch.
This is a direct commit for the fix.
Reported by: nyan
Reviewed by: nyan
Fixes: c84bfaa25318
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55027
---
sys/compat/linuxkpi/common/include/linux/timer.h | 14 ++------------
sys/compat/linuxkpi/common/src/linux_compat.c | 12 ++++++++++++
2 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/sys/compat/linuxkpi/common/include/linux/timer.h b/sys/compat/linuxkpi/common/include/linux/timer.h
index 9ab30f3003ac..b1bcbe2756f9 100644
--- a/sys/compat/linuxkpi/common/include/linux/timer.h
+++ b/sys/compat/linuxkpi/common/include/linux/timer.h
@@ -84,23 +84,13 @@ extern unsigned long linux_timer_hz_mask;
extern int mod_timer(struct timer_list *, int);
extern void add_timer(struct timer_list *);
extern void add_timer_on(struct timer_list *, int cpu);
+extern int del_timer(struct timer_list *);
+extern int del_timer_sync(struct timer_list *);
extern int timer_delete(struct timer_list *);
extern int timer_delete_sync(struct timer_list *);
extern int timer_shutdown_sync(struct timer_list *);
-static inline int
-del_timer(struct timer_list *tl)
-{
- return (timer_delete(tl));
-}
-
-static inline int
-del_timer_sync(struct timer_list *tl)
-{
- return (timer_delete_sync(tl));
-}
-
#define timer_pending(timer) callout_pending(&(timer)->callout)
#define round_jiffies(j) \
((int)(((j) + linux_timer_hz_mask) & ~linux_timer_hz_mask))
diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c
index e5e3d7929759..032a12a427c0 100644
--- a/sys/compat/linuxkpi/common/src/linux_compat.c
+++ b/sys/compat/linuxkpi/common/src/linux_compat.c
@@ -2069,6 +2069,18 @@ timer_delete_sync(struct timer_list *timer)
return (1);
}
+int
+del_timer(struct timer_list *timer)
+{
+ return (timer_delete(timer));
+}
+
+int
+del_timer_sync(struct timer_list *timer)
+{
+ return (timer_delete_sync(timer));
+}
+
int
timer_shutdown_sync(struct timer_list *timer)
{