All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@kernel.org>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Hyunwoo Kim <imv4bel@gmail.com>, Oleg Nesterov <oleg@redhat.com>,
	Frederic Weisbecker <frederic@kernel.org>,
	Christian Brauner <brauner@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	John Stultz <jstultz@google.com>, Ingo Molnar <mingo@kernel.org>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Alan Stern <stern@rowland.harvard.edu>
Subject: [patch V3 3/8] posix-timers: Move posixtimer_exec_cleanup() out of exec.c
Date: Fri, 11 Sep 2026 11:09:21 +0200	[thread overview]
Message-ID: <20260911090541.680668094@kernel.org> (raw)
In-Reply-To: 20260911090341.949101445@kernel.org

From: Thomas Gleixner <tglx@kernel.org>

Move it to the POSIX timer code and provide a proper stub when POSIX timers
are disabled in Kconfig.

No functional change.

Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>

---
 fs/exec.c                    |   13 +------------
 include/linux/posix-timers.h |    3 +++
 kernel/time/posix-timers.c   |    9 +++++++++
 3 files changed, 13 insertions(+), 12 deletions(-)
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1115,17 +1115,6 @@ static struct file *bprm_identity_file(c
 	return bprm->file;
 }
 
-static void posixtimer_exec(struct task_struct *me)
-{
-#ifdef CONFIG_POSIX_TIMERS
-	spin_lock_irq(&me->sighand->siglock);
-	posix_cpu_timers_exit(me);
-	spin_unlock_irq(&me->sighand->siglock);
-	exit_itimers(me);
-	flush_itimer_signals();
-#endif
-}
-
 /*
  * Calling this is the point of no return. None of the failures will be
  * seen by userspace since either the process is already taking a fatal
@@ -1171,7 +1160,7 @@ int begin_new_exec(struct linux_binprm *
 	 * timer would not remove an enqueued timer because the TID lookup
 	 * of the old TID fails.
 	 */
-	posixtimer_exec(me);
+	posixtimer_exec();
 
 	/* see the comment in check_unsafe_exec() */
 	current->fs->in_exec = 0;
--- a/include/linux/posix-timers.h
+++ b/include/linux/posix-timers.h
@@ -232,6 +232,8 @@ void set_process_cpu_timer(struct task_s
 int update_rlimit_cpu(struct task_struct *task, unsigned long rlim_new);
 
 #ifdef CONFIG_POSIX_TIMERS
+void posixtimer_exec(void);
+
 static inline void posixtimer_putref(struct k_itimer *tmr)
 {
 	if (rcuref_put(&tmr->rcuref))
@@ -259,6 +261,7 @@ static inline bool posixtimer_valid(cons
 	return !(val & 0x1UL);
 }
 #else  /* CONFIG_POSIX_TIMERS */
+static inline void posixtimer_exec(void) { }
 static inline void posixtimer_sigqueue_getref(struct sigqueue *q) { }
 static inline void posixtimer_sigqueue_putref(struct sigqueue *q) { }
 #endif /* !CONFIG_POSIX_TIMERS */
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
@@ -1120,6 +1120,15 @@ void exit_itimers(struct task_struct *ts
 	}
 }
 
+void posixtimer_exec(void)
+{
+	scoped_guard(spinlock_irq, &current->sighand->siglock)
+		posix_cpu_timers_exit(current);
+
+	exit_itimers(current);
+	flush_itimer_signals();
+}
+
 SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,
 		const struct __kernel_timespec __user *, tp)
 {




  parent reply	other threads:[~2026-09-11  9:09 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-11  9:09 [patch V3 0/8] exec/exit: POSIX timer related bugfixes and related cleanups Thomas Gleixner
2026-09-11  9:09 ` [patch V3 1/8] signal: Prevent exec() race Thomas Gleixner
2026-09-11 13:08   ` Frederic Weisbecker
2026-09-16 16:48   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2026-09-16 20:37   ` [patch V3 1/8] " Andrea Parri
2026-09-11  9:09 ` [patch V3 2/8] exec: Cleanup POSIX timers right after de_thread() Thomas Gleixner
2026-09-16 16:48   ` [tip: timers/core] " tip-bot2 for Hyunwoo Kim
2026-09-11  9:09 ` Thomas Gleixner [this message]
2026-09-11 13:58   ` [patch V3 3/8] posix-timers: Move posixtimer_exec_cleanup() out of exec.c Oleg Nesterov
2026-09-16 16:48   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2026-09-16 20:31   ` [patch V3 3/8] " Andrea Parri
2026-09-11  9:09 ` [patch V3 4/8] posix-timers: Move POSIX timer group exit related code out of do_exit() Thomas Gleixner
2026-09-11 13:59   ` Oleg Nesterov
2026-09-16 16:48   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2026-09-11  9:09 ` [patch V3 5/8] posix-cpu-timers: Move inlines out of public header Thomas Gleixner
2026-09-11 13:59   ` Oleg Nesterov
2026-09-16 16:48   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2026-09-11  9:09 ` [patch V3 6/8] posix-cpu-timers: Use PF_EXITING to indicate exit Thomas Gleixner
2026-09-11 13:15   ` Frederic Weisbecker
2026-09-11 14:00   ` Oleg Nesterov
2026-09-16 16:48   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2026-09-16 20:21   ` [patch V3 6/8] " Andrea Parri
2026-09-11  9:09 ` [patch V3 7/8] posix-cpu-timers: Prevent enqueueing when PF_EXITING is set Thomas Gleixner
2026-09-12 21:09   ` Frederic Weisbecker
2026-09-16 16:48   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2026-09-11  9:09 ` [patch V3 8/8] posix-timers: Handle exit in do_exit() completely Thomas Gleixner
2026-09-11 14:02   ` Oleg Nesterov
2026-09-12 22:17   ` Frederic Weisbecker
2026-09-16 16:48   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2026-09-16 20:12   ` [patch V3 8/8] " Andrea Parri
2026-09-12 14:20 ` [patch V3 0/8] exec/exit: POSIX timer related bugfixes and related cleanups Kijo 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=20260911090541.680668094@kernel.org \
    --to=tglx@kernel.org \
    --cc=brauner@kernel.org \
    --cc=ebiederm@xmission.com \
    --cc=frederic@kernel.org \
    --cc=imv4bel@gmail.com \
    --cc=jstultz@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=stern@rowland.harvard.edu \
    --cc=viro@zeniv.linux.org.uk \
    /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.