From b5eb8a453d3f05a34cf08c46b514fb3d76424c40 Mon Sep 17 00:00:00 2001 From: Benedikt Boehm Date: Thu, 1 Feb 2007 00:23:55 +0000 Subject: version bump svn path=/; revision=538 --- .../old/2.2.0_rc8/4411_delta-vkill-fix02.patch | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 vserver-sources/old/2.2.0_rc8/4411_delta-vkill-fix02.patch (limited to 'vserver-sources/old/2.2.0_rc8/4411_delta-vkill-fix02.patch') diff --git a/vserver-sources/old/2.2.0_rc8/4411_delta-vkill-fix02.patch b/vserver-sources/old/2.2.0_rc8/4411_delta-vkill-fix02.patch new file mode 100644 index 0000000..2fb4641 --- /dev/null +++ b/vserver-sources/old/2.2.0_rc8/4411_delta-vkill-fix02.patch @@ -0,0 +1,71 @@ +diff -NurpP --minimal linux-2.6.19.2-vs2.2.0-rc8/kernel/vserver/signal.c linux-2.6.19.2-vs2.2.0-rc8.1/kernel/vserver/signal.c +--- linux-2.6.19.2-vs2.2.0-rc8/kernel/vserver/signal.c 2006-11-08 04:57:45 +0100 ++++ linux-2.6.19.2-vs2.2.0-rc8.1/kernel/vserver/signal.c 2007-01-18 20:31:22 +0100 +@@ -3,10 +3,11 @@ + * + * Virtual Server: Signal Support + * +- * Copyright (C) 2003-2006 Herbert Pötzl ++ * Copyright (C) 2003-2007 Herbert Pötzl + * + * V0.01 broken out from vcontext V0.05 + * V0.02 changed vcmds to vxi arg ++ * V0.03 adjusted siginfo for kill + * + */ + +@@ -23,7 +24,7 @@ int vx_info_kill(struct vx_info *vxi, in + { + int retval, count=0; + struct task_struct *p; +- unsigned long priv = 0; ++ struct siginfo *sip = SEND_SIG_PRIV; + + retval = -ESRCH; + vxdprintk(VXD_CBIT(misc, 4), +@@ -32,7 +33,7 @@ int vx_info_kill(struct vx_info *vxi, in + read_lock(&tasklist_lock); + switch (pid) { + case 0: +- priv = 1; ++ sip = SEND_SIG_FORCED; + case -1: + for_each_process(p) { + int err = 0; +@@ -41,7 +42,7 @@ int vx_info_kill(struct vx_info *vxi, in + (pid && vxi->vx_initpid == p->pid)) + continue; + +- err = group_send_sig_info(sig, (void*)priv, p); ++ err = group_send_sig_info(sig, sip, p); + ++count; + if (err != -EPERM) + retval = err; +@@ -56,22 +57,22 @@ int vx_info_kill(struct vx_info *vxi, in + /* ... as long as there are tasks left */ + (atomic_read(&vxi->vx_tasks) > 1)) + sig = SIGINT; +- priv = 1; ++ else ++ sip = SEND_SIG_FORCED; + } + /* fallthrough */ + default: + p = find_task_by_real_pid(pid); + if (p) { + if (vx_task_xid(p) == vxi->vx_id) +- retval = group_send_sig_info(sig, +- (void*)priv, p); ++ retval = group_send_sig_info(sig, sip, p); + } + break; + } + read_unlock(&tasklist_lock); + vxdprintk(VXD_CBIT(misc, 4), +- "vx_info_kill(%p[#%d],%d,%d) = %d", +- vxi, vxi->vx_id, pid, sig, retval); ++ "vx_info_kill(%p[#%d],%d,%d,%d) = %d", ++ vxi, vxi->vx_id, pid, sig, (int)sip, retval); + return retval; + } + -- cgit v1.2.3-65-gdbad