staging: android: binder: Fix use of euid
Task credentials were moved and must be accessed through task_struct.cred Signed-off-by: J.R. Mauro <jrm8005@gmail.com> Cc: Arve Hjønnevåg <arve@android.com> Cc: Brian Swetland <swetland@google.com> Cc: Robert Love <rlove@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Родитель
a2bf2153cb
Коммит
9279bcc316
|
@ -1401,7 +1401,7 @@ binder_transaction(struct binder_proc *proc, struct binder_thread *thread,
|
|||
t->from = thread;
|
||||
else
|
||||
t->from = NULL;
|
||||
t->sender_euid = proc->tsk->euid;
|
||||
t->sender_euid = proc->tsk->cred->euid;
|
||||
t->to_proc = target_proc;
|
||||
t->to_thread = target_thread;
|
||||
t->code = tr->code;
|
||||
|
@ -2593,16 +2593,16 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
|||
goto err;
|
||||
}
|
||||
if (binder_context_mgr_uid != -1) {
|
||||
if (binder_context_mgr_uid != current->euid) {
|
||||
if (binder_context_mgr_uid != current->cred->euid) {
|
||||
printk(KERN_ERR "binder: BINDER_SET_"
|
||||
"CONTEXT_MGR bad uid %d != %d\n",
|
||||
current->euid,
|
||||
current->cred->euid,
|
||||
binder_context_mgr_uid);
|
||||
ret = -EPERM;
|
||||
goto err;
|
||||
}
|
||||
} else
|
||||
binder_context_mgr_uid = current->euid;
|
||||
binder_context_mgr_uid = current->cred->euid;
|
||||
binder_context_mgr_node = binder_new_node(proc, NULL, NULL);
|
||||
if (binder_context_mgr_node == NULL) {
|
||||
ret = -ENOMEM;
|
||||
|
|
Загрузка…
Ссылка в новой задаче