|
@@ -17,6 +17,8 @@
|
|
|
#include <linux/cn_proc.h>
|
|
|
#include <linux/uidgid.h>
|
|
|
|
|
|
+#include <trace/hooks/creds.h>
|
|
|
+
|
|
|
#if 0
|
|
|
#define kdebug(FMT, ...) \
|
|
|
printk("[%-5.5s%5u] " FMT "\n", \
|
|
@@ -178,6 +180,7 @@ void exit_creds(struct task_struct *tsk)
|
|
|
key_put(tsk->cached_requested_key);
|
|
|
tsk->cached_requested_key = NULL;
|
|
|
#endif
|
|
|
+ trace_android_vh_exit_creds(tsk, cred);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -489,6 +492,7 @@ int commit_creds(struct cred *new)
|
|
|
atomic_inc(&new->user->processes);
|
|
|
rcu_assign_pointer(task->real_cred, new);
|
|
|
rcu_assign_pointer(task->cred, new);
|
|
|
+ trace_android_vh_commit_creds(task, new);
|
|
|
if (new->user != old->user)
|
|
|
atomic_dec(&old->user->processes);
|
|
|
alter_cred_subscribers(old, -2);
|
|
@@ -566,6 +570,7 @@ const struct cred *override_creds(const struct cred *new)
|
|
|
get_new_cred((struct cred *)new);
|
|
|
alter_cred_subscribers(new, 1);
|
|
|
rcu_assign_pointer(current->cred, new);
|
|
|
+ trace_android_vh_override_creds(current, new);
|
|
|
alter_cred_subscribers(old, -1);
|
|
|
|
|
|
kdebug("override_creds() = %p{%d,%d}", old,
|
|
@@ -594,6 +599,7 @@ void revert_creds(const struct cred *old)
|
|
|
validate_creds(override);
|
|
|
alter_cred_subscribers(old, 1);
|
|
|
rcu_assign_pointer(current->cred, old);
|
|
|
+ trace_android_vh_revert_creds(current, old);
|
|
|
alter_cred_subscribers(override, -1);
|
|
|
put_cred(override);
|
|
|
}
|