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-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100806072145.GG28519@shisha.kicks-ass.net>
Date:	Fri, 6 Aug 2010 10:21:45 +0300
From:	Alexander Shishkin <virtuoso@...nd.org>
To:	Greg KH <gregkh@...e.de>
Cc:	Kay Sievers <kay.sievers@...y.org>,
	john stultz <johnstul@...ibm.com>, lkml@...r.kernel.org,
	"Kirill A. Shutemov" <kirill@...temov.name>,
	Thomas Gleixner <tglx@...utronix.de>,
	Martin Schwidefsky <schwidefsky@...ibm.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Jon Hunter <jon-hunter@...com>, Ingo Molnar <mingo@...e.hu>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
	David Howells <dhowells@...hat.com>,
	Avi Kivity <avi@...hat.com>, "H. Peter Anvin" <hpa@...or.com>,
	John Kacur <jkacur@...hat.com>, linux-kernel@...r.kernel.org,
	Alexander Shishkin <virtuoso@...nd.org>
Subject: Re: [PATCH] [RFC] notify userspace about time changes

On Thu, Aug 05, 2010 at 03:38:54 -0700, Greg KH wrote:
> On Fri, Aug 06, 2010 at 12:22:27AM +0200, Kay Sievers wrote:
> > On Thu, Aug 5, 2010 at 23:38, Greg KH <gregkh@...e.de> wrote:
> > > On Thu, Aug 05, 2010 at 02:11:05PM -0700, john stultz wrote:
> > >> On Thu, 2010-08-05 at 15:33 +0300, Alexander Shishkin wrote:
> > >> > On 4 August 2010 18:58, john stultz <johnstul@...ibm.com> wrote:
> > >> > > Is there a actual use case that you need this for?  I don't really have
> > >> > > an issue with the code I just really want to make sure the feature would
> > >> > > be useful enough to justify the API and code maintenance going forward.
> > >> >
> > >> > Yes. What we have here is an application which takes care of different means
> > >> > of time synchronization (trusted time servers, different GSM operators, etc)
> > >> > and also different kinds of time-based events/notifications (like "dentist
> > >> > appointment next thursday"). When it encounters a time change that is
> > >> > made by some other application, it basically wants to disable automatic
> > >> > time adjustment and trigger the events/notifications which are due at this
> > >> > (new) time.
> > >>
> > >> Ok. Something specific is always more helpful then theoretical uses.
> > >>
> > >> I think the filtering is still a bit controversial, so you might want to
> > >> respin it without that. But otherwise I'm ok with it as long as no one
> > >> else objects to any of the minor details of the interface
> > >>
> > >> GregKH: Does /sys/kernel/time_notify seem ok by you?
> > >
> > > Um, it depends, what is that file going to do?  I don't see a
> > > Documentation/ABI/ entry here that describes it fully :)
> > 
> > I think that's really awkward interface, to pass file descriptor
> > numbers around and write them to magic sysfs files.
> 
> Ick, really?  That's not ok for sysfs.

This is how cgroups notifications work [1], for example. One obtains an
eventfd, one then writes its descriptor to a certain control file, one polls
said eventfd for events. The type of event is echoed to the same control file
together with the fd.

So, my idea was, basically to use the sysfs file as means to specify what
kind of time-related events a program wants to subscribe to. For example,

<int:eventfd descriptor> <bool:want other's time changes> <bool:want own time
changes> <bool:want settimeofday> <bool:want adjtime>

> > I would very much prefer a file that contains the current time, and
> > wakes up possible users with a POLL_ERR on changes caused by some
> > other process. That works very well for things like /proc/mounts, is
> > easy to get, and does not need a full page of weird instructions to
> > get stuff done. :)
> 
> That sounds more reasonable.

Polling a simple sysfs file is not enough as I described in the other mail,
unless it implements a counter similar to eventfd, which would effectively
make it another eventfd implementation, only with a dentry this time.

[1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/cgroup.c;h=a8ce099544049e787464c3e4261ac70625cc0653;hb=HEAD#l3071 onwards

Regards,
--
Alex
--
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