The branch stable/14 has been updated by bz:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=201f968de84dad8c28bfa5262854608e7001f49d

commit 201f968de84dad8c28bfa5262854608e7001f49d
Author:     Bjoern A. Zeeb <[email protected]>
AuthorDate: 2026-01-31 22:43:14 +0000
Commit:     Bjoern A. Zeeb <[email protected]>
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)
 {

Reply via email to