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
This commit is contained in:
Thomas Weißschuh 2026-03-30 09:07:58 +02:00 committed by Thomas Gleixner
parent 6d89dc8b1c
commit 7138a8698a

View File

@ -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)