From: Michael Svetlik <m.svetlik@ss...> - 2003-02-03 16:27:29
When trying to initialize the network interface on the uml machine,
the host-side uml_net daemon throws up tons of errors 'select', and
networks doesn't get alive.
I've checked the code, inserted some fprintf's, and now I'm on my wits' end:
ifconfig on the virtual machine does a 'syscall' to etap_open, which
opens the data pipe data_fds (ethertap_user.c).
iIt then calls etap_tramp, which calls run_helper with the args
run_helper (arch/uml/kernel/helper.c) clones helper_child
with the same arg stack, which then 'execvp's the first
stack entry. Immediately after this, the caller (etap_tramp)
closes the pipe - that's ok, helper_child has cloned, and so
has an own descriptors copy.
The uml_net is executed - as a daemon, I suppose - and jumps
to the function 'ethertap'. And here, it gets < 0 from the 'select' call !?
It appears, the 'data_fd' is weak - a simple 'fcntl(xx, F_GETFL, 0)'
shows, the data file is not accessible.
Where's the light ...
Ooops: kernel is 2.5.28, the patch also.
Get latest updates about Open Source Projects, Conferences and News.