mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 22:02:02 +00:00
timens: additional helper functions for boottime offset handling
Provide functions for time_namespace to subtract the boottime offset from a timespec64 as well as to apply the boottime offset to u64 types in nanoseconds. Signed-off-by: Michael Weiß <michael.weiss@aisec.fraunhofer.de> Reviewed-by: Andrei Vagin <avagin@gmail.com> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Christian Brauner <christian.brauner@ubuntu.com> Link: https://lore.kernel.org/r/20201027204258.7869-2-michael.weiss@aisec.fraunhofer.de
This commit is contained in:
parent
3cea11cd5e
commit
31909e3330
1 changed files with 22 additions and 0 deletions
|
@ -77,6 +77,20 @@ static inline void timens_add_boottime(struct timespec64 *ts)
|
|||
*ts = timespec64_add(*ts, ns_offsets->boottime);
|
||||
}
|
||||
|
||||
static inline u64 timens_add_boottime_ns(u64 nsec)
|
||||
{
|
||||
struct timens_offsets *ns_offsets = ¤t->nsproxy->time_ns->offsets;
|
||||
|
||||
return nsec + timespec64_to_ns(&ns_offsets->boottime);
|
||||
}
|
||||
|
||||
static inline void timens_sub_boottime(struct timespec64 *ts)
|
||||
{
|
||||
struct timens_offsets *ns_offsets = ¤t->nsproxy->time_ns->offsets;
|
||||
|
||||
*ts = timespec64_sub(*ts, ns_offsets->boottime);
|
||||
}
|
||||
|
||||
ktime_t do_timens_ktime_to_host(clockid_t clockid, ktime_t tim,
|
||||
struct timens_offsets *offsets);
|
||||
|
||||
|
@ -130,6 +144,14 @@ static inline int timens_on_fork(struct nsproxy *nsproxy,
|
|||
|
||||
static inline void timens_add_monotonic(struct timespec64 *ts) { }
|
||||
static inline void timens_add_boottime(struct timespec64 *ts) { }
|
||||
|
||||
static inline u64 timens_add_boottime_ns(u64 nsec)
|
||||
{
|
||||
return nsec;
|
||||
}
|
||||
|
||||
static inline void timens_sub_boottime(struct timespec64 *ts) { }
|
||||
|
||||
static inline ktime_t timens_ktime_to_host(clockid_t clockid, ktime_t tim)
|
||||
{
|
||||
return tim;
|
||||
|
|
Loading…
Reference in a new issue