On Sunday 19 June 2005 10:49 pm, Aziz Kezzou wrote: > > On Tue, Jun 14, 2005 at 04:21:41AM -0400, Aziz Kezzou wrote: > > > 1 - Right now to access the memory address space of a user process > > > from kernel mode, I only have to set, on x86 systems, the register CR3 > > > to the right value. How can I do that on other architectures ? is > > > there an architecture-independant way of doing that ? > > > > Addition to the previous answer. It is also possible to temporally > > map several pages of user memory into the kernel address space. > > Check pmap_qenter(9) and see physio -> vmapbuf, for example, how to > > use it. Another method, it is possible to COW a single user page and > > then use it in the kernel, but with this method an user process will > > not see any modification in this page made by the kernel and vice > > versa. Check socow_setup -> vm_page_cowsetup, for example, how to > > use it. > > Very interesting ! > > Right now I am using the fact that the kernel address space is maped > on i386 machines into the user address space. So when I am executing a > system call I can access kernel memory. > I am wondering if there is an architecture-independant way of doing > that ? (Notice that I need not only read kernel memory but also free > it. e.g, mbufs ) or at least could you tell me if that's possible on > other architectures ?
Are you modifying kernel memory from userland or are you trying to access user memory from kernel code? -- John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"