linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] restart_block: simplify expiration timestamps
@ 2025-11-10  9:38 Thomas Weißschuh
  2025-11-10  9:38 ` [PATCH 1/3] select: store end_time as timespec64 in restart block Thomas Weißschuh
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Thomas Weißschuh @ 2025-11-10  9:38 UTC (permalink / raw)
  To: Alexander Viro, Christian Brauner, Jan Kara, Thomas Gleixner,
	Ingo Molnar, Peter Zijlstra, Darren Hart, Davidlohr Bueso,
	André Almeida, Anna-Maria Behnsen, Frederic Weisbecker
  Cc: linux-fsdevel, linux-kernel, Thomas Weißschuh

Various expiration timestamps are stored in the restart block as
different types than their respective subsystem is using.

Align the types.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
Thomas Weißschuh (3):
      select: store end_time as timespec64 in restart block
      futex: Store time as ktime_t in restart block
      hrtimer: Store time as ktime_t in restart block

 fs/select.c                    | 12 ++++--------
 include/linux/restart_block.h  |  8 ++++----
 kernel/futex/waitwake.c        |  9 ++++-----
 kernel/time/hrtimer.c          |  4 ++--
 kernel/time/posix-cpu-timers.c |  4 ++--
 5 files changed, 16 insertions(+), 21 deletions(-)
---
base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
change-id: 20251107-restart-block-expiration-52915454d881

Best regards,
-- 
Thomas Weißschuh <thomas.weissschuh@linutronix.de>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/3] select: store end_time as timespec64 in restart block
  2025-11-10  9:38 [PATCH 0/3] restart_block: simplify expiration timestamps Thomas Weißschuh
@ 2025-11-10  9:38 ` Thomas Weißschuh
  2025-11-10 11:07   ` Jan Kara
  2025-11-10  9:38 ` [PATCH 2/3] futex: Store time as ktime_t " Thomas Weißschuh
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Thomas Weißschuh @ 2025-11-10  9:38 UTC (permalink / raw)
  To: Alexander Viro, Christian Brauner, Jan Kara, Thomas Gleixner,
	Ingo Molnar, Peter Zijlstra, Darren Hart, Davidlohr Bueso,
	André Almeida, Anna-Maria Behnsen, Frederic Weisbecker
  Cc: linux-fsdevel, linux-kernel, Thomas Weißschuh

Storing the end time seconds as 'unsigned long' can lead to truncation
on 32-bit architectures if assigned from the 64-bit timespec64::tv_sec.
As the select() core uses timespec64 consistently, also use that in the
restart block.

This also allows the simplification of the accessors.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 fs/select.c                   | 12 ++++--------
 include/linux/restart_block.h |  4 ++--
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/fs/select.c b/fs/select.c
index 082cf60c7e2357dfd419c2128e38da95e3ef2ef3..5c3ce16bd251df9dfeaa562620483a257d7fd5d8 100644
--- a/fs/select.c
+++ b/fs/select.c
@@ -1042,14 +1042,11 @@ static long do_restart_poll(struct restart_block *restart_block)
 {
 	struct pollfd __user *ufds = restart_block->poll.ufds;
 	int nfds = restart_block->poll.nfds;
-	struct timespec64 *to = NULL, end_time;
+	struct timespec64 *to = NULL;
 	int ret;
 
-	if (restart_block->poll.has_timeout) {
-		end_time.tv_sec = restart_block->poll.tv_sec;
-		end_time.tv_nsec = restart_block->poll.tv_nsec;
-		to = &end_time;
-	}
+	if (restart_block->poll.has_timeout)
+		to = &restart_block->poll.end_time;
 
 	ret = do_sys_poll(ufds, nfds, to);
 
@@ -1081,8 +1078,7 @@ SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, nfds,
 		restart_block->poll.nfds = nfds;
 
 		if (timeout_msecs >= 0) {
-			restart_block->poll.tv_sec = end_time.tv_sec;
-			restart_block->poll.tv_nsec = end_time.tv_nsec;
+			restart_block->poll.end_time = end_time;
 			restart_block->poll.has_timeout = 1;
 		} else
 			restart_block->poll.has_timeout = 0;
diff --git a/include/linux/restart_block.h b/include/linux/restart_block.h
index 7e50bbc94e476c599eb1185e02b6e87854fc3eb8..0798a4ae67c6c75749c38c4673ab8ea012261319 100644
--- a/include/linux/restart_block.h
+++ b/include/linux/restart_block.h
@@ -6,6 +6,7 @@
 #define __LINUX_RESTART_BLOCK_H
 
 #include <linux/compiler.h>
+#include <linux/time64.h>
 #include <linux/types.h>
 
 struct __kernel_timespec;
@@ -50,8 +51,7 @@ struct restart_block {
 			struct pollfd __user *ufds;
 			int nfds;
 			int has_timeout;
-			unsigned long tv_sec;
-			unsigned long tv_nsec;
+			struct timespec64 end_time;
 		} poll;
 	};
 };

-- 
2.51.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 2/3] futex: Store time as ktime_t in restart block
  2025-11-10  9:38 [PATCH 0/3] restart_block: simplify expiration timestamps Thomas Weißschuh
  2025-11-10  9:38 ` [PATCH 1/3] select: store end_time as timespec64 in restart block Thomas Weißschuh
@ 2025-11-10  9:38 ` Thomas Weißschuh
  2025-11-10 11:09   ` Jan Kara
  2025-11-10  9:38 ` [PATCH 3/3] hrtimer: " Thomas Weißschuh
  2025-11-11  9:48 ` [PATCH 0/3] restart_block: simplify expiration timestamps Christian Brauner
  3 siblings, 1 reply; 9+ messages in thread
From: Thomas Weißschuh @ 2025-11-10  9:38 UTC (permalink / raw)
  To: Alexander Viro, Christian Brauner, Jan Kara, Thomas Gleixner,
	Ingo Molnar, Peter Zijlstra, Darren Hart, Davidlohr Bueso,
	André Almeida, Anna-Maria Behnsen, Frederic Weisbecker
  Cc: linux-fsdevel, linux-kernel, Thomas Weißschuh

The futex core uses ktime_t to represent times,
use that also for the restart block.

This also allows the simplification of the accessors.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 include/linux/restart_block.h | 2 +-
 kernel/futex/waitwake.c       | 9 ++++-----
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/include/linux/restart_block.h b/include/linux/restart_block.h
index 0798a4ae67c6c75749c38c4673ab8ea012261319..3c2bd13f609120a8a914f6e738ffea97bf72c32d 100644
--- a/include/linux/restart_block.h
+++ b/include/linux/restart_block.h
@@ -33,7 +33,7 @@ struct restart_block {
 			u32 val;
 			u32 flags;
 			u32 bitset;
-			u64 time;
+			ktime_t time;
 			u32 __user *uaddr2;
 		} futex;
 		/* For nanosleep */
diff --git a/kernel/futex/waitwake.c b/kernel/futex/waitwake.c
index e2bbe5509ec27a18785227358d4ff8d8f913ddc1..1c2dd03f11ec4e5d34d1a9f67ef01e05604b3bac 100644
--- a/kernel/futex/waitwake.c
+++ b/kernel/futex/waitwake.c
@@ -738,12 +738,11 @@ int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val, ktime_t *abs_time
 static long futex_wait_restart(struct restart_block *restart)
 {
 	u32 __user *uaddr = restart->futex.uaddr;
-	ktime_t t, *tp = NULL;
+	ktime_t *tp = NULL;
+
+	if (restart->futex.flags & FLAGS_HAS_TIMEOUT)
+		tp = &restart->futex.time;
 
-	if (restart->futex.flags & FLAGS_HAS_TIMEOUT) {
-		t = restart->futex.time;
-		tp = &t;
-	}
 	restart->fn = do_no_restart_syscall;
 
 	return (long)futex_wait(uaddr, restart->futex.flags,

-- 
2.51.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH 3/3] hrtimer: Store time as ktime_t in restart block
  2025-11-10  9:38 [PATCH 0/3] restart_block: simplify expiration timestamps Thomas Weißschuh
  2025-11-10  9:38 ` [PATCH 1/3] select: store end_time as timespec64 in restart block Thomas Weißschuh
  2025-11-10  9:38 ` [PATCH 2/3] futex: Store time as ktime_t " Thomas Weißschuh
@ 2025-11-10  9:38 ` Thomas Weißschuh
  2025-11-11  9:48 ` [PATCH 0/3] restart_block: simplify expiration timestamps Christian Brauner
  3 siblings, 0 replies; 9+ messages in thread
From: Thomas Weißschuh @ 2025-11-10  9:38 UTC (permalink / raw)
  To: Alexander Viro, Christian Brauner, Jan Kara, Thomas Gleixner,
	Ingo Molnar, Peter Zijlstra, Darren Hart, Davidlohr Bueso,
	André Almeida, Anna-Maria Behnsen, Frederic Weisbecker
  Cc: linux-fsdevel, linux-kernel, Thomas Weißschuh

The hrtimer core uses ktime_t to represent times, use that also for the
restart block. CPU timers internally use nanoseconds instead of ktime_t
but use the same restart block, so use the correct accessors for those.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 include/linux/restart_block.h  | 2 +-
 kernel/time/hrtimer.c          | 4 ++--
 kernel/time/posix-cpu-timers.c | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/linux/restart_block.h b/include/linux/restart_block.h
index 3c2bd13f609120a8a914f6e738ffea97bf72c32d..9b262109726d25ca1d7871d916280a7bf336355a 100644
--- a/include/linux/restart_block.h
+++ b/include/linux/restart_block.h
@@ -44,7 +44,7 @@ struct restart_block {
 				struct __kernel_timespec __user *rmtp;
 				struct old_timespec32 __user *compat_rmtp;
 			};
-			u64 expires;
+			ktime_t expires;
 		} nanosleep;
 		/* For poll */
 		struct {
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
index 88aa062b8a556db071dad74d34ba5953c3e57339..f8ea8c8fc89529889ab3a4d0a9acaec872856c85 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -2145,7 +2145,7 @@ static long __sched hrtimer_nanosleep_restart(struct restart_block *restart)
 	int ret;
 
 	hrtimer_setup_sleeper_on_stack(&t, restart->nanosleep.clockid, HRTIMER_MODE_ABS);
-	hrtimer_set_expires_tv64(&t.timer, restart->nanosleep.expires);
+	hrtimer_set_expires(&t.timer, restart->nanosleep.expires);
 	ret = do_nanosleep(&t, HRTIMER_MODE_ABS);
 	destroy_hrtimer_on_stack(&t.timer);
 	return ret;
@@ -2172,7 +2172,7 @@ long hrtimer_nanosleep(ktime_t rqtp, const enum hrtimer_mode mode,
 
 	restart = &current->restart_block;
 	restart->nanosleep.clockid = t.timer.base->clockid;
-	restart->nanosleep.expires = hrtimer_get_expires_tv64(&t.timer);
+	restart->nanosleep.expires = hrtimer_get_expires(&t.timer);
 	set_restart_fn(restart, hrtimer_nanosleep_restart);
 out:
 	destroy_hrtimer_on_stack(&t.timer);
diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c
index 2e5b89d7d8660585460490557021dfbf7799740d..0de2bb7cbec01c423fc98e78c5a0aeb5c910381d 100644
--- a/kernel/time/posix-cpu-timers.c
+++ b/kernel/time/posix-cpu-timers.c
@@ -1557,7 +1557,7 @@ static int do_cpu_nanosleep(const clockid_t which_clock, int flags,
 		 * Report back to the user the time still remaining.
 		 */
 		restart = &current->restart_block;
-		restart->nanosleep.expires = expires;
+		restart->nanosleep.expires = ns_to_ktime(expires);
 		if (restart->nanosleep.type != TT_NONE)
 			error = nanosleep_copyout(restart, &it.it_value);
 	}
@@ -1599,7 +1599,7 @@ static long posix_cpu_nsleep_restart(struct restart_block *restart_block)
 	clockid_t which_clock = restart_block->nanosleep.clockid;
 	struct timespec64 t;
 
-	t = ns_to_timespec64(restart_block->nanosleep.expires);
+	t = ktime_to_timespec64(restart_block->nanosleep.expires);
 
 	return do_cpu_nanosleep(which_clock, TIMER_ABSTIME, &t);
 }

-- 
2.51.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/3] select: store end_time as timespec64 in restart block
  2025-11-10  9:38 ` [PATCH 1/3] select: store end_time as timespec64 in restart block Thomas Weißschuh
