lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 27 Jan 2012 14:52:20 -0800
From:	Bob Richmond <bob@...ez.org>
To:	linux-kernel@...r.kernel.org
Subject: Real time clock update notification

Is there any kind of facility for a process that is blocking in any one 
of the event notification system calls (select/poll/epoll_wait) to be 
unblocked in the event that the realtime clock has been updated? For 
instance, say I want to fire off an event at the exact moment that the 
realtime clock flips to 2pm. I first query the realtime clock via 
clock_gettime(CLOCK_REALTIME), and know that in 3 hours, it will be 2pm 
and I want to unblock at that moment. So I block in epoll_wait for 3 hours.

Then ntpd decides that the rtc is way off, and updates the current time 
to 1:30, and I should now be unblocking 30 minutes from now. However, my 
process can't know that this occurred and I should requery the rtc to 
find out how long I need to sleep *now*. It looks like crond (which 
performs a similar task) just wakes itself up every 60 seconds, which 
isn't particularly ideal.

If this facility doesn't exist, I'm curious whether something like it 
would be feasible to introduce with minimal overhead. I'm unsure how 
often ntpd resets the rtc when clock skew is detected, and my process 
might be excessively notified whenever the time changes by a few 
milliseconds.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