staging: android: binder.c: Use more appropriate functions for euid retrieval
PATCH 1/1 staging: android: binder.c: Use more appropriate functions for euid retrieval
Instead of getting the reference to whole credential structure, use task_euid() and current_euid() to get it.
--- drivers/staging/android/binder.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
drivers/staging/android/binder.c +7 -7
@@ -1326,7 +1326,6 @@ static void binder_transaction(struct binder_proc *proc,struct binder_transaction *in_reply_to =NULL ;struct binder_transaction_log_entry *e;uint32_t return_error; -const struct cred *cred =__task_cred (proc->tsk); e =binder_transaction_log_add (&binder_transaction_log); e->call_type = reply ?2 : !!(tr->flags &TF_ONE_WAY );
@@ -1468,7 +1467,7 @@ static void binder_transaction(struct binder_proc *proc, t->from = thread; else t->from = NULL; - t->sender_euid = cred->euid; + t->sender_euid =task_euid (proc->tsk); t->to_proc = target_proc; t->to_thread = target_thread; t->code = tr->code;
@@ -2602,7 +2601,7 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)struct binder_thread *thread;unsigned int size =_IOC_SIZE (cmd);void __user *ubuf = (void __user *)arg; -const struct cred *cred =current_cred (); +kuid_t curr_euid =current_euid ();/*pr_info("binder_ioctl: %d:%d %x %lx\n", proc->pid, current->pid, cmd, arg);*/
@@ -2688,15 +2687,16 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) goto err; }if (uid_valid (binder_context_mgr_uid)) { -if (!uid_eq (binder_context_mgr_uid, cred->euid)) { +if (!uid_eq (binder_context_mgr_uid, curr_euid)) {pr_err ("BINDER_SET_CONTEXT_MGR bad uid %d != %d\n" , -from_kuid (&init_user_ns, cred->euid), +from_kuid (&init_user_ns, curr_euid),from_kuid (&init_user_ns, binder_context_mgr_uid)); ret = -EPERM ; goto err; } - }else - binder_context_mgr_uid = cred->euid; + }else { + binder_context_mgr_uid = curr_euid; + } binder_context_mgr_node =binder_new_node (proc,0 ,0 );if (binder_context_mgr_node ==NULL ) { ret = -ENOMEM ;
Signature · 1 line
1.9.1
Greg KH
maintainerQuoted 7 lines · Tair Rzayev
Instead of getting the reference to whole credential structure, use
task_euid()andcurrent_euid()to get it.Signed-off-by Tair Rzayev <[email protected]>--- drivers/staging/android/binder.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
What kernel tree did you make this against? It doesn't seem to match up with what is in my staging-next branch to merge with Linus for the next release, so please work against that one.
Oh, and I think this is already been done, although in a bit different way there, please check to make sure it is correct.
thanks,
greg k-h
Quoted 3 lines · Greg KH
What kernel tree did you make this against? It doesn't seem to match up with what is in my staging-next branch to merge with Linus for the next release, so please work against that one.
Made against staging-next branch of your linux-next staging tree.
Quoted 2 lines
Oh, and I think this is already been done, although in a bit different way there, please check to make sure it is correct.
Yes, I have noticed the changes after I have made the patch but I thought mine are a bit cleaner so I have rebased the patch against the changes that are already applied.
Greg KH
maintainerQuoted 8 lines · Tair Rzayev
Quoted 3 lines · Greg KH
What kernel tree did you make this against? It doesn't seem to match up with what is in my staging-next branch to merge with Linus for the next release, so please work against that one.
Made against staging-next branch of your linux-next staging tree.
Hm, it doesn't apply there:
checking file drivers/staging/android/binder.c Reversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n]
Skipping patch.
4 out of 4 hunks ignored
Are you sure you got the right branch?
Quoted 6 lines
Quoted 2 lines
Oh, and I think this is already been done, although in a bit different way there, please check to make sure it is correct.
Yes, I have noticed the changes after I have made the patch but I thought mine are a bit cleaner so I have rebased the patch against the changes that are already applied.
Something went wrong when you made this :(
Care to try again?
thanks,
greg k-h
Greg KH
maintainerQuoted 20 lines · Greg KH
Quoted 8 lines · Tair Rzayev
Quoted 3 lines · Greg KH
What kernel tree did you make this against? It doesn't seem to match up with what is in my staging-next branch to merge with Linus for the next release, so please work against that one.
Made against staging-next branch of your linux-next staging tree.
Hm, it doesn't apply there:
checking file
drivers/staging/android/binder.cReversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n]
Skipping patch.
4 out of 4 hunks ignoredAre you sure you got the right branch?
Quoted 8 lines
Quoted 6 lines
Quoted 2 lines
Oh, and I think this is already been done, although in a bit different way there, please check to make sure it is correct.
Yes, I have noticed the changes after I have made the patch but I thought mine are a bit cleaner so I have rebased the patch against the changes that are already applied.
Something went wrong when you made this :(
Oh crap, _I_ was looking at the wrong branch here, nevermind, this applies just fine.
Sorry for the noise...
greg k-h