summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2013-04-18 10:41:29 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 13:09:48 -0700
commit009b77f597b5d12099d6747ed8fa82aa1089822c (patch)
treeb80463d38b909aeb1b211f4b76804f6acef9df81 /security
parentfcc1c2d5b9d7855b15fdc4ca928954b45072c6a5 (diff)
security: nv_tee_driver: fix incorrect cpu affinity
The process using ns_driver sometimes can't be scheduled to available onlined cpu. It is because cpu affinity has changed after using ns_driver. ns_driver saves current cpu affinity by calling sched_getaffinity which returns cpu affinity AND-masked by onlined cpus. ns_driver should save just current cpu affinity, not cpu affinity AND-masked by onlined cpus. More info: http://git-master/r/198844 Change-Id: Iae89fa71f7c130f67dce908d916b80bba2fc84bb Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/220453 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Hyung Taek Ryoo <hryoo@nvidia.com> GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'security')
-rw-r--r--security/nv_tee_driver/tee_comms.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/security/nv_tee_driver/tee_comms.c b/security/nv_tee_driver/tee_comms.c
index 664e0c3e1853..e60f1fd485de 100644
--- a/security/nv_tee_driver/tee_comms.c
+++ b/security/nv_tee_driver/tee_comms.c
@@ -280,7 +280,7 @@ static void do_smc(struct tee_request *request)
cpumask_t local_cpu_mask = CPU_MASK_NONE;
cpu_set(0, local_cpu_mask);
- sched_getaffinity(0, &saved_cpu_mask);
+ cpumask_copy(&saved_cpu_mask, tsk_cpus_allowed(current));
ret = sched_setaffinity(0, &local_cpu_mask);
if (ret != 0)
pr_err("sched_setaffinity #1 -> 0x%lX", ret);