diff options
Diffstat (limited to 'vserver-sources/old/2.1.1_rc28/4414_vs2.1.1-rc28-ptrace-fix01.patch')
-rw-r--r-- | vserver-sources/old/2.1.1_rc28/4414_vs2.1.1-rc28-ptrace-fix01.patch | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/vserver-sources/old/2.1.1_rc28/4414_vs2.1.1-rc28-ptrace-fix01.patch b/vserver-sources/old/2.1.1_rc28/4414_vs2.1.1-rc28-ptrace-fix01.patch new file mode 100644 index 0000000..aa60c61 --- /dev/null +++ b/vserver-sources/old/2.1.1_rc28/4414_vs2.1.1-rc28-ptrace-fix01.patch @@ -0,0 +1,16 @@ +Index: linux-2.6.17/kernel/ptrace.c +=================================================================== +--- linux-2.6.17.orig/kernel/ptrace.c ++++ linux-2.6.17/kernel/ptrace.c +@@ -133,6 +133,11 @@ static int may_attach(struct task_struct + smp_rmb(); + if (!task->mm->dumpable && !capable(CAP_SYS_PTRACE)) + return -EPERM; ++ if (!vx_check(task->xid, VX_ADMIN_P|VX_IDENT)) ++ return -EPERM; ++ if (!vx_check(task->xid, VX_IDENT) && ++ !task_vx_flags(task, VXF_STATE_ADMIN, 0)) ++ return -EACCES; + + return security_ptrace(current, task); + } |