Am Mittwoch, den 15.07.2015, 12:12 +0200 schrieb Richard Weinberger: > On Mon, Jul 13, 2015 at 5:12 PM, Thomas Meyer <tho...@m3y3r.de> > wrote: > > Am Montag, den 13.07.2015, 17:11 +0200 schrieb Richard Weinberger: > > > Am 13.07.2015 um 17:08 schrieb Thomas Meyer: > > > > Am Montag, den 13.07.2015, 16:41 +0200 schrieb Richard > > > > Weinberger: > > > > > Am 13.07.2015 um 16:24 schrieb Thomas Meyer: > > > > > > > Yeah. And please add a dump_stack() to figure out where > > > > > > > it > > > > > > > was > > > > > > > called. > > > > > > > > > > > > I think calling dump_stack() somehow changed the errno to > > > > > > 25?! > > > > > > > > > > > > > > > > > +extern __attribute__((regparm(0))) void dump_stack(void); > > > > > > > > > > Hmm, maybe the regparm(0) kills your stack. > > > > > Anyway, how do you trigger the issue? > > > > > I tried here and don't see any zombie processes? > > > > > In my setup I run UML as non-root and tap0 is owned by root. > > > > > -> UML is unable to setup eth0. > > > > > But no zombies here. > > > > > > > > I run UML as non-root user, tun is: > > > > > > > > $ ll /dev/net > > > > insgesamt 0 > > > > crw-rw----. 1 root zml-net 10, 200 13. Jul 14:49 tun > > > > > > > > $ ll /usr/bin/uml_net > > > > -rwsr-x---. 1 root uml-net 31472 19. Aug 2014 /usr/bin/uml_net > > > > > > And eth0=tuntap,tap? > > > > yes, > > > > eth0=tuntap,,,192.168.10.2 > > Sorry for the late reply. Hi,
null problemo. > I'm still burred in work issues and had no time to look in detail at > this. > > But in the meanwhile you can try to gather some more Infos. > Remove the dump_stack() and add some printk()s. > I'm interested which PIDs are returned and waited for. Mhh.. I think the pid is already printed in error case: [ 15.930000] helper_wait : waitpid process 11673 failed, errno = 10 [ 15.930000] * modprobe tun * ifconfig tap0 192.168.10.1 netmask 255.255.255.255 up * bash -c echo 1 > /proc/sys/net/ipv4/ip_forward [ 20.480000] helper_wait : waitpid process 11780 failed, errno = 10 [ 20.480000] * route add -host 192.168.10.2 dev tap0 * bash -c echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp pid 11673 and pid 11780 in above case were the two zombie processes. errno 10 = ECHILD which can happen for the waitpid() call, according to the man page: ECHILD (for waitpid() or waitid()) The process specified by pid (waitpid()) or idtype and id (waitid()) does not exist or is not a child of the calling process. (This can happen for one's own child if the action for SIGCHLD is set to SIG_IGN. See also the Linux Notes section about threads.) I'm not able to completely figure out above meaning, so... But maybe ECHILD is returned because uml_net is run with setuid bit set? any ideas? ------------------------------------------------------------------------------ Don't Limit Your Business. Reach for the Cloud. GigeNET's Cloud Solutions provide you with the tools and support that you need to offload your IT needs and focus on growing your business. Configured For All Businesses. Start Your Cloud Today. https://www.gigenetcloud.com/ _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel