diff options
author | Varun Wadekar <vwadekar@nvidia.com> | 2013-04-18 10:41:29 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 13:09:48 -0700 |
commit | 009b77f597b5d12099d6747ed8fa82aa1089822c (patch) | |
tree | b80463d38b909aeb1b211f4b76804f6acef9df81 /security | |
parent | fcc1c2d5b9d7855b15fdc4ca928954b45072c6a5 (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.c | 2 |
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); |