Thread (2 messages) 2 messages, 2 authors, 2017-02-13

Re: mmap paging problems

From: Julia Cartwright <hidden>
Date: 2017-02-13 16:03:36

On Fri, Feb 10, 2017 at 07:48:26PM -0500, Brian Wrenn wrote:
Hi,
Hey Brian-
I have a kernel module running within Linaro 4.4.9 with PREEMPT RT 17.
Within that module I attempt to transfer data from the kernel module
to user space.  The user space application does not run real-time,
just in plain Linux user space.  With each attempted run I get a
kernel dump that begins with the following:

Unable to handle kernel paging request at virtual address <some address>

I'm using mmap in a fairly straightforward way.  Basically, upon an
IOC command from the user space application to the kernel module, the
kernel module attempts to copy data into the memory mapped area.  I've
checked, double checked, and triple checked that I'm not writing to a
bad address or an address outside of the mmap'ed area.
How are you performing your checks?  How are you performing the copy?
Are there some special (special in the sense of in addition to or
instead of the way done for a non-PREEMPT-RT kernel) things one must
do to safely write mmap'ed data within a PREEMPT RT kernel?
You didn't explicitly mention it, so I thought I'd check: the same
operation, performed on a non-RT kernel doesn't reproduce the above
OOPs?

   Julia
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help