[CRIU] [PATCH 3/3] arm64: detect vDSO remaps

Cyrill Gorcunov gorcunov at gmail.com
Wed Mar 12 05:20:30 PDT 2014


On Wed, Mar 12, 2014 at 08:04:14AM -0400, Christopher Covington wrote:
> Hi Cyrill,
> 
> On 03/12/2014 02:16 AM, Cyrill Gorcunov wrote:
> > On Wed, Mar 12, 2014 at 10:15:13AM +0400, Alexander Kartashov wrote:
> >>>> This patch copes with this problem by adjusting the task struct
> >>>> when the vDSO area is remapped.
> >>> What a crap ;) Could you point which exactly variable in task struct
> >>> bound to vdso address?
> >>
> >> I'm sorry it's not task struct but mm struct but this doesn't make
> >> any difference. The problem initialization is this
> >> http://lxr.free-electrons.com/source/arch/arm64/kernel/vdso.c#L171
> > 
> > So we will meet the same problem on x86-32 ;) I guess we rather need
> > prctl extension for that which would allow to do user-space
> > 
> >  - remap vdso into a new place (setting up mm::context.vdso to null
> >    or something, to disable vdso handling until mm::context.vdso reassigned)
> >  - call prctl and set up new mm::context.vdso value
> > 
> > need to think...
> 
> What makes you propose this alternative? Do you think Alexander's approach
> would constitute and ABI change and not be accepted upstream, or does it not
> port well to x86 LP32, or something else?

Hi Christopher. I fear the first one -- ie might not be accepted by upstream.
prctl code was designed exactly for our (c/r) needs so I expect less complains
there if we modify the prctl opcodes. On the other hands I think prctl modifucations
might be not less massive. Pavel, what do you think?


More information about the CRIU mailing list