mirror of https://github.com/torvalds/linux.git
landlock: Log the TGID of the domain creator
As for other Audit's "pid" fields, Landlock should use the task's TGID instead of its TID. Fix this issue by keeping a reference to the TGID of the domain creator. Existing tests already check for the PID but only with the thread group leader, so always the TGID. A following patch adds dedicated tests for non-leader thread. Remove the current_real_cred() check which does not make sense because we only reference a struct pid, whereas a previous version did reference a struct cred instead. Cc: Christian Brauner <brauner@kernel.org> Cc: Paul Moore <paul@paul-moore.com> Reviewed-by: Günther Noack <gnoack3000@gmail.com> Link: https://lore.kernel.org/r/20250410171725.1265860-1-mic@digikod.net Signed-off-by: Mickaël Salaün <mic@digikod.net>
This commit is contained in:
parent
fe81536af3
commit
4767af82a0
|
|
@ -16,6 +16,7 @@
|
|||
#include <linux/path.h>
|
||||
#include <linux/pid.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/signal.h>
|
||||
#include <linux/uidgid.h>
|
||||
|
||||
#include "access.h"
|
||||
|
|
@ -99,8 +100,7 @@ static struct landlock_details *get_current_details(void)
|
|||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
memcpy(details->exe_path, path_str, path_size);
|
||||
WARN_ON_ONCE(current_cred() != current_real_cred());
|
||||
details->pid = get_pid(task_pid(current));
|
||||
details->pid = get_pid(task_tgid(current));
|
||||
details->uid = from_kuid(&init_user_ns, current_uid());
|
||||
get_task_comm(details->comm, current);
|
||||
return details;
|
||||
|
|
|
|||
Loading…
Reference in New Issue