WSL2-Linux-Kernel/fs
Benjamin Herrenschmidt 547ee84cea [PATCH] ppc64: Improve mapping of vDSO
This patch reworks the way the ppc64 is mapped in user memory by the kernel
to make it more robust against possible collisions with executable
segments.  Instead of just whacking a VMA at 1Mb, I now use
get_unmapped_area() with a hint, and I moved the mapping of the vDSO to
after the mapping of the various ELF segments and of the interpreter, so
that conflicts get caught properly (it still has to be before
create_elf_tables since the later will fill the AT_SYSINFO_EHDR with the
proper address).

While I was at it, I also changed the 32 and 64 bits vDSO's to link at
their "natural" address of 1Mb instead of 0.  This is the address where
they are normally mapped in absence of conflict.  By doing so, it should be
possible to properly prelink one it's been verified to work on glibc.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16 15:24:35 -07:00
..
adfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
affs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
afs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
autofs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
autofs4 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
befs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cifs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
coda Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cramfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
debugfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
devfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
devpts Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
efs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exportfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ext2 [PATCH] Fix acl Oops 2005-04-16 15:24:00 -07:00
ext3 [PATCH] Fix acl Oops 2005-04-16 15:24:00 -07:00
fat Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
freevxfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hfsplus Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hostfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hpfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hppfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hugetlbfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
isofs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jbd Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jffs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jffs2 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lockd Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
minix Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msdos Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ncpfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nfsd Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nls Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ntfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
openpromfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
partitions Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
proc [PATCH] meminfo: add Cached underflow check 2005-04-16 15:24:08 -07:00
qnx4 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ramfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
reiserfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
romfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smbfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysv Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
udf Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ufs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
umsdos Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vfat Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig.binfmt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aio.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
attr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bad_inode.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_aout.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_elf.c [PATCH] ppc64: Improve mapping of vDSO 2005-04-16 15:24:35 -07:00
binfmt_elf_fdpic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_em86.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_flat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_misc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_script.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_som.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bio.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
block_dev.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
buffer.c [PATCH] end_buffer_write_sync() avoid pointless assignments 2005-04-16 15:24:07 -07:00
char_dev.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat_ioctl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dcache.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dcookies.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
direct-io.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dnotify.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dquot.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
eventpoll.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exec.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fcntl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fifo.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
file.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
file_table.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
filesystems.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fs-writeback.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
inode.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
libfs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
locks.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mbcache.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mpage.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
namei.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
namespace.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nfsctl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
open.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pipe.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
posix_acl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
quota.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
quota_v1.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
quota_v2.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
read_write.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
readdir.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
select.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
seq_file.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
stat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
super.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xattr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xattr_acl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00