Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Apr 2000 11:55:09 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        freebsd-current@FreeBSD.ORG
Subject:   linux emulation problems - path length restrictions in linux_rename
Message-ID:  <200004081855.LAA11984@apollo.backplane.com>

next in thread | raw e-mail | index | archive | help
    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 majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004081855.LAA11984>