Re: kiobuf using kernel pages

Ingo Molnar (mingo@chiara.csoma.elte.hu)
Thu, 11 Nov 1999 12:08:25 +0100 (CET)


On Thu, 11 Nov 1999, Keith Owens wrote:

> Trying to port the SGI lcrash code to 2.3.26 ix86. It compiles, runs,
> traps the oops, starts writing the dump to swap, dies with -EFAULT in
> sd_raw_rw. My guess is because the buffer address is c2c00000, i.e. I
> am trying to do I/O directly from kernel pages, not from user space.
> sd_raw_rw() calls map_user_kiobuf() which is perfect for user space
> callers, no good for kernel callers. How do I get around this?

yes, map_user_kiobuf() works only on user addresses. You'll have to add a
map_kernel_kiobuf() function - which is probably super-simple as it doesnt
have to do any security checks and doesnt have to sync with the VM data
structures. You also might want to add an alloc_kernel_koibuf(),
free_kernel_kiobuf(), to let the kiobuf code allocate/free pages for you.

-- mingo

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