[enhancement] Out-of-process plugins #30
Labels
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
alt-gnome/Tuner#30
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
На сегодняшний день плагин для tuner — это текстовый манифест и
.soшник, подгружаемый в адресное пространствоTunerи работающий с ним в одном процессе.Может оказаться, что некоторым плагинам потребуется работать в отдельном процессе и обмениваться с gtk-adw-мордочкой сообщениями. Вот неполный список причин так делать:
raise(3),exit(2), и прочие 💥-API;DT_NEEDED-записи в dynamic segment), имеет неограниченный доступ к памяти процессаtuner;tuner, получает неограниченный доступ к памяти плагина;ldd(1)показывает только начальный старт динам. компоновщика, до перехода к точке входа в исполнимом бинарнике. Это не вся картина.Там, скорее всего, будут и библиотеки навроде GPU-дров NVidia/Intel, что всегда источник головной боли, особенно если они несвободные.
(я не догадался, как заставить
lsfd(1)фильтровать замапленные файлы по правам замапленных участков; вместоgrep .soнадо оставить в списке те мапы, что с битом исполнимости)