@ 2025-11-10 11:07   ` Jan Kara
  0 siblings, 0 replies; 9+ messages in thread
From: Jan Kara @ 2025-11-10 11:07 UTC (permalink / raw)
  To: Thomas Weißschuh
  Cc: Alexander Viro, Christian Brauner, Jan Kara, Thomas Gleixner,
	Ingo Molnar, Peter Zijlstra, Darren Hart, Davidlohr Bueso,
	André Almeida, Anna-Maria Behnsen, Frederic Weisbecker,
	linux-fsdevel, linux-kernel

On Mon 10-11-25 10:38:51, Thomas Weißschuh wrote:
> Storing the end time seconds as 'unsigned long' can lead to truncation
> on 32-bit architectures if assigned from the 64-bit timespec64::tv_sec.
> As the select() core uses timespec64 consistently, also use that in the
> restart block.
> 
> This also allows the simplification of the accessors.
> 
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  fs/select.c                   | 12 ++++--------
>  include/linux/restart_block.h |  4 ++--
>  2 files changed, 6 insertions(+), 10 deletions(-)
> 
> diff --git a/fs/select.c b/fs/select.c
> index 082cf60c7e2357dfd419c2128e38da95e3ef2ef3..5c3ce16bd251df9dfeaa562620483a257d7fd5d8 100644
> --- a/fs/select.c
> +++ b/fs/select.c
> @@ -1042,14 +1042,11 @@ static long do_restart_poll(struct restart_block *restart_block)
>  {
>  	struct pollfd __user *ufds = restart_block->poll.ufds;
>  	int nfds = restart_block->poll.nfds;
> -	struct timespec64 *to = NULL, end_time;
> +	struct timespec64 *to = NULL;
>  	int ret;
>  
> -	if (restart_block->poll.has_timeout) {
> -		end_time.tv_sec = restart_block->poll.tv_sec;
> -		end_time.tv_nsec = restart_block->poll.tv_nsec;
> -		to = &end_time;
> -	}
> +	if (restart_block->poll.has_timeout)
> +		to = &restart_block->poll.end_time;
>  
>  	ret = do_sys_poll(ufds, nfds, to);
>  
> @@ -1081,8 +1078,7 @@ SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, nfds,
>  		restart_block->poll.nfds = nfds;
>  
>  		if (timeout_msecs >= 0) {
> -			restart_block->poll.tv_sec = end_time.tv_sec;
> -			restart_block->poll.tv_nsec = end_time.tv_nsec;
> +			restart_block->poll.end_time = end_time;
>  			restart_block->poll.has_timeout = 1;
>  		} else
>  			restart_block->poll.has_timeout = 0;
> diff --git a/include/linux/restart_block.h b/include/linux/restart_block.h
> index 7e50bbc94e476c599eb1185e02b6e87854fc3eb8..0798a4ae67c6c75749c38c4673ab8ea012261319 100644
> --- a/include/linux/restart_block.h
> +++ b/include/linux/restart_block.h
> @@ -6,6 +6,7 @@
>  #define __LINUX_RESTART_BLOCK_H
>  
>  #include <linux/compiler.h>
> +#include <linux/time64.h>
>  #include <linux/types.h>
>  
>  struct __kernel_timespec;
> @@ -50,8 +51,7 @@ struct restart_block {
>  			struct pollfd __user *ufds;
>  			int nfds;
>  			int has_timeout;
> -			unsigned long tv_sec;
> -			unsigned long tv_nsec;
> +			struct timespec64 end_time;
>  		} poll;
>  	};
>  };
> 
> -- 
> 2.51.0
> 
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/3] futex: Store time as ktime_t in restart block
  2025-11-10  9:38 ` [PATCH 2/3] futex: Store time as ktime_t " Thomas Weißschuh
@ 2025-11-10 11:09   ` Jan Kara
  0 siblings, 0 replies; 9+ messages in thread
From: Jan Kara @ 2025-11-10 11:09 UTC (permalink / raw)
  To: Thomas Weißschuh
  Cc: Alexander Viro, Christian Brauner, Jan Kara, Thomas Gleixner,
	Ingo Molnar, Peter Zijlstra, Darren Hart, Davidlohr Bueso,
	André Almeida, Anna-Maria Behnsen, Frederic Weisbecker,
	linux-fsdevel, linux-kernel

On Mon 10-11-25 10:38:52, Thomas Weißschuh wrote:
> The futex core uses ktime_t to represent times,
> use that also for the restart block.
> 
> This also allows the simplification of the accessors.
> 
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  include/linux/restart_block.h | 2 +-
>  kernel/futex/waitwake.c       | 9 ++++-----
>  2 files changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/include/linux/restart_block.h b/include/linux/restart_block.h
> index 0798a4ae67c6c75749c38c4673ab8ea012261319..3c2bd13f609120a8a914f6e738ffea97bf72c32d 100644
> --- a/include/linux/restart_block.h
> +++ b/include/linux/restart_block.h
> @@ -33,7 +33,7 @@ struct restart_block {
>  			u32 val;
>  			u32 flags;
>  			u32 bitset;
> -			u64 time;
> +			ktime_t time;
>  			u32 __user *uaddr2;
>  		} futex;
>  		/* For nanosleep */
> diff --git a/kernel/futex/waitwake.c b/kernel/futex/waitwake.c
> index e2bbe5509ec27a18785227358d4ff8d8f913ddc1..1c2dd03f11ec4e5d34d1a9f67ef01e05604b3bac 100644
> --- a/kernel/futex/waitwake.c
> +++ b/kernel/futex/waitwake.c
> @@ -738,12 +738,11 @@ int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val, ktime_t *abs_time
>  static long futex_wait_restart(struct restart_block *restart)
>  {
>  	u32 __user *uaddr = restart->futex.uaddr;
> -	ktime_t t, *tp = NULL;
> +	ktime_t *tp = NULL;
> +
> +	if (restart->futex.flags & FLAGS_HAS_TIMEOUT)
> +		tp = &restart->futex.time;
>  
> -	if (restart->futex.flags & FLAGS_HAS_TIMEOUT) {
> -		t = restart->futex.time;
> -		tp = &t;
> -	}
>  	restart->fn = do_no_restart_syscall;
>  
>  	return (long)futex_wait(uaddr, restart->futex.flags,
> 
> -- 
> 2.51.0
> 
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/3] restart_block: simplify expiration timestamps
  2025-11-10  9:38 [PATCH 0/3] restart_block: simplify expiration timestamps Thomas Weißschuh
                   ` (2 preceding siblings ...)
  2025-11-10  9:38 ` [PATCH 3/3] hrtimer: " Thomas Weißschuh
@ 2025-11-11  9:48 ` Christian Brauner
  2025-11-11  9:57   ` Peter Zijlstra
  2025-11-14 15:29   ` Thomas Gleixner
  3 siblings, 2 replies; 9+ messages in thread
