Secure Lock breaks dbus
See: https://discourse.gnome.org/t/gdbus-behavior-cgroup-freeze/19931/2
Basically we have this situation:
- Some session component somewhere makes a method call to a system service
- Before the method call finishes or expires, we enter a secure lock. Session is frozen
- system service finishes processing the call and sends a return value or error
- since session is frozen, the response ends up queued (by the kernel)
- (potentially hours later) the user reauthenticates and the session is unlocked and unfrozen
- the caller checks if the method call timed out, determines that yes it has (monotonic timer keeps running during cgroup freeze), and sends a timeout error
- actual method call response is ignored!
I've investigated if the common dbus implementations on our systems are susceptible to this. gdbus's code seems to indicate that it is, and tests indicate the same. sd-bus's code indicates that it is too, but in practice I can't seem to get it to reproduce the bug. Both need investigation and potentially fixes