Re: ppc elf_map breakage with MAP_FIXED_NOREPLACE

From: Michal Hocko
Date: Sat Jan 27 2018 - 02:55:42 EST


On Fri 26-01-18 18:04:27, Anshuman Khandual wrote:
[...]
> I tried to instrument mmap_region() for a single instance of 'sed'
> binary and traced all it's VMA creation. But there is no trace when
> that 'anon' VMA got created which suddenly shows up during subsequent
> elf_map() call eventually failing it. Please note that the following
> VMA was never created through call into map_region() in the process
> which is strange.

Could you share your debugging patch?

> =================================================================
> [ 9.076867] Details for VMA[3] c000001fce42b7c0
> [ 9.076925] vma c000001fce42b7c0 start 0000000010030000 end 0000000010040000
> next c000001fce42b580 prev c000001fce42b880 mm c000001fce40fa00
> prot 8000000000000104 anon_vma (null) vm_ops (null)
> pgoff 1003 file (null) private_data (null)
> flags: 0x100073(read|write|mayread|maywrite|mayexec|account)
> =================================================================

Isn't this vdso or some other special mapping? It is not really an
anonymous vma. Please hook into __install_special_mapping

> VMA creation for 'sed' binary
> =============================
> [ 9.071902] XXX: mm c000001fce40fa00 registered
>
> [ 9.071971] Total VMAs 2 on MM c000001fce40fa00
> ----
> [ 9.072010] Details for VMA[1] c000001fce42bdc0
> [ 9.072064] vma c000001fce42bdc0 start 0000000010000000 end 0000000010020000
> next c000001fce42b580 prev (null) mm c000001fce40fa00
> prot 8000000000000105 anon_vma (null) vm_ops c008000011ddca18
> pgoff 0 file c000001fe2969a00 private_data (null)
> flags: 0x875(read|exec|mayread|maywrite|mayexec|denywrite)

This one doesn't have any stack trace either... Yet it is a file
mapping obviously. Special mappings shouldn't have any file associated.
Strange...
--
Michal Hocko
SUSE Labs