diff -NurpP --minimal linux-2.6.16-vs2.1.1-rc16.2/fs/namei.c linux-2.6.16-vs2.1.1-rc16.3/fs/namei.c --- linux-2.6.16-vs2.1.1-rc16.2/fs/namei.c 2006-03-20 18:09:05 +0100 +++ linux-2.6.16-vs2.1.1-rc16.3/fs/namei.c 2006-04-17 19:46:42 +0200 @@ -243,7 +243,7 @@ static inline int dx_permission(struct i vxwprintk(1, "xid=%d denied access to %p[#%d,%lu] »%s«.", vx_current_xid(), inode, inode->i_tag, inode->i_ino, - vxd_path(nd->dentry, nd->mnt)); + vxd_cond_path(nd)); return -EACCES; } diff -NurpP --minimal linux-2.6.16-vs2.1.1-rc16.2/include/linux/vserver/debug.h linux-2.6.16-vs2.1.1-rc16.3/include/linux/vserver/debug.h --- linux-2.6.16-vs2.1.1-rc16.2/include/linux/vserver/debug.h 2006-04-05 04:25:47 +0200 +++ linux-2.6.16-vs2.1.1-rc16.3/include/linux/vserver/debug.h 2006-04-17 19:46:08 +0200 @@ -67,6 +67,9 @@ extern unsigned int vx_debug_misc; ({ static char _buffer[PATH_MAX]; \ d_path((d), (m), _buffer, sizeof(_buffer)); }) +#define vxd_cond_path(n) \ + ((n) ? vxd_path((n)->dentry, (n)->mnt) : "" ) + void dump_vx_info(struct vx_info *, int); void dump_vx_info_inactive(int); @@ -89,6 +92,7 @@ void dump_vx_info_inactive(int); #define vxwprintk(x...) do { } while (0) #define vxd_path "" +#define vxd_cond_path vxd_path #endif /* CONFIG_VSERVER_DEBUG */