diff options
Diffstat (limited to 'Documentation/sysctl')
-rw-r--r-- | Documentation/sysctl/kernel.txt | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index 2dbff53369d0..3e5b63ebb821 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt | |||
@@ -319,25 +319,29 @@ This option can be used to select the type of process address | |||
319 | space randomization that is used in the system, for architectures | 319 | space randomization that is used in the system, for architectures |
320 | that support this feature. | 320 | that support this feature. |
321 | 321 | ||
322 | 0 - Turn the process address space randomization off by default. | 322 | 0 - Turn the process address space randomization off. This is the |
323 | default for architectures that do not support this feature anyways, | ||
324 | and kernels that are booted with the "norandmaps" parameter. | ||
323 | 325 | ||
324 | 1 - Make the addresses of mmap base, stack and VDSO page randomized. | 326 | 1 - Make the addresses of mmap base, stack and VDSO page randomized. |
325 | This, among other things, implies that shared libraries will be | 327 | This, among other things, implies that shared libraries will be |
326 | loaded to random addresses. Also for PIE-linked binaries, the location | 328 | loaded to random addresses. Also for PIE-linked binaries, the |
327 | of code start is randomized. | 329 | location of code start is randomized. This is the default if the |
330 | CONFIG_COMPAT_BRK option is enabled. | ||
328 | 331 | ||
329 | With heap randomization, the situation is a little bit more | 332 | 2 - Additionally enable heap randomization. This is the default if |
330 | complicated. | 333 | CONFIG_COMPAT_BRK is disabled. |
331 | There a few legacy applications out there (such as some ancient | 334 | |
335 | There are a few legacy applications out there (such as some ancient | ||
332 | versions of libc.so.5 from 1996) that assume that brk area starts | 336 | versions of libc.so.5 from 1996) that assume that brk area starts |
333 | just after the end of the code+bss. These applications break when | 337 | just after the end of the code+bss. These applications break when |
334 | start of the brk area is randomized. There are however no known | 338 | start of the brk area is randomized. There are however no known |
335 | non-legacy applications that would be broken this way, so for most | 339 | non-legacy applications that would be broken this way, so for most |
336 | systems it is safe to choose full randomization. However there is | 340 | systems it is safe to choose full randomization. |
337 | a CONFIG_COMPAT_BRK option for systems with ancient and/or broken | 341 | |
338 | binaries, that makes heap non-randomized, but keeps all other | 342 | Systems with ancient and/or broken binaries should be configured |
339 | parts of process address space randomized if randomize_va_space | 343 | with CONFIG_COMPAT_BRK enabled, which excludes the heap from process |
340 | sysctl is turned on. | 344 | address space randomization. |
341 | 345 | ||
342 | ============================================================== | 346 | ============================================================== |
343 | 347 | ||