Bug 155231

Summary: powerpc : native aslr vdso randomization is not working in powerpc platform
Product: Platform Specific/Hardware Reporter: Arnob Ghosh (aghosh)
Component: PPC-32Assignee: platform_ppc-32
Status: CLOSED CODE_FIX    
Severity: normal CC: christophe.leroy, michael
Priority: P1    
Hardware: PPC-32   
OS: Linux   
Kernel Version: 4.7.0-rc5+ Subsystem:
Regression: No Bisected commit-id:

Description Arnob Ghosh 2016-08-29 07:31:09 UTC
vdso randomization is not working in powerpc platform (freescale-p2020ds).
Its always gives 0x00100000 address.

root@Tom:~# ldd /usr/bin/less | grep vdso
	linux-vdso32.so.1 (0x00100000)
root@Tom:~# ldd /usr/bin/less | grep vdso
	linux-vdso32.so.1 (0x00100000)
root@Tom:~# ldd /usr/bin/less | grep vdso
	linux-vdso32.so.1 (0x00100000)
root@Tom:~# ldd /usr/bin/less | grep vdso
	linux-vdso32.so.1 (0x00100000)
root@Tom:~# ldd /usr/bin/less | grep vdso
	linux-vdso32.so.1 (0x00100000)
root@Tom:~# ldd /usr/bin/less | grep vdso
	linux-vdso32.so.1 (0x00100000)
root@Tom:~# ldd /usr/bin/less | grep vdso
	linux-vdso32.so.1 (0x00100000)

This is a always even with heap randomization.

root@Tom:~# cat /proc/sys/kernel/randomize_va_space 
2

Same issue is also observed with powerpc-64 bit platform also.


Thanks,
Arnob
Comment 1 Michael Ellerman 2016-09-05 03:51:24 UTC
Works for me on 64-bit Power8 machine:

$ ldd /usr/bin/less | grep vdso
	linux-vdso64.so.1 =>  (0x00003fff9b410000)
$ ldd /usr/bin/less | grep vdso
	linux-vdso64.so.1 =>  (0x00003fff7d270000)
$ ldd /usr/bin/less | grep vdso
	linux-vdso64.so.1 =>  (0x00003fffab350000)
Comment 2 Christophe Leroy 2019-06-09 07:41:52 UTC
See related ppc issue https://github.com/linuxppc/issues/issues/59
Comment 3 Michael Ellerman 2024-02-26 10:52:08 UTC
This was fixed in v6.1, see:

https://github.com/torvalds/linux/commit/8a8f7866663588b162031a5348c24e42161461cd