sched: Fix out of scope variable access in sched_slice()
Access to local variable lw is aliased by usage of pointer load. Access to pointer load in calc_delta_mine() happens when lw is already out of scope. [ Reported by static code analysis. ] Signed-off-by: Christian Engelmayer <christian.engelmayer@frequentis.com> LKML-Reference: <20090616103512.0c846e51@frequentis.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
348ec61e62
Коммит
3104bf03a9
|
@ -430,12 +430,13 @@ static u64 sched_slice(struct cfs_rq *cfs_rq, struct sched_entity *se)
|
||||||
|
|
||||||
for_each_sched_entity(se) {
|
for_each_sched_entity(se) {
|
||||||
struct load_weight *load;
|
struct load_weight *load;
|
||||||
|
struct load_weight lw;
|
||||||
|
|
||||||
cfs_rq = cfs_rq_of(se);
|
cfs_rq = cfs_rq_of(se);
|
||||||
load = &cfs_rq->load;
|
load = &cfs_rq->load;
|
||||||
|
|
||||||
if (unlikely(!se->on_rq)) {
|
if (unlikely(!se->on_rq)) {
|
||||||
struct load_weight lw = cfs_rq->load;
|
lw = cfs_rq->load;
|
||||||
|
|
||||||
update_load_add(&lw, se->load.weight);
|
update_load_add(&lw, se->load.weight);
|
||||||
load = &lw;
|
load = &lw;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче