~ehmry

Nijmegen

https://gemini.spam.works/~/emery/

UNIX apostate

Trackers

~ehmry/nim_cbor

Last active 10 days ago

~ehmry/genodepkgs

Last active 4 months ago

#25 Patch VFS to load plugins by absolute store path 4 months ago

Comment by ~ehmry on ~ehmry/genodepkgs

REPORTED RESOLVED FIXED

#15 Port SDL2 4 months ago

Comment by ~ehmry on ~ehmry/genodepkgs

#27 Genode::Parent::Session_args too small to reliably contain store paths 4 months ago

Comment by ~ehmry on ~ehmry/genodepkgs

REPORTED RESOLVED FIXED

#28 Bug in Patchelf prevents replacing .dynstr 4 months ago

Comment by ~ehmry on ~ehmry/genodepkgs

#2 Test Nim runtime 5 months ago

Comment by ~ehmry on ~ehmry/genodepkgs

REPORTED RESOLVED FIXED

#28 Bug in Patchelf prevents replacing .dynstr 5 months ago

Ticket created by ~ehmry on ~ehmry/genodepkgs

Genode binaries should be patched to load libraries by absolute refrence, either by a Nix store path or by a content addressed identifier. Patchelf should do this, but there is a bug that creates a new .dystr section containing the library strings but does not put this into a segment to be loaded. This causes ld.lib.so to segfault as it deferences a pointer to the unloaded segment.

https://github.com/NixOS/patchelf/issues/244

#27 Genode::Parent::Session_args too small to reliably contain store paths 5 months ago

Ticket created by ~ehmry on ~ehmry/genodepkgs

The Genode::Parent::Session_args buffers used to transport session create arguments are too small to contain long store paths or content addressed hashes. The buffer is 160 bytes, and will be silently reset to zero at overflow. If an argument in the buffer is too long, the buffer will be destroyed at the initial session creation. If there are too many intermediate parent boundaries, the arguments will be destroyed as labels are added to the buffer.

#26 Content addressed ROMs 5 months ago

sigil added by ~ehmry on ~ehmry/genodepkgs

#26 Content addressed ROMs 5 months ago

future added by ~ehmry on ~ehmry/genodepkgs

#26 Content addressed ROMs 5 months ago

Ticket created by ~ehmry on ~ehmry/genodepkgs

Retrieving ROMs from a nix-store on a file-system is awkward because ROM label prefixing destroys labels after the request passes through too many levels of parents.

The prefixing mechanism is used to implement access-control policies, but if ROM requests were made by a content hash, the request would effectively be a request by content capability. In this case no access policy checks can be avoided because the party making the request can be assumed to have some knowledge of the content already.

This could be implementing by using ERIS URIs as ROM labels, and skipping the label prefixing at the parent-child threshold. ROMs would not necessarily need to be store in th ERIS encoding, ROMs could simply be stored in the core image by URI, or likewise on a file-system.

With this in place, programs and libraries could be elf-patched to load by ERIS URI rather than name or file-system path.