-
Notifications
You must be signed in to change notification settings - Fork 313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fork during static constructor makes libcrun hard to use #1097
Comments
Ah, I found it: Lines 4962 to 4972 in 313fc8a
That's too bad; Julia is not compatible with being forked, so I guess that makes it impossible to use |
I actually think this should be made optional, in that it is only needed for security purposes to fix a potential vulnerability in the host OS. |
sure we can disable that and make it optional, but how will you deal with this security issue? What should the interface look like though? I still want it to be enabled by default, so it should be opt-out. |
I agree, although I still believe we should figure a way to be smarter in rootless mode. --nofork option would fix the problem. Allow distributions to change the default in C code via Makefile, so they would not need to deal with it perhaps. |
I'm using crun from Julia, where I'm always just calling the
crun
binary. As there is a build option forlibcrun
, I wanted to try that out, but after buildingcrun
with--enable-shared
and--enable-dynamic
, the resultinglibcrun.so
isn't loadable, and even kills my Julia session:LD_DEBUG=libs
reveals that after loadinglibcrun
a search is done forlibjulia
in system library directories, whilelibjulia
typically resides in a private library directory (i.e., the search is expected to fail):Note that the above also reproduces with
libcrun
from Arch Linux, so doesn't seem related to my build.Now, Julia being a managed environment does its fair share of library loading shenanigans, but this is something I haven't encountered with other libraries. I wonder if
libcrun
is doing anything special? A quick grep didn't reveal any.init
/.init_array
code hooking library loading.The text was updated successfully, but these errors were encountered: