summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch35
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 */