From a331673f2595f2b43f15ab500c1238042e3e7a34 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Thu, 1 Apr 2010 15:13:57 +0200 Subject: [PATCH] --- yaml --- r: 189255 b: refs/heads/master c: b95c35e76b29ba812e5dabdd91592e25ec640e93 h: refs/heads/master i: 189253: 3029c114c0866633feae21e08982b5c8abfb889f 189251: 27ce5650bf9b27271882c6e390b4ead821495556 189247: 7cc78d4dced4b60272b50000ad6b43f5c6c74f9d v: v3 --- [refs] | 2 +- trunk/fs/proc/base.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 33a15d44ea4b..2ebb0e35bd33 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 30d1872d9eb3663b4cf7bdebcbf5cd465674cced +refs/heads/master: b95c35e76b29ba812e5dabdd91592e25ec640e93 diff --git a/trunk/fs/proc/base.c b/trunk/fs/proc/base.c index a7310841c831..b1f6e62773d3 100644 --- a/trunk/fs/proc/base.c +++ b/trunk/fs/proc/base.c @@ -442,12 +442,13 @@ static const struct file_operations proc_lstats_operations = { unsigned long badness(struct task_struct *p, unsigned long uptime); static int proc_oom_score(struct task_struct *task, char *buffer) { - unsigned long points; + unsigned long points = 0; struct timespec uptime; do_posix_clock_monotonic_gettime(&uptime); read_lock(&tasklist_lock); - points = badness(task->group_leader, uptime.tv_sec); + if (pid_alive(task)) + points = badness(task, uptime.tv_sec); read_unlock(&tasklist_lock); return sprintf(buffer, "%lu\n", points); }