mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 01:40:53 +07:00
fs, elf: don't complain MAP_FIXED_NOREPLACE unless -EEXIST error
Commit4ed2863951
("fs, elf: drop MAP_FIXED usage from elf_map") is printing spurious messages under memory pressure due to map_addr == -ENOMEM. 9794 (a.out): Uhuuh, elf segment at 00007f2e34738000(fffffffffffffff4) requested but the memory is mapped already 14104 (a.out): Uhuuh, elf segment at 00007f34fd76c000(fffffffffffffff4) requested but the memory is mapped already 16843 (a.out): Uhuuh, elf segment at 00007f930ecc7000(fffffffffffffff4) requested but the memory is mapped already Complain only if -EEXIST, and use %px for printing the address. Link: http://lkml.kernel.org/r/201804182307.FAC17665.SFMOFJVFtHOLOQ@I-love.SAKURA.ne.jp Fixes:4ed2863951
("fs, elf: drop MAP_FIXED usage from elf_map") is Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Acked-by: Michal Hocko <mhocko@suse.com> Cc: Andrei Vagin <avagin@openvz.org> Cc: Khalid Aziz <khalid.aziz@oracle.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Kees Cook <keescook@chromium.org> Cc: Abdul Haleem <abdhalee@linux.vnet.ibm.com> Cc: Joel Stanley <joel@jms.id.au> Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
a841aa83df
commit
d23a61ee90
@ -377,10 +377,10 @@ static unsigned long elf_map(struct file *filep, unsigned long addr,
|
||||
} else
|
||||
map_addr = vm_mmap(filep, addr, size, prot, type, off);
|
||||
|
||||
if ((type & MAP_FIXED_NOREPLACE) && BAD_ADDR(map_addr))
|
||||
pr_info("%d (%s): Uhuuh, elf segment at %p requested but the memory is mapped already\n",
|
||||
task_pid_nr(current), current->comm,
|
||||
(void *)addr);
|
||||
if ((type & MAP_FIXED_NOREPLACE) &&
|
||||
PTR_ERR((void *)map_addr) == -EEXIST)
|
||||
pr_info("%d (%s): Uhuuh, elf segment at %px requested but the memory is mapped already\n",
|
||||
task_pid_nr(current), current->comm, (void *)addr);
|
||||
|
||||
return(map_addr);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user