diff options
Diffstat (limited to 'vserver-sources/old/2.1.1_rc16-r2/4419_vs2.1.1-rc16-ndpath-fix01.patch')
-rw-r--r-- | vserver-sources/old/2.1.1_rc16-r2/4419_vs2.1.1-rc16-ndpath-fix01.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/vserver-sources/old/2.1.1_rc16-r2/4419_vs2.1.1-rc16-ndpath-fix01.patch b/vserver-sources/old/2.1.1_rc16-r2/4419_vs2.1.1-rc16-ndpath-fix01.patch new file mode 100644 index 0000000..0e01ea7 --- /dev/null +++ b/vserver-sources/old/2.1.1_rc16-r2/4419_vs2.1.1-rc16-ndpath-fix01.patch @@ -0,0 +1,35 @@ +Index: vserver-sources-2.1.1_2.6.16/fs/namei.c +=================================================================== +--- vserver-sources-2.1.1_2.6.16.orig/fs/namei.c ++++ vserver-sources-2.1.1_2.6.16/fs/namei.c +@@ -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; + } + +Index: vserver-sources-2.1.1_2.6.16/include/linux/vserver/debug.h +=================================================================== +--- vserver-sources-2.1.1_2.6.16.orig/include/linux/vserver/debug.h ++++ vserver-sources-2.1.1_2.6.16/include/linux/vserver/debug.h +@@ -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) : "<null>" ) ++ + + 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 "<none>" ++#define vxd_cond_path vxd_path + + + #endif /* CONFIG_VSERVER_DEBUG */ |