{"push_id":865919223,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"5fdffda982a8529bf9c0fc6840200ceac538ddc5","before":"d359d12b24b33a51b57d0d67e3005a537521ed60","commits":[{"sha":"5fdffda982a8529bf9c0fc6840200ceac538ddc5","author":{"email":"fdd63d6d2cf1fcca4a32e9bdba550776ff3f9f3c@motorola.com","name":"Hong-Mei Li"},"message":"kernel: avoid adding non-thread-group task to LMK rbtree\n\nTo maintain the task adj RB tree, we add a task to the RB tree when fork,\nand delete it when exit. The place is exactly the same as the linear\np->tasks list, only when the task is thread_group_leader.\n\nBut to handle the oom_score_adj change case, which did not check the\nthread_group_leader, we may del/add a non-leader task to the RB tree.\nFinally leave the task in the RB tree, since we would not really delete\na non-leader task from the tree. The orphan task would finally be freed,\nand cause later use-after-free panic when accessing RB tree.\n\nSolution:\nMove the rbtree adj_node to signal_struct, which is shared between\ntask and all threads. This can make sure we only add one node for\na thread group.\n\nChange-Id: I1e8dfe490656408863b3726c7bc9e4ee6dc5abc1\nSigned-off-by: Hong-Mei Li <a21834@motorola.com>\nReviewed-on: http://gerrit.mot.com/754224\nSLTApproved: Slta Waiver <sltawvr@motorola.com>\nSME-Granted: SME Approvals Granted\nTested-by: Jira Key <jirakey@motorola.com>\nReviewed-by: Zhi-Ming Yuan <a14194@motorola.com>\nReviewed-by: Yi-Wei Zhao <gbjc64@motorola.com>\nSubmit-Approved: Jira Key <jirakey@motorola.com>","distinct":true,"url":"https://api.github.com/repos/dwander/N4-linaro-base/commits/5fdffda982a8529bf9c0fc6840200ceac538ddc5"}]}