Commit 7138a869 authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Thomas Gleixner
Browse files

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: default avatarThomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: default avatarThomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260330-timens-cleanup-v1-4-936e91c9dd30@linutronix.de
parent 6d89dc8b
Loading
Loading
Loading
Loading
+14 −16
Original line number Diff line number Diff line
@@ -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) {
	if (!nsproxy)
		return NULL;

	ns = nsproxy->time_ns;
	get_time_ns(ns);
	}
	task_unlock(task);

	return ns ? &ns->ns : NULL;
	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) {
	if (!nsproxy)
		return NULL;

	ns = nsproxy->time_ns_for_children;
	get_time_ns(ns);
	}
	task_unlock(task);

	return ns ? &ns->ns : NULL;
	return &ns->ns;
}

static void timens_put(struct ns_common *ns)