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]
Date:	Fri, 8 Oct 2010 11:42:06 -0400
From:	"John Stoffel" <john@...ffel.org>
To:	Eric Paris <eparis@...hat.com>
Cc:	John Stoffel <john@...ffel.org>,
	Tvrtko Ursulin <tvrtko.ursulin@...hos.com>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	agruen@...e.de
Subject: Re: Linux 2.6.36-rc7

>>>>> "Eric" == Eric Paris <eparis@...hat.com> writes:

Eric> On Thu, 2010-10-07 at 16:55 -0400, John Stoffel wrote:
>> So what happens when you try to register a priority level and someone
>> else has already gotten that level?  Does the call fail?  Do you get
>> bumped down to the next open level?  Can you *tell* what level you're
>> at and whether or not some other decision maker is ahead of you? 

Eric> Well it hasn't been discussed and implemented so I can't answer that.
Eric> *smile*

Ah, but you have implemented multiple notifiers registered at the same
time, without priorities, right?  So that's just the degenerate case
which I assume is handled already.

Eric> I will tell you that the way I envision it working (and being
Eric> backwards compatible) is that priority 0 is the last thing to be
Eric> serviced.  If 2 things register at the same priority the order
Eric> between them getting events is unpredictable.  So when an HSM
Eric> uses the interface it would use the highest priority.  An AV
Eric> vendor might use (highest priority / 2) while normal inotify
Eric> like listeners would all be happy using priority 0.

Ugh, I'd prefer that priority 0 is first (highest), but I can see how
that would make ABI problems, assuming we don't punt on releasing the
ABI now.  

So if the order is undefined now, that's not good.  Well... maybe it's
acceptable, but I can see all kinds of problems cropping up.
Hopefully they're processed in order of notifier creation instead.  So
if I insert a notifier, anyone who inserts a notifier after me gets
serviced after my notifier gets run.  That would seem to be the
logical and sane semantics to use here.

Again, I'm really approaching this as a SysAdmin who'd love to use
this in an HSM environment, so ordering is a *key* requirement.

Which is why I'm going to harp of the documentation in the Kernel from
day one too.  

>> But I'd really like some docs in the next release which tells me as a
>> poor dumb sysadmin how it can and should be used and what the gotchas
>> are.

Eric> We have example man-like pages in the commit logs which I expected to be
Eric> used as the basis for man pages once the interface was accepted.  They
Eric> aren't perfect but they are

Eric> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=52c923dd079df49f58016a9e56df184b132611d6
Eric> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=2a3edf86040a7e15684525a2aadc29f532c51325

Eric> You'll also find an example program which shows all of the
Eric> features at

Eric> http://git.kernel.org/?p=linux/kernel/git/agruen/fanotify-example.git;a=summary

Eric> I don't think digging around in kernel code is the right way   :)

Sure, but putting some design documentation which explains how it's
expected to be used, with pointers to the canonical site holding docs
and such *is* expected.  Just see the docs for inotify and such.  

Thanks for the pointers, I'll try to find the time to look them over
and make some more comments.

John
--
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