From 6a3b5e2d938334805210e4ca8ca31a6d79335ad9 Mon Sep 17 00:00:00 2001 From: Xi_Yuhao Date: Fri, 14 Jan 2022 11:01:43 +0800 Subject: [PATCH] binder add tokenid transport Signed-off-by: Xi_Yuhao --- drivers/android/binder.c | 12 ++++++++++++ include/uapi/linux/android/binder.h | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/drivers/android/binder.c b/drivers/android/binder.c index d9977ce0be76..a8f6411ac967 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -582,6 +582,10 @@ struct binder_transaction { long priority; long saved_priority; kuid_t sender_euid; +#ifdef CONFIG_ACCESS_TOKENID + u64 sender_tokenid; + u64 first_tokenid; +#endif /* CONFIG_ACCESS_TOKENID */ struct list_head fd_fixups; binder_uintptr_t security_ctx; /** @@ -3088,6 +3092,10 @@ static void binder_transaction(struct binder_proc *proc, else t->from = NULL; t->sender_euid = task_euid(proc->tsk); +#ifdef CONFIG_ACCESS_TOKENID + t->sender_tokenid = current->token; + t->first_tokenid = current->token; +#endif /* CONFIG_ACCESS_TOKENID */ t->to_proc = target_proc; t->to_thread = target_thread; t->code = tr->code; @@ -4447,6 +4455,10 @@ 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); +#ifdef CONFIG_ACCESS_TOKENID + trd->sender_tokenid = t->sender_tokenid; + trd->first_tokenid = t->first_tokenid; +#endif /* CONFIG_ACCESS_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..42b680448f5c 100644 --- a/include/uapi/linux/android/binder.h +++ b/include/uapi/linux/android/binder.h @@ -268,6 +268,10 @@ struct binder_transaction_data { __u32 flags; pid_t sender_pid; uid_t sender_euid; +#ifdef CONFIG_ACCESS_TOKENID + __u64 sender_tokenid; + __u64 first_tokenid; +#endif /* CONFIG_ACCESS_TOKENID */ binder_size_t data_size; /* number of bytes of data */ binder_size_t offsets_size; /* number of bytes of offsets */ -- Gitee