All of lore.kernel.org
 help / color / mirror / Atom feed
From: <gregkh@linuxfoundation.org>
To: Julia.Lawall@inria.fr,aha310510@gmail.com,akpm@linux-foundation.org,anna-maria@linutronix.de,arnd@arndb.de,gregkh@linuxfoundation.org,jacob.e.keller@intel.com,linux-staging@lists.linux.dev,linux@roeck-us.net,luiz.dentz@gmail.com,marcel@holtmann.org,maz@kernel.org,peterz@infradead.org,rostedt@goodmis.org,sboyd@kernel.org,tglx@linutronix.de,viresh.kumar@linaro.org,zouyipeng@huawei.com
Cc: <stable-commits@vger.kernel.org>
Subject: Patch "timers: Update the documentation to reflect on the new timer_shutdown() API" has been added to the 5.10-stable tree
Date: Thu, 23 Apr 2026 14:35:08 +0200	[thread overview]
Message-ID: <2026042308-dust-enchilada-79d9@gregkh> (raw)
In-Reply-To: <20260219171310.118170-14-aha310510@gmail.com>


This is a note to let you know that I've just added the patch titled

    timers: Update the documentation to reflect on the new timer_shutdown() API

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     timers-update-the-documentation-to-reflect-on-the-new-timer_shutdown-api.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


From aha310510@gmail.com Thu Feb 19 18:14:11 2026
From: Jeongjun Park <aha310510@gmail.com>
Date: Fri, 20 Feb 2026 02:13:08 +0900
Subject: timers: Update the documentation to reflect on the new timer_shutdown() API
To: stable@vger.kernel.org
Cc: gregkh@linuxfoundation.org, tglx@linutronix.de, Julia.Lawall@inria.fr, akpm@linux-foundation.org, anna-maria@linutronix.de, arnd@arndb.de, linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org, linux@roeck-us.net, luiz.dentz@gmail.com, marcel@holtmann.org, maz@kernel.org, peterz@infradead.org, rostedt@goodmis.org, sboyd@kernel.org, viresh.kumar@linaro.org, zouyipeng@huawei.com, aha310510@gmail.com, linux-staging@lists.linux.dev, Jacob Keller <jacob.e.keller@intel.com>
Message-ID: <20260219171310.118170-14-aha310510@gmail.com>

From: "Steven Rostedt (Google)" <rostedt@goodmis.org>

[ Upstream commit a31323bef2b66455920d054b160c17d4240f8fd4 ]

In order to make sure that a timer is not re-armed after it is stopped
before freeing, a new shutdown state is added to the timer code. The API
timer_shutdown_sync() and timer_shutdown() must be called before the
object that holds the timer can be freed.

Update the documentation to reflect this new workflow.

[ tglx: Updated to the new semantics and updated the zh_CN version ]

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Anna-Maria Behnsen <anna-maria@linutronix.de>
Link: https://lore.kernel.org/r/20221110064147.712934793@goodmis.org
Link: https://lore.kernel.org/r/20221123201625.375284489@linutronix.de
Signed-off-by: Jeongjun Park <aha310510@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 Documentation/RCU/Design/Requirements/Requirements.rst |    2 +-
 Documentation/core-api/local_ops.rst                   |    2 +-
 Documentation/kernel-hacking/locking.rst               |    5 +++++
 3 files changed, 7 insertions(+), 2 deletions(-)

--- a/Documentation/RCU/Design/Requirements/Requirements.rst
+++ b/Documentation/RCU/Design/Requirements/Requirements.rst
@@ -1858,7 +1858,7 @@ unloaded. After a given module has been
 one of its functions results in a segmentation fault. The module-unload
 functions must therefore cancel any delayed calls to loadable-module
 functions, for example, any outstanding ``mod_timer()`` must be dealt
-with via ``timer_delete_sync()`` or similar.
+with via ``timer_shutdown_sync()`` or similar.
 
 Unfortunately, there is no way to cancel an RCU callback; once you
 invoke ``call_rcu()``, the callback function is eventually going to be
