From: Robert Hancock <hancockr@shaw.ca>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Vinay Venkataraghavan <raghavanvinay@yahoo.com>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: copy_from_user/copy_to_user question
Date: Fri, 02 Dec 2005 21:33:49 -0600 [thread overview]
Message-ID: <4391121D.9080305@shaw.ca> (raw)
In-Reply-To: <1133580225.4894.29.camel@localhost.localdomain>
Steven Rostedt wrote:
> Nope, the kernel is always locked into memory. If you take a page fault
> from the kernel world, you will crash and burn. The kernel is never
> "swapped out". So if you are in kernel mode, going into do_page_fault
> in arch/i386/mm/fault.c there is no path to swap a page in. Even the
> vmalloc_fault only handles a page not in the page global descriptor of
> the current task. But if this page is not mapped somewhere in memory
> (not swapped out), you will get a kernel oops.
>
> Kernel memory may never be swapped out. What happens if an interrupt
> tries to use such memory. How does it handle sleeping?
>
> Just change copy_to_user into memcopy, and see how long your system
> stays up and running. Do it on a machine that you don't need to worry
> about rogue applications. It won't last very long.
Yes, kernel memory is never swapped out. But my point is merely that as
far as I know there is no special handling in the copy_to/from_user
functions to handle the case where the userspace memory is swapped out,
and therefore this would not be an issue for accessing the memory
directly. Obviously this is not something that one should actually do,
since access faults are not trapped and on some architectures or
configurations it won't work at all.
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@nospamshaw.ca
Home Page: http://www.roberthancock.com/
next prev parent reply other threads:[~2005-12-03 3:33 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <5fv0G-3kS-11@gated-at.bofh.it>
[not found] ` <5fvam-3vP-9@gated-at.bofh.it>
2005-12-03 2:47 ` copy_from_user/copy_to_user question Robert Hancock
2005-12-03 3:23 ` Steven Rostedt
2005-12-03 3:33 ` Robert Hancock [this message]
2005-12-03 4:53 ` Steven Rostedt
2005-12-03 22:35 ` Andi Kleen
2005-12-03 18:26 ` Steven Rostedt
2005-12-06 17:53 ` Vinay Venkataraghavan
2005-12-06 17:56 ` Arjan van de Ven
2005-12-06 18:23 ` Steven Rostedt
2005-12-06 18:23 ` linux-os (Dick Johnson)
2005-12-06 18:42 ` Steven Rostedt
2005-12-06 19:58 ` linux-os (Dick Johnson)
2005-12-06 20:05 ` Vinay Venkataraghavan
2005-12-02 22:40 Vinay Venkataraghavan
2005-12-03 1:09 ` Steven Rostedt
2005-12-03 1:38 ` Al Viro
2005-12-03 2:02 ` Steven Rostedt
2005-12-03 2:11 ` Vinay Venkataraghavan
2005-12-03 2:22 ` Vinay Venkataraghavan
2005-12-03 2:27 ` Steven Rostedt
2005-12-03 8:33 ` Arjan van de Ven
2005-12-03 9:43 ` Heiko Carstens
2005-12-03 12:14 ` Steven Rostedt
2005-12-03 22:33 ` Andi Kleen
2005-12-05 13:31 ` linux-os (Dick Johnson)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4391121D.9080305@shaw.ca \
--to=hancockr@shaw.ca \
--cc=linux-kernel@vger.kernel.org \
--cc=raghavanvinay@yahoo.com \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox