Skip to content

openkal-linux 0.12.0 and openkal-musl 0.13.1 - #326

Merged
Sunrisepeak merged 1 commit into
mainfrom
an-interpreter-could-not-be-reached
Aug 31, 2026
Merged

openkal-linux 0.12.0 and openkal-musl 0.13.1#326
Sunrisepeak merged 1 commit into
mainfrom
an-interpreter-could-not-be-reached

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

A program that needs an INTERPRETER could not be started at all — a #! script
on any architecture, or a binary of another architecture through binfmt_misc.
execveat with a directory descriptor hands the interpreter
/dev/fd/<dirfd>/<name>, which a close-on-exec descriptor does not survive.

⚠️ It affects every consumer of this stack that runs a script, and it has been
present for as long as kal_process_spawn has used execveat.

A program that needs an INTERPRETER could not be started at all — a `#!` script
on any architecture, or a binary of another architecture through binfmt_misc.
`execveat` with a directory descriptor hands the interpreter
`/dev/fd/<dirfd>/<name>`, which a close-on-exec descriptor does not survive.

⚠️ It affects every consumer of this stack that runs a script, and it has been
present for as long as kal_process_spawn has used execveat.
@Sunrisepeak
Sunrisepeak merged commit eecc909 into main Aug 31, 2026
8 checks passed
@Sunrisepeak
Sunrisepeak deleted the an-interpreter-could-not-be-reached branch August 31, 2026 02:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant