From c7d1404443ac0917021ddedaa0867a67d7a4dee0 Mon Sep 17 00:00:00 2001 From: XiYuhao Date: Mon, 27 Dec 2021 09:21:25 +0000 Subject: [PATCH] =?UTF-8?q?binder=E9=A9=B1=E5=8A=A8=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=AF=B9tokenid=E7=9A=84=E8=8E=B7=E5=8F=96=E4=BC=A0=E9=80=92?= =?UTF-8?q?=20Signed-off-by:=20Xi=5FYuhao=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- drivers/android/binder.c | 6 ++++++ include/uapi/linux/android/binder.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/drivers/android/binder.c b/drivers/android/binder.c index d9977ce0be76..0910dbc2b0d8 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -582,6 +582,8 @@ struct binder_transaction { long priority; long saved_priority; kuid_t sender_euid; + u64 sender_tokenid; + u64 first_tokenid; struct list_head fd_fixups; binder_uintptr_t security_ctx; /** @@ -3088,6 +3090,8 @@ static void binder_transaction(struct binder_proc *proc, else t->from = NULL; t->sender_euid = task_euid(proc->tsk); + t->sender_tokenid = task_cred_xxx((proc->tsk), token); + t->first_tokenid = task_cred_xxx((proc->tsk), ftoken); t->to_proc = target_proc; t->to_thread = target_thread; t->code = tr->code; @@ -4447,6 +4451,8 @@ static int binder_thread_read(struct binder_proc *proc, trd->code = t->code; trd->flags = t->flags; trd->sender_euid = from_kuid(current_user_ns(), t->sender_euid); + trd->sender_tokenid = t->sender_tokenid; + trd->first_tokenid = t->first_tokenid; t_from = binder_get_txn_from(t); if (t_from) { diff --git a/include/uapi/linux/android/binder.h b/include/uapi/linux/android/binder.h index ec84ad106568..f5562c5a53ba 100644 --- a/include/uapi/linux/android/binder.h +++ b/include/uapi/linux/android/binder.h @@ -268,6 +268,8 @@ struct binder_transaction_data { __u32 flags; pid_t sender_pid; uid_t sender_euid; + __u64 sender_tokenid; + __u64 first_tokenid; binder_size_t data_size; /* number of bytes of data */ binder_size_t offsets_size; /* number of bytes of offsets */ -- Gitee