On Fri, Mar 06, 2009 at 08:49:22PM +0100, Renzo Davoli wrote: >It is currently impossible to run a user-mode linux machine inside another >user-mode >linux (UML on UML). It breaks after a few instructions. When it tries to check >whether SYSEMU is installed (the inner) UML receives an inconsistent result >(from the outer UML). > >This is the output of a broken attempt: >$ ./linux mem=256m ubd0=cow >Locating the bottom of the address space ... 0x0 >Locating the top of the address space ... 0xc0000000 >Core dump limits : > soft - 0 > hard - NONE >Checking that ptrace can change system call numbers...OK >Checking ptrace new tags for syscall emulation...unsupported >Checking syscall emulation patch for ptrace...check_sysemu : expected SIGTRAP, >got status = 256 >$ > >The problem is the following: >PTRACE_SYSCALL/SINGLESTEP is currently managed inside arch_ptrace for ARCH=um. > >PTRACE_SYSEMU/SUSEMU_SINGLESTEP is not captured in arch_ptrace's switch, >therefore >it is erroneously passed back to ptrace_request (in kernel/ptrace). > >This simple patch simply forces ptrace to return an error on >PTRACE_SYSEMU/SUSEMU_SINGLESTEP >as it is unsupported on ARCH=um, and fixes the problem. > >I posted the same patch one month ago. I just tested it again against the >latest kernel. > > renzo > >Signed-off-by: Renzo Davoli <re...@cs.unibo.it>
Cc: Andrew Morton <a...@osdl.org> Andrew, would you like to put this patch into -mm? It looks fine for me. Renzo, I remember you sent some patches about PTRACE_SYSEMU support for UML some days ago, could you please rebase them against the latest -git tree and resend? Thank you very much! Have a nice day! Yours, Cong ------------------------------------------------------------------------------ _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel