This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: loc2c-runtime deref()
- From: Roland McGrath <roland at redhat dot com>
- To: "Frank Ch. Eigler" <fche at redhat dot com>
- Cc: systemtap at sources dot redhat dot com
- Date: Thu, 18 Aug 2005 15:09:05 -0700 (PDT)
- Subject: Re: loc2c-runtime deref()
> OK. So you are indeed passing kernel-space pointers to this routine,
> which in (all?) other cases is given __user pointers. This works
> because normally the kernel address space is mapped at constant
> addresses, and that this low-level function bypasses the usual
> access_ok checks. It is in a way a coincidence.
Those mapping issues have nothing to do with it. The low-level macro does
what I said: memory access with fault recovery. You seem to be much
perturbed by that macro's name. It's indeed a coincidence that there is
this macro at hand that does precisely what we need, to save us rewriting
all the assembly by hand. Of course, I've spent more time writing email
about it now that it would take to copy and maintain the assembly magic
instead of reusing the perfect code already at hand. So much for
labor-saving techniques.
> > I provided macros that work. [...]
>
> OK. (It would not work on 4G+4G, right?)
It works fine. Only actual user access is complicated by 4G+4G.