I just noticed that the reserved area of the user stack that the linux
emulator uses to copy modified paths is only 256 bytes long.
linux_rename() makes two calls to the path munging code, which means
that the two path arguments are limited in aggregate to 256 bytes,
which is wrong.
I've also noted another major issue with the linux emulation, and that
is with shell script execution.
If you are running a linux binary which then fork/exec's a shell script,
the interpreter path at the top of the shell script does not undergo
the path munging code, which breaks the script out of the linux emulation
mode (because it runs the FreeBSD /bin/sh, /bin/csh, etc instead of the
linux version).
I have a fix for the latter problem. It's fairly trivial.
Without a fix the only way one can reliably run serious linux apps
(like an oracle install for example) under linux emulation is to
chroot into /compat/linux. I would appreciate a review:
http://www.backplane.com/FreeBSD4/linux-script-01.diff
(No, this fix alone isn't enough to do an oracle install, it's just too
grungy a beast).
-Matt
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message