From: "Paul E. McKenney" <paulmck@kernel.org>
To: Anna-Maria Behnsen <anna-maria@linutronix.de>,
Frederic Weisbecker <frederic@kernel.org>,
Thomas Gleixner <tglx@kernel.org>
Cc: linux-kernel@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>,
linux-aio@kvack.org, linux-fsdevel@vger.kernel.org,
io-uring@vger.kernel.org, netdev@vger.kernel.org,
kernel-team@meta.com, "Paul E. McKenney" <paulmck@kernel.org>
Subject: [PATCH 11/12] hrtimer: Mark the hrtimer_sleeper structure's ->task field __private
Date: Fri, 18 Sep 2026 17:14:27 -0700 [thread overview]
Message-ID: <20260919001428.3133388-11-paulmck@kernel.org> (raw)
In-Reply-To: <5dca353c-6b3f-4d01-8808-bef2c0dd7af7@paulmck-laptop>
The hrtimer_sleeper structure's ->task field is now used only by the
hrtimer_sleeper_task_get() and hrtimer_sleeper_task_set() functions,
and there is no reason for it to be directly accessed anywhere else.
Therefore, mark this field __private and use ACCESS_PRIVATE() in
hrtimer_sleeper_task_get() and hrtimer_sleeper_task_set().
Suggested-by: Thomas Gleixner <tglx@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Anna-Maria Behnsen <anna-maria@linutronix.de>
Cc: Frederic Weisbecker <frederic@kernel.org>
---
include/linux/hrtimer.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
index d44549c0a2c1..cad8482337cb 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -72,7 +72,7 @@ enum hrtimer_mode {
*/
struct hrtimer_sleeper {
struct hrtimer timer;
- struct task_struct *task;
+ struct task_struct *__private task;
};
static inline void hrtimer_set_expires(struct hrtimer *timer, ktime_t time)
@@ -322,11 +322,11 @@ extern int schedule_hrtimeout_range_clock(ktime_t *expires,
extern int schedule_hrtimeout(ktime_t *expires, const enum hrtimer_mode mode);
static inline struct task_struct *hrtimer_sleeper_task_get(struct hrtimer_sleeper *sl)
{
- return READ_ONCE(sl->task);
+ return READ_ONCE(ACCESS_PRIVATE(sl, task));
}
static inline void hrtimer_sleeper_task_set(struct hrtimer_sleeper *sl, struct task_struct *t)
{
- WRITE_ONCE(sl->task, t);
+ WRITE_ONCE(ACCESS_PRIVATE(sl, task), t);
}
/* Soft interrupt function to run the hrtimer queues: */
--
2.40.1
next prev parent reply other threads:[~2026-09-19 0:14 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-19 0:13 [PATCH v2] Fix data races on hrtimer_sleeper ->task field Paul E. McKenney
2026-09-19 0:14 ` [PATCH 01/12] hrtimer: Mark data-racy accesses to " Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` [PATCH 02/12] aio: Use accessor for " Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` [PATCH 03/12] wait: " Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` [PATCH 04/12] io-uring/rw: " Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` [PATCH 05/12] futex: Use accessor for hrtimer_sleeper ->task field in waitwake.c Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` [PATCH 06/12] timers: Use accessor for hrtimer_sleeper ->task field in sleep_timeout.c Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` [PATCH 07/12] net: pktgen: Use accessor for hrtimer_sleeper ->task field Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` [PATCH 08/12] rtmutex: " Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` [PATCH 09/12] futex: Use accessor for hrtimer_sleeper ->task field in requeue Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` [PATCH 10/12] hrtimer: Update hrtimer_resolution only if value changes Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` Paul E. McKenney [this message]
2026-09-29 19:05 ` [tip: timers/core] hrtimer: Mark the hrtimer_sleeper structure's ->task field __private tip-bot2 for Paul E. McKenney
2026-09-19 0:14 ` [PATCH 12/12] hrtimer: Apply READ_ONCE() to lockless base->running loads Paul E. McKenney
2026-09-29 19:05 ` [tip: timers/core] " tip-bot2 for Paul E. McKenney
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=20260919001428.3133388-11-paulmck@kernel.org \
--to=paulmck@kernel.org \
--cc=anna-maria@linutronix.de \
--cc=frederic@kernel.org \
--cc=io-uring@vger.kernel.org \
--cc=kernel-team@meta.com \
--cc=linux-aio@kvack.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@kernel.org \
/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.