diff options
author | J.R. Mauro <jrm8005@gmail.com> | 2009-01-05 17:08:53 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-01-06 16:52:42 -0500 |
commit | 9279bcc31698842961a30bb05b00aef7236dd728 (patch) | |
tree | e175b67a2928883d338f8cdf025aaa61fe991276 /drivers | |
parent | a2bf2153cb2a2de341b6a87cb644870a5bde2a9d (diff) |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/android/binder.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/staging/android/binder.c b/drivers/staging/android/binder.c index 765048eaaf6d..7c3da5aa777a 100644 --- a/drivers/staging/android/binder.c +++ b/drivers/staging/android/binder.c | |||
@@ -1401,7 +1401,7 @@ binder_transaction(struct binder_proc *proc, struct binder_thread *thread, | |||
1401 | t->from = thread; | 1401 | t->from = thread; |
1402 | else | 1402 | else |
1403 | t->from = NULL; | 1403 | t->from = NULL; |
1404 | t->sender_euid = proc->tsk->euid; | 1404 | t->sender_euid = proc->tsk->cred->euid; |
1405 | t->to_proc = target_proc; | 1405 | t->to_proc = target_proc; |
1406 | t->to_thread = target_thread; | 1406 | t->to_thread = target_thread; |
1407 | t->code = tr->code; | 1407 | t->code = tr->code; |
@@ -2593,16 +2593,16 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | |||
2593 | goto err; | 2593 | goto err; |
2594 | } | 2594 | } |
2595 | if (binder_context_mgr_uid != -1) { | 2595 | if (binder_context_mgr_uid != -1) { |
2596 | if (binder_context_mgr_uid != current->euid) { | 2596 | if (binder_context_mgr_uid != current->cred->euid) { |
2597 | printk(KERN_ERR "binder: BINDER_SET_" | 2597 | printk(KERN_ERR "binder: BINDER_SET_" |
2598 | "CONTEXT_MGR bad uid %d != %d\n", | 2598 | "CONTEXT_MGR bad uid %d != %d\n", |
2599 | current->euid, | 2599 | current->cred->euid, |
2600 | binder_context_mgr_uid); | 2600 | binder_context_mgr_uid); |
2601 | ret = -EPERM; | 2601 | ret = -EPERM; |
2602 | goto err; | 2602 | goto err; |
2603 | } | 2603 | } |
2604 | } else | 2604 | } else |
2605 | binder_context_mgr_uid = current->euid; | 2605 | binder_context_mgr_uid = current->cred->euid; |
2606 | binder_context_mgr_node = binder_new_node(proc, NULL, NULL); | 2606 | binder_context_mgr_node = binder_new_node(proc, NULL, NULL); |
2607 | if (binder_context_mgr_node == NULL) { | 2607 | if (binder_context_mgr_node == NULL) { |
2608 | ret = -ENOMEM; | 2608 | ret = -ENOMEM; |