Messages in this thread | | | Date | Tue, 23 Jun 2015 18:04:43 +0300 | From | Pavel Emelyanov <> | Subject | Re: vdso && f_op->mremap (Was: special_mapping_fault() is broken) |
| |
On 06/23/2015 03:47 AM, Oleg Nesterov wrote: > On 06/21, Oleg Nesterov wrote: >> >> Forgot to add Andy... > > Add Pavel ;) > > I never understood why ->mremap() lives in file_operations, not in > vm_operations_struct. To me vma->vm_file->f_op in move_vma() just > looks strange, vma->vm_ops->mremap(new_vma) looks "obviously better". > > And afaics more useful. CRIU remaps vdso, but this does not update > mm->context.vdso. OK, probably this does not matter currently, CRIU > can't c/r the compat tasks, and 64-bit apps do not use context.vdso.
Yup, the context.vdso exists not for all vdso-s. There should have been a patch for power arch adding this change.
> Afaics. Still, I think we might want to have special_mapping_remap() > and we can't do this because ->vm_file == NULL.
For aio (the single for now mapping with mremap callback) the vm_file is not NULL.
> And perhaps other architectures can depend on the "correct" value > in >context.vdso more then x86, I dunno... > > In short. Shouldn't we move ->mremap() to vm_operations_struct before > it has another user? We need to fix aio.c, but this is trivial. > > No?
I will be OK with this change :)
-- Pavel
| |