diff -NurpP --minimal linux-2.6.38-vs2.3.0.37-rc6/fs/devpts/inode.c linux-2.6.38-vs2.3.0.37-rc7/fs/devpts/inode.c --- linux-2.6.38-vs2.3.0.37-rc6/fs/devpts/inode.c 2011-01-29 05:09:48.000000000 +0100 +++ linux-2.6.38-vs2.3.0.37-rc7/fs/devpts/inode.c 2011-03-17 02:17:19.000000000 +0100 @@ -280,8 +280,17 @@ static int devpts_show_options(struct se static int devpts_filter(struct dentry *de) { + xid_t xid = 0; + /* devpts is xid tagged */ - return vx_check((xid_t)de->d_inode->i_tag, VS_WATCH_P | VS_IDENT); + if (de && de->d_inode) + xid = (xid_t)de->d_inode->i_tag; +#ifdef CONFIG_VSERVER_WARN_DEVPTS + else + vxwprintk_task(1, "devpts " VS_Q("%.*s") " without inode.", + de->d_name.len, de->d_name.name); +#endif + return vx_check(xid, VS_WATCH_P | VS_IDENT); } static int devpts_readdir(struct file * filp, void * dirent, filldir_t filldir)