# HG changeset patch # User Paul Boddie # Date 1715345164 -7200 # Node ID 569d90054efef1a06c889ed019a5acdcbb0ab33e # Parent 21004e509ba51102d7de5326ec01e7c1bcdf746e Added missing process server environment entry. diff -r 21004e509ba5 -r 569d90054efe libexec/lib/src/process_creating.cc --- a/libexec/lib/src/process_creating.cc Thu May 09 16:46:44 2024 +0200 +++ b/libexec/lib/src/process_creating.cc Fri May 10 14:46:04 2024 +0200 @@ -327,6 +327,11 @@ l4_cap_idx_t fsserver_cap = _process.allocate_cap(); l4_cap_idx_t fsserver = l4re_env_get_cap(ENV_FILESYSTEM_SERVER_NAME); + /* Obtain the process server capability. */ + + l4_cap_idx_t prserver_cap = _process.allocate_cap(); + l4_cap_idx_t prserver = l4re_env_get_cap(ENV_PROCESS_SERVER_NAME); + /* Also reserve capabilities for the reader and writer. If the reader or writer are invalid capabilities, these will not actually be transferred. */ @@ -337,6 +342,7 @@ struct ipc_mapped_cap program_mapped_caps[] = { {fsserver_cap, fsserver, L4_CAP_FPAGE_RWS, L4_FPAGE_C_OBJ_RIGHTS}, + {prserver_cap, prserver, L4_CAP_FPAGE_RWS, L4_FPAGE_C_OBJ_RIGHTS}, {reader_cap, reader, L4_CAP_FPAGE_RWS, L4_FPAGE_C_OBJ_RIGHTS}, {writer_cap, writer, L4_CAP_FPAGE_RWS, L4_FPAGE_C_OBJ_RIGHTS}, {L4_INVALID_CAP, L4_INVALID_CAP, 0, 0}, @@ -361,6 +367,7 @@ l4re_env_cap_entry_t program_init_caps[] = { l4re_env_cap_entry_t(ENV_FILESYSTEM_SERVER_NAME, fsserver_cap, L4_CAP_FPAGE_RWS), + l4re_env_cap_entry_t(ENV_PROCESS_SERVER_NAME, prserver_cap, L4_CAP_FPAGE_RWS), l4re_env_cap_entry_t(ENV_INPUT_STREAM_NAME, reader_cap, L4_CAP_FPAGE_R), l4re_env_cap_entry_t(ENV_OUTPUT_STREAM_NAME, writer_cap, L4_CAP_FPAGE_W), l4re_env_cap_entry_t()