From: Christian Brauner @ 2025-11-11  9:48 UTC (permalink / raw)
  To: Thomas Gleixner, Peter Zijlstra
  Cc: Thomas Weißschuh, Alexander Viro, Jan Kara, Ingo Molnar,
	Darren Hart, Davidlohr Bueso, André Almeida,
	Anna-Maria Behnsen, Frederic Weisbecker, linux-fsdevel,
	linux-kernel

On Mon, Nov 10, 2025 at 10:38:50AM +0100, Thomas Weißschuh wrote:
> Various expiration timestamps are stored in the restart block as
> different types than their respective subsystem is using.
> 
> Align the types.
> 
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> ---

@Thomas, @Peter, do the timer/futex changes look fine to you?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/3] restart_block: simplify expiration timestamps
  2025-11-11  9:48 ` [PATCH 0/3] restart_block: simplify expiration timestamps Christian Brauner
@ 2025-11-11  9:57   ` Peter Zijlstra
  2025-11-14 15:29   ` Thomas Gleixner
  1 sibling, 0 replies; 9+ messages in thread
From: Peter Zijlstra @ 2025-11-11  9:57 UTC (permalink / raw)
  To: Christian Brauner
  Cc: Thomas Gleixner, Thomas Weißschuh, Alexander Viro, Jan Kara,
	Ingo Molnar, Darren Hart, Davidlohr Bueso, André Almeida,
	Anna-Maria Behnsen, Frederic Weisbecker, linux-fsdevel,
	linux-kernel

On Tue, Nov 11, 2025 at 10:48:45AM +0100, Christian Brauner wrote:
> On Mon, Nov 10, 2025 at 10:38:50AM +0100, Thomas Weißschuh wrote:
> > Various expiration timestamps are stored in the restart block as
> > different types than their respective subsystem is using.
> > 
> > Align the types.
> > 
> > Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> > ---
> 
> @Thomas, @Peter, do the timer/futex changes look fine to you?

Yeah, I suppose. But I forever forget the restart block details.

That is, I don't object to the changes, but I need to spend more time to
ascertain correctness if that's the ask.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/3] restart_block: simplify expiration timestamps
  2025-11-11  9:48 ` [PATCH 0/3] restart_block: simplify expiration timestamps Christian Brauner
  2025-11-11  9:57   ` Peter Zijlstra
@ 2025-11-14 15:29   ` Thomas Gleixner
  1 sibling, 0 replies; 9+ messages in thread
From: Thomas Gleixner @ 2025-11-14 15:29 UTC (permalink / raw)
  To: Christian Brauner, Peter Zijlstra
  Cc: Thomas Weißschuh, Alexander Viro, Jan Kara, Ingo Molnar,
	Darren Hart, Davidlohr Bueso, André Almeida,
	Anna-Maria Behnsen, Frederic Weisbecker, linux-fsdevel,
	linux-kernel

On Tue, Nov 11 2025 at 10:48, Christian Brauner wrote:
> On Mon, Nov 10, 2025 at 10:38:50AM +0100, Thomas Weißschuh wrote:
>> Various expiration timestamps are stored in the restart block as
>> different types than their respective subsystem is using.
>> 
>> Align the types.
>> 
>> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
>> ---
>
> @Thomas, @Peter, do the timer/futex changes look fine to you?

I take them through tip as they are not conflicting with the poll part.

Thanks,

        tglx

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-11-14 15:29 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-10  9:38 [PATCH 0/3] restart_block: simplify expiration timestamps Thomas Weißschuh
2025-11-10  9:38 ` [PATCH 1/3] select: store end_time as timespec64 in restart block Thomas Weißschuh
2025-11-10 11:07   ` Jan Kara
2025-11-10  9:38 ` [PATCH 2/3] futex: Store time as ktime_t " Thomas Weißschuh
2025-11-10 11:09   ` Jan Kara
2025-11-10  9:38 ` [PATCH 3/3] hrtimer: " Thomas Weißschuh
2025-11-11  9:48 ` [PATCH 0/3] restart_block: simplify expiration timestamps Christian Brauner
2025-11-11  9:57   ` Peter Zijlstra
2025-11-14 15:29   ` Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).