Re: [PATCH] Fix mmap_kmem (was: [question] What's the difference between /dev/kmem and /dev/mem)

Andi Kleen
2005-08-12T18:26:45Z

On Fri, Aug 12, 2005 at 07:56:26PM +0200, Arjan van de Ven wrote:
> On Fri, 2005-08-12 at 18:54 +0200, Andi Kleen wrote:
> > Linus Torvalds <torvalds@osdl.org> writes:
> > >
> > > I'm actually more inclined to try to deprecate /dev/kmem.. I don't think
> > > anybody has ever really used it except for some rootkits.
> >
> > I don't think that's true.
>
> got any examples ?

I wrote some hacks over the years, not sure it would be useful
to post them because they all were very special purpose.

I know users are doing the same because they complain on x86-64
when it doesn't work.

> > > So I'd be perfectly happy to fix this, but I'd be even happier if we made
> > > the whole kmem thing a config variable (maybe even default it to "off").
> >
> > Acessing vmalloc in /dev/mem would be pretty awkward. Yes it doesn't
> > also work in mmap of /dev/kmem, but at least in read/write.
> > There are quite a lot of scripts that use it for kernel debugging
> > like dumping variables. And for that you really want to access modules
> > and vmalloc. And it's much easier to parse than /proc/kcore
>
> but you can stick gdb on /proc/kcore...

That's much more complicated. Instead of a simple read you would
need to parse complex ASCII output. Also gdb normally doesn't
work with a single System.map or /proc/kallsyms. I know it could
be gotten to use that stuff, but that would be all very complicated.
Much more complicated than read/write on /dev/kmem.

-Andi