提交 bd928830 编写于 作者: A Anton Blanchard 提交者: Ingo Molnar

sched/cpuacct: Check for NULL when using task_pt_regs()

task_pt_regs() can return NULL for kernel threads, so add a check.
This fixes an oops at boot on ppc64.
Reported-and-Tested-by: NSrikar Dronamraju <srikar@linux.vnet.ibm.com>
Tested-by: NZhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: NAnton Blanchard <anton@samba.org>
Acked-by: NZhao Lei <zhaolei@cn.fujitsu.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: efault@gmx.de
Cc: htejun@gmail.com
Cc: linuxppc-dev@lists.ozlabs.org
Cc: tj@kernel.org
Cc: yangds.fnst@cn.fujitsu.com
Link: http://lkml.kernel.org/r/20160406215950.04bc3f0b@krytenSigned-off-by: NIngo Molnar <mingo@kernel.org>
上级 2c923e94
......@@ -316,12 +316,11 @@ static struct cftype files[] = {
void cpuacct_charge(struct task_struct *tsk, u64 cputime)
{
struct cpuacct *ca;
int index;
int index = CPUACCT_USAGE_SYSTEM;
struct pt_regs *regs = task_pt_regs(tsk);
if (user_mode(task_pt_regs(tsk)))
if (regs && user_mode(regs))
index = CPUACCT_USAGE_USER;
else
index = CPUACCT_USAGE_SYSTEM;
rcu_read_lock();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册