read/write to virtual address

Daniel Krefft daniel.krefft at
Wed Feb 15 09:55:19 CET 2017


we came across two functions (read/write) that are defined in the l4
base API documentation:

1) What does the description "functionality to access user task memory
from the kernel" mean? This could be interpreted as accessing user-space
memory from within the kernel?!

2) Are there any equivalent memory read/write functions inside the l4re
that also take a virtual address as a parameter?

To clarify, all intended operations (read/write) should not modify
user-space memory from inside the kernel or vice versa. User-space
defined read/write functions should operate in user-space exclusively.


On 14.02.2017 23:29, Adam Lackorzynski wrote:
> Hi,
> On Tue Feb 14, 2017 at 10:38:26 +0100, Daniel Krefft wrote:
>> while working on a checkpoint/restore mechanism for fiasco.oc, we want
>> to trace read and write (kernel) calls to (virtual) memory.
>> 1) Where are these calls defined? We're just able to find ARM specific
>> calls inside the kernel, which allow writing and reading to/from a
>> virtual address
>> 2) Are these calls (if existent) platform agnostic (user-space)? Is
>> there any kind of interface?
> I do not quite get the question. The kernel (Fiasco) is running in
> virtual memory, also when running in the kernel, i.e. any load/store
> operation that is in the code is through virtual memory.
> Do you want to trace any read/write issued by the kernel to user-level
> memory? I'm afraid, the kernel does not do that, i.e. it never touches
> user-level memory (except the specially treated UTCB memory).
> Could you please describe your question more verbosely?
> Adam
> _______________________________________________
> l4-hackers mailing list
> l4-hackers at

Daniel Krefft MSc.
Wissenschaftlicher Mitarbeiter

Technische Universitaet Muenchen
Fakultaet fuer Informatik
Lehrstuhl fuer Betriebssysteme

Arcisstrasse 21
80333 Muenchen

Tel. +49 89 289 18791

daniel.krefft at

More information about the l4-hackers mailing list