diff options
| author | Thomas Weißschuh <thomas.weissschuh@linutronix.de> | 2026-03-30 09:07:58 +0200 |
|---|---|---|
| committer | Thomas Gleixner <tglx@kernel.org> | 2026-04-01 17:13:36 +0200 |
| commit | 7138a8698a39e81eb153e05500823fff76d5b3bd (patch) | |
| tree | 040f2bffa327e62fefac7cbcbc1921b45232befa | |
| parent | 6d89dc8b1c559ee2662db86f7490ac52cab3030c (diff) | |
timens: Use task_lock guard in timens_get*()
Simplify the logic in timens_get*() by converting the task_lock
usage to a guard().
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260330-timens-cleanup-v1-4-936e91c9dd30@linutronix.de
| -rw-r--r-- | kernel/time/namespace.c | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/kernel/time/namespace.c b/kernel/time/namespace.c index 084ceec35495..4bca3f78c8ea 100644 --- a/kernel/time/namespace.c +++ b/kernel/time/namespace.c @@ -154,34 +154,32 @@ void free_time_ns(struct time_namespace *ns) static struct ns_common *timens_get(struct task_struct *task) { - struct time_namespace *ns = NULL; + struct time_namespace *ns; struct nsproxy *nsproxy; - task_lock(task); + guard(task_lock)(task); nsproxy = task->nsproxy; - if (nsproxy) { - ns = nsproxy->time_ns; - get_time_ns(ns); - } - task_unlock(task); + if (!nsproxy) + return NULL; - return ns ? &ns->ns : NULL; + ns = nsproxy->time_ns; + get_time_ns(ns); + return &ns->ns; } static struct ns_common *timens_for_children_get(struct task_struct *task) { - struct time_namespace *ns = NULL; + struct time_namespace *ns; struct nsproxy *nsproxy; - task_lock(task); + guard(task_lock)(task); nsproxy = task->nsproxy; - if (nsproxy) { - ns = nsproxy->time_ns_for_children; - get_time_ns(ns); - } - task_unlock(task); + if (!nsproxy) + return NULL; - return ns ? &ns->ns : NULL; + ns = nsproxy->time_ns_for_children; + get_time_ns(ns); + return &ns->ns; } static void timens_put(struct ns_common *ns) |
