On Sat, 11 Oct 2014 13:15:30 +0800
Fengguang Wu <fengguang...@intel.com> wrote:

> FYI, we noticed the below changes on commit
> 
> 445d95d7c384741d133251a9adac935866591c92 ("sched: Remove 
> update_rq_runnable_avg")
> 
> [   67.303839] BUG: unable to handle kernel NULL pointer dereference at 
> 0000000000000040
> [   67.304014] IP: [<ffffffff810b1d52>] print_cfs_rq+0x4a3/0xa96

Well that one's pretty obvious:


--- a/kernel/sched/debug.c
+++ b/kernel/sched/debug.c
@@ -68,14 +68,6 @@ static void print_cfs_group_stats(struct seq_file *m, int 
cpu, struct task_group
 #define PN(F) \
        SEQ_printf(m, "  .%-30s: %lld.%06ld\n", #F, SPLIT_NS((long long)F))
 
-       if (!se) {
-               struct sched_avg *avg = &cpu_rq(cpu)->avg;
-               P(avg->runnable_avg_sum);
-               P(avg->runnable_avg_period);
-               return;
-       }
-
-
        PN(se->exec_start);
        PN(se->vruntime);
        PN(se->sum_exec_runtime);


You can remove the P() calls from that if statement, but you can't
remove the whole thing because you will try to dereference a NULL se
immediately afterward if you do.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to