All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yi Cong <cong.yi@linux.dev>
To: hauke@hauke-m.de, backports@vger.kernel.org
Cc: Yi Cong <yicong@kylinos.cn>
Subject: [PATCH 01/20] headers: Add timer_shutdown_sync()
Date: Wed, 24 Jun 2026 15:38:25 +0800	[thread overview]
Message-ID: <20260624073844.2097504-2-cong.yi@linux.dev> (raw)
In-Reply-To: <20260624073844.2097504-1-cong.yi@linux.dev>

From: Yi Cong <yicong@kylinos.cn>

timer_shutdown_sync() was introduced in v6.2. On older kernels it needs
to delete the timer and set its function callback to NULL to emulate the
shutdown semantics (prevent the timer from being rearmed).

Signed-off-by: Yi Cong <yicong@kylinos.cn>
---
 backport/backport-include/linux/timer.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/backport/backport-include/linux/timer.h b/backport/backport-include/linux/timer.h
index 14467fb6..36e15340 100644
--- a/backport/backport-include/linux/timer.h
+++ b/backport/backport-include/linux/timer.h
@@ -79,4 +79,18 @@ static inline int timer_delete_sync(struct timer_list *timer)
 }
 #endif /* < 6.1.84 */
 
+#if LINUX_VERSION_IS_LESS(6,2,0)
+static inline int timer_shutdown_sync(struct timer_list *timer)
+{
+    int ret = del_timer_sync(timer);
+    /*
+     * Emulate shutdown semantics: mark as dead to prevent accidental reuse.
+     * Safe to do after del_timer_sync() because timer is no longer
+     * referenced by the timer subsystem.
+     */
+    timer->function = NULL;
+    return ret;
+}
+#endif
+
 #endif /* _BACKPORT_TIMER_H */
-- 
2.43.0


  reply	other threads:[~2026-06-24  7:40 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-24  7:38 [PATCH 00/20] backports: add missing backport-include header definitions Yi Cong
2026-06-24  7:38 ` Yi Cong [this message]
2026-06-24  7:38 ` [PATCH 02/20] headers: include linux/module.h from backport.h Yi Cong
2026-06-24  7:38 ` [PATCH 03/20] headers: add kstrtox.h backport Yi Cong
2026-06-24  7:38 ` [PATCH 04/20] headers: add get_random_u32_inclusive() for kernels < 6.2 Yi Cong
2026-06-24  7:38 ` [PATCH 05/20] headers: add genl_split_ops compat " Yi Cong
2026-06-24  7:38 ` [PATCH 06/20] headers: add thermal_zone_device_register_with_trips backport Yi Cong
2026-06-24  7:38 ` [PATCH 07/20] headers: add trace_sk_data_ready no-op for kernels < 6.0 Yi Cong
2026-06-24  7:38 ` [PATCH 08/20] headers: add dropreason-core.h backport for kernels < 5.17 Yi Cong
2026-06-24  7:38 ` [PATCH 09/20] headers: add dropreason.h backport for kernels < 6.0 Yi Cong
2026-06-24  7:38 ` [PATCH 10/20] headers: add kfree_skb_reason() backport for kernels < 5.17 Yi Cong
2026-06-24  7:38 ` [PATCH 11/20] headers: add thermal_zone_device_priv() backport for kernels < 6.4 Yi Cong
2026-06-24  7:38 ` [PATCH 12/20] headers: add genl_small_ops backport for kernels < 5.10 Yi Cong
2026-06-24  7:38 ` [PATCH 13/20] headers: add class_create() single-argument backport for kernels < 6.4 Yi Cong
2026-06-24  7:38 ` [PATCH 14/20] headers: add list_count_nodes() backport for kernels < 6.5 Yi Cong
2026-06-24  7:38 ` [PATCH 15/20] headers: add net/gso.h " Yi Cong
2026-06-24  7:38 ` [PATCH 16/20] headers: add vcalloc() backport for kernels < 5.18 Yi Cong
2026-06-24  7:38 ` [PATCH 17/20] headers: add __counted_by macro for kernels < 6.6 Yi Cong
2026-06-24  7:38 ` [PATCH 18/20] headers: add crypto/utils.h redirect " Yi Cong
2026-06-24  7:38 ` [PATCH 19/20] headers: add led_trigger_blink/oneshot value-to-pointer backport for kernels < 6.5 Yi Cong
2026-06-24  7:38 ` [PATCH 20/20] headers: add of_property_present backport for kernels < 5.18 Yi Cong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260624073844.2097504-2-cong.yi@linux.dev \
    --to=cong.yi@linux.dev \
    --cc=backports@vger.kernel.org \
    --cc=hauke@hauke-m.de \
    --cc=yicong@kylinos.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.