Subject: Re: ppc elf_map breakage with MAP_FIXED_NOREPLACE

From: Michal Hocko <[email-masked]>
Date: Fri, 26 Jan 2018 15:04:15 +0100

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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to [email-masked].  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email-masked]"> [email-masked] </a>