--- a/Documentation/core-api/local_ops.rst
+++ b/Documentation/core-api/local_ops.rst
@@ -191,7 +191,7 @@ Here is a sample module which implements
 
     static void __exit test_exit(void)
     {
-            timer_delete_sync(&test_timer);
+            timer_shutdown_sync(&test_timer);
     }
 
     module_init(test_init);
--- a/Documentation/kernel-hacking/locking.rst
+++ b/Documentation/kernel-hacking/locking.rst
@@ -1016,6 +1016,11 @@ calling add_timer() at the end of their
 Because this is a fairly common case which is prone to races, you should
 use timer_delete_sync() (``include/linux/timer.h``) to handle this case.
 
+Before freeing a timer, timer_shutdown() or timer_shutdown_sync() should be
+called which will keep it from being rearmed. Any subsequent attempt to
+rearm the timer will be silently ignored by the core code.
+
+
 Locking Speed
 =============
 


Patches currently in stable-queue which might be from aha310510@gmail.com are

queue-5.10/timers-update-the-documentation-to-reflect-on-the-new-timer_shutdown-api.patch
queue-5.10/clocksource-drivers-arm_arch_timer-do-not-use-timer-namespace-for-timer_shutdown-function.patch
queue-5.10/timers-split-del_timer-to-prepare-for-shutdown-mode.patch
queue-5.10/arm-spear-do-not-use-timer-namespace-for-timer_shutdown-function.patch
queue-5.10/media-as102-fix-to-not-free-memory-after-the-device-is-registered-in-as102_usb_probe.patch
queue-5.10/timers-add-shutdown-mechanism-to-the-internal-functions.patch
queue-5.10/timers-provide-timer_shutdown.patch
queue-5.10/timers-rename-del_timer-to-timer_delete.patch
queue-5.10/timers-replace-bug_on-s.patch
queue-5.10/bluetooth-hci_qca-fix-the-teardown-problem-for-real.patch
queue-5.10/timers-fix-null-function-pointer-race-in-timer_shutdown_sync.patch
queue-5.10/documentation-replace-del_timer-del_timer_sync.patch
queue-5.10/documentation-remove-bogus-claim-about-del_timer_sync.patch
queue-5.10/timers-silently-ignore-timers-with-a-null-function.patch
queue-5.10/timers-get-rid-of-del_singleshot_timer_sync.patch
queue-5.10/media-hackrf-fix-to-not-free-memory-after-the-device-is-registered-in-hackrf_probe.patch
queue-5.10/clocksource-drivers-sp804-do-not-use-timer-namespace-for-timer_shutdown-function.patch

  reply	other threads:[~2026-04-23 12:35 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-19 17:12 [PATCH 5.10.y 00/15] timers: Provide timer_shutdown[_sync]() Jeongjun Park
2026-02-19 17:12 ` [PATCH 5.10.y 01/15] Documentation: Remove bogus claim about del_timer_sync() Jeongjun Park
2026-04-23 12:35   ` Patch "Documentation: Remove bogus claim about del_timer_sync()" has been added to the 5.10-stable tree gregkh
2026-02-19 17:12 ` [PATCH 5.10.y 02/15] ARM: spear: Do not use timer namespace for timer_shutdown() function Jeongjun Park
2026-04-23 12:35   ` Patch "ARM: spear: Do not use timer namespace for timer_shutdown() function" has been added to the 5.10-stable tree gregkh
2026-02-19 17:12 ` [PATCH 5.10.y 03/15] clocksource/drivers/arm_arch_timer: Do not use timer namespace for timer_shutdown() function Jeongjun Park
2026-04-23 12:35   ` Patch "clocksource/drivers/arm_arch_timer: Do not use timer namespace for timer_shutdown() function" has been added to the 5.10-stable tree gregkh
2026-02-19 17:12 ` [PATCH 5.10.y 04/15] clocksource/drivers/sp804: Do not use timer namespace for timer_shutdown() function Jeongjun Park
2026-04-23 12:35   ` Patch "clocksource/drivers/sp804: Do not use timer namespace for timer_shutdown() function" has been added to the 5.10-stable tree gregkh
2026-02-19 17:13 ` [PATCH 5.10.y 05/15] timers: Get rid of del_singleshot_timer_sync() Jeongjun Park
2026-04-23 12:35   ` Patch "timers: Get rid of del_singleshot_timer_sync()" has been added to the 5.10-stable tree gregkh
2026-02-19 17:13 ` [PATCH 5.10.y 06/15] timers: Replace BUG_ON()s Jeongjun Park
2026-04-23 12:35   ` Patch "timers: Replace BUG_ON()s" has been added to the 5.10-stable tree gregkh
2026-02-19 17:13 ` [PATCH 5.10.y 07/15] timers: Rename del_timer() to timer_delete() Jeongjun Park
2026-04-23 12:35   ` Patch "timers: Rename del_timer() to timer_delete()" has been added to the 5.10-stable tree gregkh
2026-02-19 17:13 ` [PATCH 5.10.y 08/15] Documentation: Replace del_timer/del_timer_sync() Jeongjun Park
2026-04-23 12:35   ` Patch "Documentation: Replace del_timer/del_timer_sync()" has been added to the 5.10-stable tree gregkh
2026-02-19 17:13 ` [PATCH 5.10.y 09/15] timers: Silently ignore timers with a NULL function Jeongjun Park
2026-04-23 12:35   ` Patch "timers: Silently ignore timers with a NULL function" has been added to the 5.10-stable tree gregkh
2026-02-19 17:13 ` [PATCH 5.10.y 10/15] timers: Split [try_to_]del_timer[_sync]() to prepare for shutdown mode Jeongjun Park
2026-04-23 12:35   ` Patch "timers: Split [try_to_]del_timer[_sync]() to prepare for shutdown mode" has been added to the 5.10-stable tree gregkh
2026-02-19 17:13 ` [PATCH 5.10.y 11/15] timers: Add shutdown mechanism to the internal functions Jeongjun Park
2026-04-23 12:35   ` Patch "timers: Add shutdown mechanism to the internal functions" has been added to the 5.10-stable tree gregkh
2026-02-19 17:13 ` [PATCH 5.10.y 12/15] timers: Provide timer_shutdown[_sync]() Jeongjun Park
2026-04-23 12:35   ` Patch "timers: Provide timer_shutdown[_sync]()" has been added to the 5.10-stable tree gregkh
2026-02-19 17:13 ` [PATCH 5.10.y 13/15] timers: Update the documentation to reflect on the new timer_shutdown() API Jeongjun Park
2026-04-23 12:35   ` gregkh [this message]
2026-02-19 17:13 ` [PATCH 5.10.y 14/15] Bluetooth: hci_qca: Fix the teardown problem for real Jeongjun Park
2026-04-23 12:35   ` Patch "Bluetooth: hci_qca: Fix the teardown problem for real" has been added to the 5.10-stable tree gregkh
2026-02-19 17:13 ` [PATCH 5.10.y 15/15] timers: Fix NULL function pointer race in timer_shutdown_sync() Jeongjun Park
2026-02-19 17:17   ` Jeongjun Park
2026-04-23 12:35   ` Patch "timers: Fix NULL function pointer race in timer_shutdown_sync()" has been added to the 5.10-stable tree gregkh
2026-04-23 12:49 ` [PATCH 5.10.y 00/15] timers: Provide timer_shutdown[_sync]() Greg KH
2026-04-23 13:36   ` Jeongjun Park
2026-04-23 13:43     ` Greg KH
2026-04-23 14:07       ` Jeongjun Park

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=2026042308-dust-enchilada-79d9@gregkh \
    --to=gregkh@linuxfoundation.org \
    --cc=Julia.Lawall@inria.fr \
    --cc=aha310510@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=anna-maria@linutronix.de \
    --cc=arnd@arndb.de \
    --cc=jacob.e.keller@intel.com \
    --cc=linux-staging@lists.linux.dev \
    --cc=linux@roeck-us.net \
    --cc=luiz.dentz@gmail.com \
    --cc=marcel@holtmann.org \
    --cc=maz@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=sboyd@kernel.org \
    --cc=stable-commits@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=viresh.kumar@linaro.org \
    --cc=zouyipeng@huawei.com \
    /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.