share buffer between user and kernel?

From: Peter T. Breuer (ptb@it.uc3m.es)
Date: Tue Oct 09 2001 - 02:03:35 EST


What is the currently approved method of sharing a buffer between
userspace and kernelspace, so that I can avoid one or two
copy_to/from_user?

It used to be that one reimplemented mmap to provide the kernel
with some vmalloced memory which one went through reserving, then
the mmap interface automagically provided the right address to
userspace. I get the impression that there are nowadays much
slicker and cleaner ways to do this ... but searching the code
for examples of the absence of copy_to_user is, errm, difficult.

The sound drivers seem to play around in this area, but they
are mapping real physical memory, which I don't want. Is there
an example which uses vmalloced memory?

Or should I just be making a buffer in userspace, then passing
the address to the kernel, then locking it somehow, then collapsing
it to a kernel address? It's going to be about 256K at most.

Suggestions very gratefully received!

Peter
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Oct 15 2001 - 21:00:23 EST