[patch 2.4.28-rc1] Avoid oops in proc_delete_inode

From: Keith Owens
Date: Wed Nov 03 2004 - 21:42:34 EST


Under heavy load, vmstat, top and other programs that access /proc can
oops. PROC_INODE_PROPER(inode) is sometimes false for pid entries
(usually zombies), but inode->u.generic_ip is not NULL.

Backport a fix by AL Viro from 2.5.7-pre2 to 2.4.28-rc1.

Signed-off-by: Keith Owens <kaos@xxxxxxx>

Index: 2.4.28-rc1/fs/proc/base.c
===================================================================
--- 2.4.28-rc1.orig/fs/proc/base.c 2004-08-08 10:10:49.000000000 +1000
+++ 2.4.28-rc1/fs/proc/base.c 2004-11-04 13:25:16.402602459 +1100
@@ -780,6 +780,7 @@ out:
return inode;

out_unlock:
+ node->u.generic_ip = NULL;
iput(inode);
return NULL;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/