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:
parent
a2bf2153cb
commit
9279bcc316
|
@ -1401,7 +1401,7 @@ binder_transaction(struct binder_proc *proc, struct binder_thread *thread,
|
||||||
t->from = thread;
|
t->from = thread;
|
||||||
else
|
else
|
||||||
t->from = NULL;
|
t->from = NULL;
|
||||||
t->sender_euid = proc->tsk->euid;
|
t->sender_euid = proc->tsk->cred->euid;
|
||||||
t->to_proc = target_proc;
|
t->to_proc = target_proc;
|
||||||
t->to_thread = target_thread;
|
t->to_thread = target_thread;
|
||||||
t->code = tr->code;
|
t->code = tr->code;
|
||||||
|
@ -2593,16 +2593,16 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
if (binder_context_mgr_uid != -1) {
|
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_"
|
printk(KERN_ERR "binder: BINDER_SET_"
|
||||||
"CONTEXT_MGR bad uid %d != %d\n",
|
"CONTEXT_MGR bad uid %d != %d\n",
|
||||||
current->euid,
|
current->cred->euid,
|
||||||
binder_context_mgr_uid);
|
binder_context_mgr_uid);
|
||||||
ret = -EPERM;
|
ret = -EPERM;
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
binder_context_mgr_uid = current->euid;
|
binder_context_mgr_uid = current->cred->euid;
|
||||||
binder_context_mgr_node = binder_new_node(proc, NULL, NULL);
|
binder_context_mgr_node = binder_new_node(proc, NULL, NULL);
|
||||||
if (binder_context_mgr_node == NULL) {
|
if (binder_context_mgr_node == NULL) {
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
|
Loading…
Reference in New Issue