diff -NurpP --minimal linux-2.6.3-vs0.09.z/kernel/vserver/inode.c linux-2.6.3-vs0.09.zz/kernel/vserver/inode.c --- linux-2.6.3-vs0.09.z/kernel/vserver/inode.c 2004-02-22 00:09:42.000000000 +0100 +++ linux-2.6.3-vs0.09.zz/kernel/vserver/inode.c 2004-02-23 03:02:14.000000000 +0100 @@ -41,10 +41,12 @@ static int __vc_get_iattr(struct inode * if (in->i_sb->s_magic == PROC_SUPER_MAGIC) { struct proc_dir_entry *entry = PROC_I(in)->pde; - - // check for specific inodes - *flags |= (entry->vx_flags & IATTR_FLAGS); - *mask |= IATTR_FLAGS; + + if (entry) { + // check for specific inodes + *flags |= (entry->vx_flags & IATTR_FLAGS); + *mask |= IATTR_FLAGS; + } } return 0; } @@ -119,10 +121,13 @@ static int __vc_set_iattr(struct inode * if (*mask & IATTR_FLAGS) { struct proc_dir_entry *entry = PROC_I(in)->pde; - unsigned int iflags = entry->vx_flags; - entry->vx_flags = (iflags & ~(*mask & IATTR_FLAGS)) - | (*flags & IATTR_FLAGS); + if (entry) { + unsigned int iflags = entry->vx_flags; + + entry->vx_flags = (iflags & ~(*mask & IATTR_FLAGS)) + | (*flags & IATTR_FLAGS); + } } if (*mask & IATTR_BARRIER)