aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/uevent
AgeCommit message (Collapse)Author
2026-03-28internal/uevent: consume kernel-originated eventsOphestra
These are not possible to cover outside integration vm. Extreme care is required when dealing with this method, so keep it simple. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-28internal/uevent: exclusive socket accessOphestra
This is a much simplified mutex, since blocking is not required. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-28internal/uevent: decode uevent messagesOphestra
The wire format and behaviour is entirely undocumented. This is implemented by reading lib/kobject_uevent.c, with testdata collected from the internal/rosa kernel. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-28internal/uevent: nontrivial errorsOphestra
These errors are best represented as JSON. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-27internal/uevent: recoverable errorsOphestra
This runs in the Rosa OS init, so recover as much as possible, as otherwise it is likely to require a full system reboot to resume event processing. The caller is responsible for reporting the error. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-27internal/uevent: wrap netlink socketOphestra
Unfortunately these messages do not have the same format as rtnetlink. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-03-27internal/uevent: kobject_action lookupOphestra
This is encoded as part of kobject uevent message headers. Signed-off-by: Ophestra <cat@gensokyo.uk>