Skip to contentSkip to conversation

Patch "timerfd: Handle relative timers with CONFIG_TIME_LOW_RES proper" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Feb 24, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

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

timerfd: Handle relative timers with CONFIG_TIME_LOW_RES proper

to the 4.4-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:
timerfd-handle-relative-timers-with-config_time_low_res-proper.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From b62526ed11a1fe3861ab98d40b7fdab8981d788a Mon Sep 17 00:00:00 2001

From: Thomas Gleixner <[email protected]>
Date: Thu, 14 Jan 2016 16:54:46 +0000
Subject: timerfd: Handle relative timers with CONFIG_TIME_LOW_RES proper

From: Thomas Gleixner <[email protected]>

commit b62526ed11a1fe3861ab98d40b7fdab8981d788a upstream.

Helge reported that a relative timer can return a remaining time larger than the programmed relative time on parisc and other architectures which have CONFIG_TIME_LOW_RES set. This happens because we add a jiffie to the resulting expiry time to prevent short timeouts.

Use the new function hrtimer_expires_remaining_adjusted() to calculate the remaining time. It takes that extra added time into account for relative timers.

---
 fs/timerfd.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
fs/timerfd.c +1 -1
@@ -153,7 +153,7 @@ static ktime_t timerfd_get_remaining(str
 	if (isalarm(ctx))
 		remaining = alarm_expires_remaining(&ctx->t.alarm);
 	else
-		remaining = hrtimer_expires_remaining(&ctx->t.tmr);
+		remaining = hrtimer_expires_remaining_adjusted(&ctx->t.tmr);
 
 	return remaining.tv64 < 0 ? ktime_set(0, 0): remaining;
 }

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/itimers-handle-relative-timers-with-config_time_low_res-proper.patch queue-4.4/futex-drop-refcount-if-requeue_pi-acquired-the-rtmutex.patch queue-4.4/x86-mm-pat-avoid-truncation-when-converting-cpa-numpages-to-address.patch queue-4.4/x86-uaccess-64-handle-the-caching-of-4-byte-nocache-copies-properly-in-__copy_user_nocache.patch queue-4.4/timerfd-handle-relative-timers-with-config_time_low_res-proper.patch queue-4.4/posix-timers-handle-relative-timers-with-config_time_low_res-proper.patch queue-4.4/x86-mm-fix-vmalloc_fault-to-handle-large-pages-properly.patch queue-4.4/x86-mm-fix-types-used-in-pgprot-cacheability-flags-translations.patch queue-4.4/x86-uaccess-64-make-the-__copy_user_nocache-assembly-code-more-readable.patch