tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Detecting changes of misc kernel values

On Mon, 19 Oct 2009, Ty Sarna wrote:

> 3) kqueue, with a new EVFILT_SYSCTL, as a way to watch arbitrary nodes.

> hostname
> domainname (laptop that roams between NIS domains?)
> securelevel?
> v4 and v6 forwarding-enabled state?
> I'm interested in:
> - thoughts pro/con the various options
> - other options I missed
> - other things that should be watchable beyond the five I came up with.

just a point of note, the things you listed were in fact all sysctl nodes
that are changed from userland rather than being a mirror of a kernel
variable, so it doesn't seem that wrong to limit the watching to nodes
updated via sysctl_dispatch() ..

I wonder how many actual nodes there are that simply mirror a kernel
variable and don't provide a way to set it? (not talking about eg
"pcblist" which is a way to extract a bunch of system state) In any case
it shouldn't be too difficult to expose a sysctl_notify() function for
providers of such nodes that require watch capability..

If the kqueue identifier is a uintptr_t then surely it being a pointer is
already supported?  You might need to extend the sysctl syscall to return
a the node pointer (or add another syscall for that).

because of this I lean towards 3  :)


Home | Main Index | Thread Index | Old Index