matthew green <m...@eterna.com.au> wrote: > > I've committed a quick fix. However, the problem here is that > > sys/sysctl.h, sys/proc.h and sys/lwp.h are exposing structures for KVM > > grovellers to all userspace. Therefore struct kinfo_proc2, sys/proc.h and > > friends should not even be seen. We will revisit this, hopefully.. > > struct kinfo_proc2 is _100%_ for exporting to userland. that's the sole > purpose it exists... Yes, but does it need to be in public namespace in sysctl.h? It is a part of separate interface - kvm(3), rarely used by regular applications. And more to the point, it includes struct proc, struct lwp and so on, which is messy. I realise that we probably cannot do much without breaking backwards compatibility, though..
you're misreading something. struct kinfo_proc is not binary compatable. but a long time ago we introduced struct kinfo_proc2 that _is_ forwards compatible and is part of the reason that ps(1) works just fine on new kernels these days. .mrg.