lkml.org 
[lkml]   [1999]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: kiobuf using kernel pages
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?

There is a mechanism in the patch to pass AS_KERNEL to map_user_kiobuf()
so that the kernel pages are tagged appropriately for raw I/O. Given
that, when sd_raw_rw() is called, if the f_reada flag of the file
pointer is DUMP_KIOBUF_NUMBER, we automatically set AS_KERNEL.

|>Changing sd_raw_rw to indicate if the caller is kernel or user would
|>work but is clumsy, all callers have to change. Can I map the kernel
|>pages into user space, if so how? Or would set_fs (get_ds()) fudge the
|>mappings enough to work?

If you have the appropriate patch, this should all work correctly.

--Matt


-
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/

\
 
 \ /
  Last update: 2005-03-22 13:54    [W:0.124 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site