All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
To: Chris Wedgwood <cw@f00f.org>
Cc: Jeff Dike <jdike@addtoit.com>,
	Blaisorblade <blaisorblade_spam@yahoo.it>,
	user-mode-linux-devel@lists.sourceforge.net
Subject: Re: [uml-devel] [PATCH] UML: Use PTRACE_KILL instead of SIGKILL to kill host-OS processes
Date: Fri, 19 Nov 2004 17:17:20 +0100	[thread overview]
Message-ID: <419E1C90.70903@fujitsu-siemens.com> (raw)
In-Reply-To: <20041103113736.GA23041@taniwha.stupidest.org>

[-- Attachment #1: Type: text/plain, Size: 3491 bytes --]

Chris Wedgwood wrote:
> kill(..., SIGKILL) doesn't work to kill host-OS processes created in
> the exec path in TT mode --- for this we need PTRACE_KILL (it did work
> in previous kernels, but not by design).  Without this process will
> accumulate on the host-OS (although the won't be visible inside UML).
> 
> Signed-off-by: Chris Wedgwood <cw@f00f.org>
> ---
> 
> Yes, there are other fixes along these lines which are needed but one
> at a time as we test these...
> 
> Index: cw-current/arch/um/kernel/tt/exec_user.c
> ===================================================================
> --- cw-current.orig/arch/um/kernel/tt/exec_user.c	2004-11-03 02:10:18.064830204 -0800
> +++ cw-current/arch/um/kernel/tt/exec_user.c	2004-11-03 02:12:10.447716745 -0800
> @@ -35,7 +35,8 @@
>  		tracer_panic("do_exec failed to get registers - errno = %d",
>  			     errno);
>  
> -	kill(old_pid, SIGKILL);
> +	if (ptrace(PTRACE_KILL, old_pid, NULL, NULL))
> +		printk("Warning: ptrace(PTRACE_KILL, %d, ...) saw %d\n", errno);
>  
>  	if(ptrace_setregs(new_pid, regs) < 0)
>  		tracer_panic("do_exec failed to start new proc - errno = %d",
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by:
> Sybase ASE Linux Express Edition - download now for FREE
> LinuxWorld Reader's Choice Award Winner for best database on Linux.
> http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
> _______________________________________________
> User-mode-linux-devel mailing list
> User-mode-linux-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Now, there are some patches out there, to fix the problem:
- this one here
- uml-hang-on-2.6.9-host from BlaisorBlade
- patch-fix-uml-hang-on-2.6.9-host to combine the two and add some new
   stuff

After a discussion on #uml yesterday, I tried to find out, which parts of the
patches are really neccessary. Now here are the results:

1) Chris' patch is neccessary to avoid the amassing threads in tt-mode.
2) All parts from BlaisorBlade's patch regarding SKAS are needed to not have
    SKAS hanging on shutdown. I used the os_kill_ptraced_process() inserted here
    for Chris' part.
3) The changes done in switch_to_tt() from BlaisorBlades patch are not needed.
    Thus, my rework of this isn't needed, too.
4) In release_thread_tt() my change has to inserted, else UML doesn't boot on
    my system.
5) The changes, I did for kill_of_processes_tt and kill_idlers are not needed.
6) I inserted some small changes in kill_of_processes_tt and kill_idlers to
    have the killing process waiting for the killed one to exit. Not really needed,
    but cleaner.
7) I saw some zombies not being reaped immediately before the exec() in case of
    reboot. Thus, I added a small waitpid-loop in tracer(). Also, not needed,
    but cleaner.

The resulting new patch is attached in a tar-ball. It applies to 2.6.9-bb2, but
you have to remove the patch "uml-hang-on-2.6.9-host and add my small series of
patches, which also is in the tar-ball. The fix some small problems, let SKAS
reboot without problems and add the new SYSEMU_SINGLESTEP-mode (but runs on
older hosts also).
Series:
    patch-bb1-fix-1
    patch-fix-elf_aux
    patch-fix-sysemu-tt
    patch-fix-reboot-skas
    patch-close-all-fds which is the unnamed patch from Jeff, adapted to 2.6.9-bb2
    patch-SYSEMU_SINGLESTEP-1
    patch-SYSEMU_SINGLESTEP-2
    patch-rework-uml-hang-on-2.6.9-host

Regards Bodo

[-- Attachment #2: bb2-addon-bodo.tar.bz2 --]
[-- Type: application/x-bzip2, Size: 7062 bytes --]

      parent reply	other threads:[~2004-11-19 16:17 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-03 11:37 [uml-devel] [PATCH] UML: Use PTRACE_KILL instead of SIGKILL to kill host-OS processes Chris Wedgwood
2004-11-03 11:37 ` Chris Wedgwood
2004-11-03 11:47 ` [uml-devel] " Anton Altaparmakov
2004-11-03 11:47   ` Anton Altaparmakov
2004-11-03 12:08   ` [uml-devel] [PATCH] UML: Use PTRACE_KILL instead of SIGKILL to kill host-OS processes (take #2) Chris Wedgwood
2004-11-03 12:08     ` Chris Wedgwood
2004-11-03 19:28     ` [uml-devel] " Blaisorblade
2004-11-03 19:28       ` Blaisorblade
2004-11-03 20:09       ` Chris Wedgwood
2004-11-03 20:09         ` Chris Wedgwood
2004-11-03 22:51         ` Blaisorblade
2004-11-03 22:51           ` Blaisorblade
2004-11-03 20:18       ` Gerd Knorr
2004-11-03 20:18         ` Gerd Knorr
2004-11-03 20:48         ` Chris Wedgwood
2004-11-03 20:48           ` Chris Wedgwood
2004-11-04  0:23           ` Blaisorblade
2004-11-04  0:23             ` Blaisorblade
2004-11-03 23:19         ` Blaisorblade
2004-11-03 23:19           ` Blaisorblade
     [not found] ` <200411040113.27747.blaisorblade_spam@yahoo.it>
     [not found]   ` <20041104003943.GB17467@taniwha.stupidest.org>
2004-11-04  4:31     ` Fixing UML against NPTL (was: Re: [uml-devel] [PATCH] UML: Use PTRACE_KILL instead of SIGKILL to kill host-OS processes (take #2)) Blaisorblade
2004-11-11 17:45       ` Daniel Jacobowitz
2004-11-11 18:31         ` Christophe Saout
2004-11-11 18:45           ` Daniel Jacobowitz
2004-11-12  0:09             ` Blaisorblade
2004-11-19 16:17 ` Bodo Stroesser [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=419E1C90.70903@fujitsu-siemens.com \
    --to=bstroesser@fujitsu-siemens.com \
    --cc=blaisorblade_spam@yahoo.it \
    --cc=cw@f00f.org \
    --cc=jdike@addtoit.com \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.