diff -u linux-2.6.18-vs2.0.2.1-t7/fs/proc/base.c linux-2.6.18-vs2.0.2.1-t8/fs/proc/base.c --- linux-2.6.18-vs2.0.2.1-t7/fs/proc/base.c 2006-09-23 18:44:15 +0200 +++ linux-2.6.18-vs2.0.2.1-t8/fs/proc/base.c 2006-09-24 14:30:52 +0200 @@ -1376,9 +1376,10 @@ int ret = 0; if (task) { - if (!vx_check(vx_task_xid(task), VX_IDENT|VX_WATCH)) - goto out_drop; + ret = 1; /* discard wrong fakeinit */ + if (!vx_check(vx_task_xid(task), VX_IDENT)) + goto out_drop; if ((inode->i_mode == (S_IFDIR|S_IRUGO|S_IXUGO)) || task_dumpable(task)) { @@ -1390,7 +1391,6 @@ } inode->i_mode &= ~(S_ISUID | S_ISGID); security_task_to_inode(task, inode); - ret = 1; goto out_put; } out_drop: