sched: Use RCU variant of list traversal in for_each_leaf_rt_rq()
PATCH 1/1 sched: Use RCU variant of list traversal in for_each_leaf_rt_rq()
sched: Use RCU variant of list traversal in for_each_leaf_rt_rq()
for_each_leaf_rt_rq() walks an RCU protected list (rq->leaf_rt_rq_list), but doesn't use list_for_each_entry_rcu(). Fix this.
--- kernel/sched_rt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/sched_rt.c +1 -1
@@ -77,7 +77,7 @@ static inline u64 sched_rt_period(struct }#define for_each_leaf_rt_rq (rt_rq, rq) \ - list_for_each_entry(rt_rq, &rq->leaf_rt_rq_list, leaf_rt_rq_list) + list_for_each_entry_rcu(rt_rq, &rq->leaf_rt_rq_list, leaf_rt_rq_list)static inline struct rq *rq_of_rt_rq (struct rt_rq *rt_rq) {
Regards,
Bharata.
Ingo Molnar
AppliedQuoted 9 lines · Bharata B Rao
sched: Use RCU variant of list traversal in
for_each_leaf_rt_rq()
for_each_leaf_rt_rq()walks an RCU protected list (rq->leaf_rt_rq_list), but doesn't uselist_for_each_entry_rcu(). Fix this.Signed-off-by Bharata B Rao <[email protected]>--- kernel/sched_rt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
applied to tip/sched/urgent, thanks Bharata!
i'm wondering, have you observed a real crash, or did you find this via code review?
Ingo
Quoted 13 lines · Ingo Molnar
Quoted 9 lines · Bharata B Rao
sched: Use RCU variant of list traversal in
for_each_leaf_rt_rq()
for_each_leaf_rt_rq()walks an RCU protected list (rq->leaf_rt_rq_list), but doesn't uselist_for_each_entry_rcu(). Fix this.Signed-off-by Bharata B Rao <[email protected]>--- kernel/sched_rt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 4 lines
applied to tip/sched/urgent, thanks Bharata!
i'm wondering, have you observed a real crash, or did you find this via code review?
Via code review.
Thanks,
Bharata.