{"push_id":636862390,"size":2,"distinct_size":2,"ref":"refs/heads/cm-12.1","head":"b6ec70415c50f532da2f5b2389016b81f623197b","before":"69d4f240591bb89db81ebb8046001fbed3d96aa2","commits":[{"sha":"ad29d452cac208a51d753de85de3e83525fedef3","author":{"email":"d282495bfb62d367009a66784cabed6d13acc2f2@codeaurora.org","name":"Steve Muckle"},"message":"sched: fix race between try_to_wake_up() and move_task()\n\nUntil a task's state has been seen as interruptible/uninterruptible\nand it is no longer on_cpu, it is possible that the task may move\nto another CPU (load balancing may cause this). Here is an example\nwhere the race condition results in incorrect operation:\n\n- cpu 0 calls put_prev_task on task A, task A's state is TASK_RUNNING\n- cpu 0 runs task B, which attempts to wake up A\n- cpu 0 begins try_to_wake_up(), recording src_cpu for task A as cpu 0\n- cpu 1 then pulls task A (perhaps due to idle balance)\n- cpu 1 runs task A, which then sleeps, becoming INTERRUPTIBLE\n- cpu 0 continues in try_to_wake_up(), thinking task A's previous\n  cpu is 0, where it is actually 1\n- if select_task_rq returns cpu 0, task A will be woken up on cpu 0\n  without properly updating its cpu to 0 in set_task_cpu()\n\nCRs-Fixed: 665958\nChange-Id: Icee004cb320bd8edfc772d9f74e670a9d4978a99\nSigned-off-by: Steve Muckle <smuckle@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/zwliew/armani/commits/ad29d452cac208a51d753de85de3e83525fedef3"},{"sha":"b6ec70415c50f532da2f5b2389016b81f623197b","author":{"email":"69d4c67d027719823df1f8f9226c47bc05dc8998@codeaurora.org","name":"Srivatsa Vaddagiri"},"message":"sched: Fix reference to stale task_struct in try_to_wake_up()\n\ntry_to_wake_up() currently drops p->pi_lock and later checks for need\nto notify cpufreq governor on task migrations or wakeups. However the\nwoken task could exit between the time p->pi_lock is released and the\ntime the test for notification is run. As a result, the test for\nnotification could refer to an exited task. task_notify_on_migrate(p)\ncould thus lead to invalid memory reference.\n\nFix this by running the test for notification with task's pi_lock\nheld.\n\nChange-Id: I1c7a337473d2d8e79342a015a179174ce00702e1\nSigned-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>","distinct":true,"url":"https://api.github.com/repos/zwliew/armani/commits/b6ec70415c50f532da2f5b2389016b81f623197b"}]}