[Bug 297426] linuxulator: linprocfs /proc/self/exe host path breaks execve under Linux ABI
| Newsgroups | gmane.os.freebsd.bugs |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=297426 --- Comment #25 from Devin Teske <[email protected]> --- (In reply to Gleb Popov from comment #24) I very painstakingly generated those litmus outputs and documented the complete result matrix for the six conditions because trying to be brief was not working. Let me boil it down to the simplest form that I am capable if: Step 1. Unmount procfs Step 2. Run this: ``` /compat/linux/usr/bin/python3.9 -c " import os print('readlink:', os.readlink('/proc/self/exe')) try: print('stat:', os.stat('/proc/self/exe')) except OSError as e: print('stat: FAIL --', e) try: os.execv('/proc/self/exe', ['python3', '-c', 'print(\"execv OK\")']) except OSError as e: print('execv: FAIL --', e) " ``` Step 3. Get this error: ``` readlink: /compat/linux/usr/bin/python3.9 stat: FAIL -- [Errno 2] No such file or directory: '/proc/self/exe' execv: FAIL -- [Errno 2] No such file or directory ``` Copied from my earlier comment 4. Simplicity: A Linux executable in /compat/linux such as python3.9 (feel free to substitute python3 if you don't have python3.9) should be capable of working with linprocfs alone and not require not-one but two proc filesystems. We should not need to have both linprocfs and procfs loaded concurrently. linprocfs should be sufficient to satisfy /proc needs of Linux programs that are part of linux rl9 family. -- You are receiving this mail because: You are the assignee for the bug.