Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Apr 2001 18:06:38 +0200 (CEST)
From:      Andrzej Bialecki <abial@webgiro.com>
To:        Gunther Schadow <gunther@aurora.regenstrief.org>
Cc:        freebsd-small@freebsd.org
Subject:   Re: PicoBSD's kernel, /dev/kmem, and the kernfs
Message-ID:  <Pine.BSF.4.20.0104241756210.81364-100000@mx.webgiro.com>
In-Reply-To: <3AE59808.E1CC8B49@aurora.regenstrief.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 24 Apr 2001, Gunther Schadow wrote:

> Hi,
> 
> trying to use the ipfilter suite with PicoBSD poses problems. Ipfstat
> uses /kernel and /dev/kmem to read the filter statistics and this seems
> not available on PicoBSD.  Sure this is because the PicoBSD kernel is
> without any symbols and is gzipped, and is not even in the root file 
> system. There are all good reasons why this is so (even if PicoBSD is
> used from a flash ROM instead of a floppy.) But could one not make 
> kernel and kmem available anyway using the kernfs virtual file system?
> I could imagine that we need not absolutely strip the kernel from its
> symbol table. We could still gzip the kernel. Given that the kernel
> is loaded into physical memory, could it not be accessible from there
> to the kernfs virtual file system? Or mapped into the mfs root file
> system? How hard would it be?
> 
> There are a number of system tools that use kernel and kmem, moving
            *********
"a rapidly decreasing number"...

> all of them to something like sps and vm etc. would be a lot of 
> repetitive work, there should be a more fundamental solution...
> 
> Any thoughts?
> -Gunther

Well, the general trend in FreeBSD kernel development is to phase out all
/dev/kmem access, even when wrapped with libkvm calls, using sysctl(9)
instead. Groping through kernel memory is Bad. Sysctl(9) presents
consistent, safe, and well-defined interface.

The utilities like vm, ns, and others are in fact now much closer to the
standard utilities, because recently most (if not all) kvm_* calls in the
latter have been replaced with sysctl calls.

So, the fundamental solution is to move everything that needs to access
from user-space any internal kernel data structures either to a device or
a sysctl.

Consequently, my POV on this is: if ipfilter uses /dev/kmem, then it
should be fixed.

Andrzej

// ----------------------------------------------------------------
// Andrzej Bialecki <abial@webgiro.com>, Chief System Architect
// WebGiro AB, Sweden (http://www.webgiro.com)
// ----------------------------------------------------------------
// <abial@freebsd.org> FreeBSD developer (http://www.freebsd.org)


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-small" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.20.0104241756210.81364-100000>