Kees Cook
2b68f6caea
mm: expose arch_mmap_rnd when available
...
When an architecture fully supports randomizing the ELF load location,
a per-arch mmap_rnd() function is used to find a randomized mmap base.
In preparation for randomizing the location of ET_DYN binaries
separately from mmap, this renames and exports these functions as
arch_mmap_rnd(). Additionally introduces CONFIG_ARCH_HAS_ELF_RANDOMIZE
for describing this feature on architectures that support it
(which is a superset of ARCH_BINFMT_ELF_RANDOMIZE_PIE, since s390
already supports a separated ET_DYN ASLR from mmap ASLR without the
ARCH_BINFMT_ELF_RANDOMIZE_PIE logic).
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Hector Marco-Gisbert <hecmargi@upv.es>
Cc: Russell King <linux@arm.linux.org.uk>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: "David A. Long" <dave.long@linaro.org>
Cc: Andrey Ryabinin <a.ryabinin@samsung.com>
Cc: Arun Chandran <achandran@mvista.com>
Cc: Yann Droneaud <ydroneaud@opteya.com>
Cc: Min-Hua Chen <orca.chen@gmail.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Alex Smith <alex@alex-smith.me.uk>
Cc: Markos Chandras <markos.chandras@imgtec.com>
Cc: Vineeth Vijayan <vvijayan@mvista.com>
Cc: Jeff Bailey <jeffbailey@google.com>
Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: Behan Webster <behanw@converseincode.com>
Cc: Ismael Ripoll <iripoll@upv.es>
Cc: Jan-Simon Mller <dl9pf@gmx.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-04-14 16:49:05 -07:00
..
2015-02-10 10:23:15 +00:00
2015-01-29 10:54:43 +02:00
2014-12-07 21:22:09 +01:00
2015-02-19 13:31:40 +03:00
2015-02-03 11:06:11 -08:00
2014-10-15 20:31:05 +05:30
2015-01-15 17:23:22 +01:00
2014-12-14 14:57:16 -08:00
2015-03-29 16:17:10 +01:00
2015-02-01 11:50:35 -08:00
2015-04-11 11:17:28 +02:00
2014-11-24 17:24:08 -05:00
2015-04-13 17:07:21 -07:00
2015-03-02 15:27:19 -05:00
2014-12-15 18:19:03 -08:00
2015-04-09 09:08:15 +02:00
2015-02-18 08:01:44 -08:00
2015-02-11 10:28:45 -08:00
2015-03-05 10:08:14 +01:00
2015-03-27 12:19:37 +01:00
2015-04-06 17:46:27 +02:00
2015-04-10 19:16:03 +01:00
2015-02-16 17:56:05 -08:00
2015-04-11 23:09:18 +01:00
2015-01-29 10:49:28 +02:00
2015-03-31 14:15:08 -04:00
2015-04-07 11:17:34 +02:00
2015-03-18 17:27:03 +01:00
2015-02-05 15:09:26 +01:00
2015-01-28 18:45:23 -05:00
2015-01-28 18:45:23 -05:00
2015-03-27 11:59:22 -04:00
2014-10-27 14:16:19 -04:00
2014-11-10 12:40:48 +01:00
2015-02-17 15:27:47 -08:00
2015-02-17 16:12:34 -08:00
2014-10-09 22:26:01 -04:00
2015-02-17 21:33:27 +01:00
2014-12-13 12:42:51 -08:00
2015-02-05 09:30:43 -07:00
2015-02-13 21:21:39 -08:00
2014-11-16 09:55:39 +01:00
2014-12-22 16:43:06 +00:00
2015-04-08 09:41:41 -07:00
2015-02-12 14:13:23 -08:00
2015-02-11 11:24:14 -07:00
2014-11-13 16:17:06 -08:00
2014-12-05 21:47:32 -08:00
2014-10-01 22:12:48 -04:00
2014-11-07 11:45:00 -08:00
2015-01-20 14:02:58 -07:00
2015-01-06 12:02:46 -05:00
2015-01-06 12:02:46 -05:00
2015-04-14 16:49:03 -07:00
2015-02-18 09:40:07 -08:00
2015-03-11 15:56:59 -07:00
2014-11-20 10:43:16 -04:00
2015-04-03 08:44:37 +02:00
2015-03-13 08:07:08 +01:00
2015-04-14 16:49:04 -07:00
2014-09-29 14:36:26 -04:00
2015-02-11 17:06:04 -08:00
2015-01-27 09:37:53 +00:00
2015-02-13 21:21:42 -08:00
2015-02-13 21:21:42 -08:00
2015-02-13 21:21:40 -08:00
2015-03-27 09:42:01 +01:00
2015-02-04 10:42:55 -08:00
2014-12-17 09:00:04 -04:00
2014-11-07 11:45:00 -08:00
2014-10-21 00:51:01 +02:00
2015-01-23 23:06:44 +01:00
2015-04-03 13:15:50 +02:00
2015-02-13 21:21:39 -08:00
2014-10-27 11:15:27 -04:00
2014-10-22 16:14:04 -06:00
2014-09-27 09:14:59 -06:00
2014-12-05 17:19:27 -06:00
2015-01-20 14:44:19 +11:00
2015-02-12 18:54:15 -08:00
2015-02-22 11:38:38 -05:00
2015-02-17 12:21:51 -05:00
2015-01-30 17:56:40 +09:00
2014-12-19 22:55:06 +01:00
2015-02-27 14:53:16 -05:00
2015-03-25 14:53:58 +01:00
2014-12-01 16:50:45 +00:00
2015-02-02 16:55:43 -08:00
2015-04-07 16:45:33 -07:00
2014-11-18 11:18:35 +01:00
2015-01-21 19:21:30 +01:00
2014-11-10 09:27:30 -07:00
2014-10-03 14:55:48 -07:00
2014-09-29 00:04:55 -04:00
2014-10-20 14:22:22 +02:00
2014-11-25 15:42:53 +01:00
2015-04-01 12:46:22 +01:00
2015-04-14 16:49:05 -07:00
2014-11-24 07:45:02 +01:00
2015-01-09 15:44:19 +01:00
2015-01-02 15:46:41 -05:00
2014-12-08 21:07:10 -05:00
2015-02-05 14:35:17 +01:00
2015-02-11 17:04:48 -08:00
2014-12-13 12:42:52 -08:00
2015-01-15 13:33:41 +02:00
2014-12-31 13:06:50 -05:00
2014-11-03 11:53:34 -05:00
2014-12-10 17:41:10 -08:00
2014-12-05 21:47:32 -08:00
2014-10-09 11:35:48 +03:00
2014-11-04 07:17:46 +01:00
2014-10-08 16:01:41 -04:00
2015-01-25 23:17:28 -05:00
2015-04-06 17:50:59 -04:00
2014-11-05 14:45:53 -08:00
2014-10-15 21:31:27 +05:30
2014-12-13 12:42:53 -08:00
2015-02-10 14:30:28 -08:00
2015-02-12 08:37:41 -08:00
2014-12-15 10:17:38 -05:00
2014-10-09 22:25:52 -04:00
2015-01-16 17:04:25 -05:00
2014-10-14 17:03:53 -04:00
2015-04-14 16:49:04 -07:00
2014-11-04 21:58:23 +01:00
2014-10-28 17:30:59 +01:00
2015-02-18 15:08:33 +01:00
2014-12-10 15:17:46 -05:00
2015-01-27 10:19:12 -02:00
2015-02-17 13:34:44 +01:00
2015-03-13 23:15:51 +01:00
2015-01-27 10:09:14 +01:00
2015-01-23 12:13:20 +01:00
2015-02-12 18:54:08 -08:00
2014-12-10 17:41:04 -08:00
2015-02-11 17:06:01 -08:00
2014-12-26 08:33:34 +11:00
2015-01-25 09:18:00 -08:00
2015-02-21 12:41:50 -08:00
2015-01-27 11:09:13 +01:00
2014-11-17 09:49:17 +01:00
2015-01-18 00:23:57 -05:00
2014-09-29 15:37:01 -04:00
2015-02-05 14:33:28 -08:00
2014-11-14 17:08:58 -05:00
2015-02-13 21:21:41 -08:00
2015-03-05 09:23:12 +01:00
2014-11-17 23:12:01 -05:00
2015-04-08 23:28:28 +02:00
2015-04-14 16:49:04 -07:00
2014-12-16 14:53:01 -08:00
2015-01-19 16:11:59 +00:00
2015-01-19 14:55:22 +01:00
2014-12-16 15:53:03 -08:00
2014-12-11 15:04:11 -06:00
2014-12-11 15:04:06 -06:00
2015-02-02 19:28:04 -08:00
2015-03-23 10:55:21 +01:00
2015-04-11 11:17:28 +02:00
2015-03-04 21:42:19 +01:00
2014-11-23 13:01:46 +01:00
2015-02-19 01:08:42 +01:00
2014-11-23 13:01:46 +01:00
2015-01-15 10:34:54 +01:00
2015-01-15 10:34:54 +01:00
2015-04-09 09:40:24 +02:00
2015-03-12 18:46:08 -07:00
2015-02-19 12:39:02 -06:00
2014-12-10 17:41:11 -08:00
2014-12-13 13:33:07 +01:00
2015-02-12 18:54:13 -08:00
2014-10-14 15:05:34 -04:00
2015-02-13 21:21:36 -08:00
2015-02-17 14:34:51 -08:00
2014-10-22 16:14:04 -06:00
2014-10-29 16:33:14 -07:00
2014-12-13 12:42:47 -08:00
2015-01-13 16:10:16 +00:00
2015-01-24 10:11:12 +01:00
2015-04-08 10:47:02 +02:00
2014-12-18 09:39:51 +01:00
2015-03-31 09:45:50 -06:00
2015-01-26 14:59:08 -08:00
2015-01-26 14:59:08 -08:00
2015-02-11 16:47:46 +10:30
2015-04-13 16:42:16 -07:00
2015-02-12 18:54:10 -08:00
2015-01-04 23:11:43 -05:00
2014-11-20 14:45:15 +01:00
2015-02-04 11:25:51 +01:00
2014-10-13 15:51:40 +02:00
2015-01-25 23:16:29 -05:00
2014-11-27 12:50:59 +05:30
2014-10-08 10:39:41 +05:30
2014-10-24 15:49:20 -04:00
2014-11-30 16:40:11 +00:00
2015-01-12 05:04:10 -08:00
2015-02-12 18:54:09 -08:00
2015-04-14 16:49:00 -07:00
2014-10-22 16:14:04 -06:00
2014-10-09 22:25:56 -04:00
2014-11-21 14:08:56 -05:00
2015-02-12 18:54:08 -08:00
2015-04-14 16:49:02 -07:00
2015-04-14 16:49:01 -07:00
2014-10-09 22:25:58 -04:00
2014-12-15 15:52:01 -08:00
2015-04-07 16:45:33 -07:00
2015-02-17 17:41:19 -08:00
2015-03-18 10:46:39 -07:00
2015-03-12 18:46:08 -07:00
2014-10-14 02:18:28 +02:00
2014-10-24 00:14:36 +02:00
2014-11-23 17:14:43 +01:00
2015-02-14 11:32:59 -08:00
2014-12-10 21:32:13 -05:00
2015-02-01 23:16:33 -08:00
2015-04-06 16:12:49 -04:00
2014-12-27 03:07:50 -05:00
2015-02-12 10:39:41 -08:00
2015-02-03 11:06:34 -08:00
2015-03-03 13:02:29 -05:00
2015-02-03 11:06:52 -08:00
2015-02-03 11:06:45 -08:00
2015-02-18 13:11:09 -08:00
2014-10-25 08:07:30 +02:00
2015-04-14 16:48:59 -07:00
2015-02-13 21:21:39 -08:00
2014-12-10 21:30:20 -05:00
2015-02-19 16:15:37 -07:00
2014-11-04 16:43:08 +00:00
2015-03-03 14:42:56 -06:00
2015-01-15 17:23:17 +01:00
2015-03-03 14:42:55 -06:00
2015-03-03 14:42:57 -06:00
2014-11-04 13:29:38 +00:00
2015-03-13 09:45:24 -05:00
2014-10-29 16:33:14 -07:00
2014-12-11 13:06:58 -08:00
2014-11-20 12:11:25 -08:00
2014-11-27 12:51:04 +05:30
2015-02-11 17:06:03 -08:00
2015-01-14 15:07:32 +01:00
2015-02-11 17:06:02 -08:00
2015-02-11 17:06:07 -08:00
2014-12-13 12:42:48 -08:00
2015-04-14 16:49:01 -07:00
2014-11-13 16:17:05 -08:00
2014-12-29 12:45:45 -08:00
2014-11-13 10:35:25 -07:00
2015-03-10 15:33:23 -05:00
2015-04-08 16:25:25 -05:00
2015-04-09 14:20:11 -05:00
2015-04-10 08:27:18 -05:00
2014-12-13 12:42:53 -08:00
2015-01-06 10:26:10 -05:00
2014-11-21 11:19:15 -05:00
2015-02-16 14:58:12 -08:00
2015-01-09 11:12:28 +01:00
2014-12-16 15:02:23 -05:00
2015-01-27 00:16:51 -08:00
2015-01-25 23:17:28 -05:00
2014-10-08 10:39:33 +05:30
2014-11-06 15:16:02 -08:00
2014-11-20 14:45:15 +01:00
2014-11-07 01:46:51 +01:00
2015-02-03 22:56:53 +01:00
2014-11-29 23:53:20 +01:00
2014-12-04 00:46:58 +01:00
2014-12-12 15:26:48 -08:00
2015-02-03 22:59:25 +01:00
2014-10-19 20:22:32 +03:00
2015-02-02 10:11:25 -08:00
2015-03-13 23:15:52 +01:00
2015-02-12 18:54:15 -08:00
2014-12-10 21:30:20 -05:00
2014-11-04 21:58:23 +01:00
2015-01-16 16:01:10 -08:00
2015-01-16 16:01:10 -08:00
2014-12-10 17:41:10 -08:00
2014-12-22 20:17:23 +00:00
2014-10-28 16:48:02 -04:00
2015-01-30 12:51:21 +01:00
2015-01-30 12:50:32 +01:00
2014-12-13 12:42:52 -08:00
2014-10-14 02:18:21 +02:00
2015-02-17 14:34:52 -08:00
2015-01-06 11:01:13 -08:00
2015-01-15 23:34:34 -08:00
2015-01-15 23:34:34 -08:00
2015-01-15 23:34:34 -08:00
2015-01-27 13:13:04 +00:00
2014-10-20 10:11:29 +02:00
2014-10-20 10:11:29 +02:00
2015-02-05 15:09:25 +01:00
2015-02-27 16:06:02 -05:00
2014-11-10 16:45:43 -05:00
2015-02-16 17:56:03 -08:00
2015-04-03 08:18:24 +02:00
2014-12-09 13:36:57 -05:00
2015-04-13 16:47:11 -07:00
2014-10-09 22:26:04 -04:00
2015-01-25 09:17:57 -08:00
2015-02-13 21:21:39 -08:00
2015-02-13 21:21:39 -08:00
2015-02-24 08:44:16 +01:00
2015-02-02 10:11:27 -08:00
2014-11-06 14:57:24 -08:00
2015-03-07 03:39:55 +01:00
2015-01-09 14:25:39 -08:00
2015-02-12 18:54:09 -08:00
2014-10-14 02:18:20 +02:00
2015-03-11 23:51:18 -04:00
2015-02-12 18:54:09 -08:00
2015-04-14 16:48:59 -07:00
2015-02-13 21:21:41 -08:00
2015-01-22 15:10:56 +01:00
2015-02-04 01:34:15 -05:00
2015-01-03 14:32:57 -05:00
2015-01-03 14:32:57 -05:00
2015-01-03 14:32:57 -05:00
2014-11-26 19:33:57 -08:00
2015-01-06 11:04:27 -08:00
2014-12-13 12:42:48 -08:00
2015-03-17 09:25:28 +01:00
2015-02-12 18:54:13 -08:00
2015-02-13 21:21:35 -08:00
2015-02-13 23:49:36 +01:00
2014-12-10 17:41:09 -08:00
2015-02-11 17:06:00 -08:00
2015-02-12 18:54:08 -08:00
2015-01-27 09:38:00 +00:00
2015-03-25 13:28:58 +01:00
2014-11-17 10:28:04 -08:00
2014-09-27 09:14:59 -06:00
2015-02-08 01:03:13 -08:00
2015-02-24 14:40:42 -04:00
2015-02-03 15:48:51 -08:00
2015-04-03 08:44:37 +02:00
2015-01-22 12:28:02 +01:00
2015-01-02 16:47:35 -05:00
2015-03-27 09:45:07 +01:00
2015-04-03 08:18:34 +02:00
2014-10-09 22:25:51 -04:00
2014-11-19 22:01:15 -05:00
2015-02-07 19:34:25 -05:00
2015-02-02 10:11:28 -08:00
2015-02-12 18:54:13 -08:00
2015-01-05 22:44:46 -05:00
2014-11-07 10:09:07 -08:00
2015-02-17 22:21:11 -05:00
2014-10-22 16:14:04 -06:00
2015-04-07 12:58:35 -05:00
2014-12-17 12:31:40 -08:00
2014-12-04 14:31:00 -05:00
2014-11-28 16:08:16 +01:00
2015-03-17 09:25:28 +01:00
2014-12-09 12:05:24 +02:00
2014-12-14 18:21:31 +02:00
2015-01-23 14:57:10 +10:30
2014-12-17 10:37:56 -08:00
2014-12-13 12:42:48 -08:00
2015-03-12 18:46:08 -07:00
2015-03-06 17:03:22 -08:00
2015-02-04 01:34:14 -05:00
2014-12-15 23:49:28 +02:00
2015-02-02 10:09:54 -08:00
2015-02-12 14:30:53 -08:00
2014-10-20 20:46:25 +02:00
2015-03-09 09:22:28 -04:00
2015-03-17 12:23:32 -04:00
2015-02-12 18:54:12 -08:00
2015-02-12 18:54:12 -08:00