-
fix(protect): root was never enough — the OOM guard could not open the file it guards · 8f2c510f
Installed the protection daemon and it reported 'protected: ardour[...] oom:FAILED(need root, have uid 0)' every two seconds. It runs as root; the message was misdirecting. uid 0 bypasses file permissions via CAP_DAC_OVERRIDE, and the unit's CapabilityBoundingSet listed only CAP_SYS_RESOURCE/SYS_NICE/IPC_LOCK — so the bypass was gone. /proc/<pid>/oom_score_adj is mode 0644 owned by the process owner, so every write returned EACCES while id -u still said 0. scsynth and sclang looked fine only because they were already at the target and no write was attempted. The daemon had never successfully protected anything. - unit: add CAP_DAC_OVERRIDE to bounding + ambient sets - failure messages print the effective capabilities, not 'need root' - a FAILED sweep logs once per distinct message instead of 43200 times a day, which is what the file header already said it refuses to do
PLN (Algolia) authored8f2c510f
×