Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fix from Ingo Molnar:
"Fix a NULL pointer dereference crash in certain environments"

* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched/fair: Do not re-read ->h_load_next during hierarchical load calculation

+3 -3
+3 -3
kernel/sched/fair.c
··· 7784 7784 if (cfs_rq->last_h_load_update == now) 7785 7785 return; 7786 7786 7787 - cfs_rq->h_load_next = NULL; 7787 + WRITE_ONCE(cfs_rq->h_load_next, NULL); 7788 7788 for_each_sched_entity(se) { 7789 7789 cfs_rq = cfs_rq_of(se); 7790 - cfs_rq->h_load_next = se; 7790 + WRITE_ONCE(cfs_rq->h_load_next, se); 7791 7791 if (cfs_rq->last_h_load_update == now) 7792 7792 break; 7793 7793 } ··· 7797 7797 cfs_rq->last_h_load_update = now; 7798 7798 } 7799 7799 7800 - while ((se = cfs_rq->h_load_next) != NULL) { 7800 + while ((se = READ_ONCE(cfs_rq->h_load_next)) != NULL) { 7801 7801 load = cfs_rq->h_load; 7802 7802 load = div64_ul(load * se->avg.load_avg, 7803 7803 cfs_rq_load_avg(cfs_rq) + 1);