Re: [PATCH v4 2/2] powerpc/mm: Tracking vDSO remap

2015-03-27 Thread Laurent Dufour
On 26/03/2015 19:55, Ingo Molnar wrote: > > * Laurent Dufour wrote: > >> +{ >> +unsigned long vdso_end, vdso_start; >> + >> +if (!mm->context.vdso_base) >> +return; >> +vdso_start = mm->context.vdso_base; >> + >> +#ifdef CONFIG_PPC64 >> +/* Calling is_32bit_task()

Re: [PATCH v4 2/2] powerpc/mm: Tracking vDSO remap

2015-03-27 Thread Laurent Dufour
On 26/03/2015 19:55, Ingo Molnar wrote: * Laurent Dufour lduf...@linux.vnet.ibm.com wrote: +{ +unsigned long vdso_end, vdso_start; + +if (!mm-context.vdso_base) +return; +vdso_start = mm-context.vdso_base; + +#ifdef CONFIG_PPC64 +/* Calling is_32bit_task()

Re: [PATCH v4 2/2] powerpc/mm: Tracking vDSO remap

2015-03-26 Thread Ingo Molnar
* Laurent Dufour wrote: > +{ > + unsigned long vdso_end, vdso_start; > + > + if (!mm->context.vdso_base) > + return; > + vdso_start = mm->context.vdso_base; > + > +#ifdef CONFIG_PPC64 > + /* Calling is_32bit_task() implies that we are dealing with the > + *

[PATCH v4 2/2] powerpc/mm: Tracking vDSO remap

2015-03-26 Thread Laurent Dufour
Some processes (CRIU) are moving the vDSO area using the mremap system call. As a consequence the kernel reference to the vDSO base address is no more valid and the signal return frame built once the vDSO has been moved is not pointing to the new sigreturn address. This patch handles vDSO

[PATCH v4 2/2] powerpc/mm: Tracking vDSO remap

2015-03-26 Thread Laurent Dufour
Some processes (CRIU) are moving the vDSO area using the mremap system call. As a consequence the kernel reference to the vDSO base address is no more valid and the signal return frame built once the vDSO has been moved is not pointing to the new sigreturn address. This patch handles vDSO

Re: [PATCH v4 2/2] powerpc/mm: Tracking vDSO remap

2015-03-26 Thread Ingo Molnar
* Laurent Dufour lduf...@linux.vnet.ibm.com wrote: +{ + unsigned long vdso_end, vdso_start; + + if (!mm-context.vdso_base) + return; + vdso_start = mm-context.vdso_base; + +#ifdef CONFIG_PPC64 + /* Calling is_32bit_task() implies that we are dealing with the