Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upSome VMs' clocks fall behind (separate problems with updates to qubes-rpc/policy definitions & qrexec-policy evaluation) #3940
Comments
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
jpouellet
May 30, 2018
Contributor
Okay, so the VMs with the delayed clocks had not been updated past the $defaultvm => @defaultvm change, so that was one half of the issue.
The general problem with how to update qrexec-policy on existing machines when it changes upstream still remains. I'll open a separate issue to more clearly track just that (without noise about clocks).
|
Okay, so the VMs with the delayed clocks had not been updated past the The general problem with how to update qrexec-policy on existing machines when it changes upstream still remains. I'll open a separate issue to more clearly track just that (without noise about clocks). |
jpouellet commentedMay 30, 2018
Qubes OS version:
R4, all latest pkgs from current-testing & security-testing as of time of reporting
Affected component(s):
At least a fedora-26 based vm, but problem seems to be in updating qrexec-policy for dom0
Steps to reproduce the behavior:
Start some VMs and put your computer to sleep for a while, notice their clocks become behind and fail to re-sync.
Expected behavior:
VMs keep accurate time.
Actual behavior:
VMs fall behind.
General notes:
One root cause / bug is partially that qubes-dom0-update does not update installed qrexec policies when they change in the source, but there is also another issue I have not found.
AFAICT clock syncing happens like this (at least for non-whonix VMs):
clocksyncservice is not enabled, which is only enabled in sys-net (or maybe whatever your clockvm is set to?) (source)Now things diverge. My /etc/qubes-rpc/policy/qubes.GetDate contained the following:
However, the current source contains the following:
Note difference of
target=sys-net(old, & my config on disk even with all updates applied) vstarget=dom0(new).This was changed in QubesOS/qubes-core-admin@bda9264 to add support for ClockVMs other than sys-net.
So, one bug is that some existing qubes installs still have target=sys-net instead of target=dom0, as mine did.
However, even after correcting that, for some reason (idk why), some VMs (not correlated with being tagged anon-vm, and still happens with that deny line commented out) get "Request refused" when attempting to run qubes.GetClock, but others do not.
For VMs in which qubes.GetClock fails, the clocks slowly get behind as the computer is asleep.
Related issues:
#1230 / QubesOS/qubes-core-agent-linux#47 / QubesOS/qubes-core-admin-linux#28 / QubesOS/qubes-core-admin#125
QubesOS/qubes-core-admin@bda9264