aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2012-03-23 15:08:55 -0400
committerThomas Gleixner <tglx@linutronix.de>2012-03-29 05:37:17 -0400
commitec0c4274e33c0373e476b73e01995c53128f1257 (patch)
tree9a73585bde46f22b3896191efe57393d19966b32
parentbdbb776f882f5ad431aa1e694c69c1c3d6a4a5b8 (diff)
futex: Mark get_robust_list as deprecated
Notify get_robust_list users that the syscall is going away. Suggested-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Kees Cook <keescook@chromium.org> Cc: Randy Dunlap <rdunlap@xenotime.net> Cc: Darren Hart <dvhart@linux.intel.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: David Howells <dhowells@redhat.com> Cc: Serge E. Hallyn <serge.hallyn@canonical.com> Cc: kernel-hardening@lists.openwall.com Cc: spender@grsecurity.net Link: http://lkml.kernel.org/r/20120323190855.GA27213@www.outflux.net Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--Documentation/feature-removal-schedule.txt10
-rw-r--r--kernel/futex.c2
-rw-r--r--kernel/futex_compat.c2
3 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 0cad4803ffa..c1be8066ea5 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -529,3 +529,13 @@ When: 3.5
529Why: The old kmap_atomic() with two arguments is deprecated, we only 529Why: The old kmap_atomic() with two arguments is deprecated, we only
530 keep it for backward compatibility for few cycles and then drop it. 530 keep it for backward compatibility for few cycles and then drop it.
531Who: Cong Wang <amwang@redhat.com> 531Who: Cong Wang <amwang@redhat.com>
532
533----------------------------
534
535What: get_robust_list syscall
536When: 2013
537Why: There appear to be no production users of the get_robust_list syscall,
538 and it runs the risk of leaking address locations, allowing the bypass
539 of ASLR. It was only ever intended for debugging, so it should be
540 removed.
541Who: Kees Cook <keescook@chromium.org>
diff --git a/kernel/futex.c b/kernel/futex.c
index d701be57c42..e2b0fb9a0b3 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -2449,6 +2449,8 @@ SYSCALL_DEFINE3(get_robust_list, int, pid,
2449 if (!futex_cmpxchg_enabled) 2449 if (!futex_cmpxchg_enabled)
2450 return -ENOSYS; 2450 return -ENOSYS;
2451 2451
2452 WARN_ONCE(1, "deprecated: get_robust_list will be deleted in 2013.\n");
2453
2452 rcu_read_lock(); 2454 rcu_read_lock();
2453 2455
2454 ret = -ESRCH; 2456 ret = -ESRCH;
diff --git a/kernel/futex_compat.c b/kernel/futex_compat.c
index a9642d52863..83e368b005f 100644
--- a/kernel/futex_compat.c
+++ b/kernel/futex_compat.c
@@ -142,6 +142,8 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
142 if (!futex_cmpxchg_enabled) 142 if (!futex_cmpxchg_enabled)
143 return -ENOSYS; 143 return -ENOSYS;
144 144
145 WARN_ONCE(1, "deprecated: get_robust_list will be deleted in 2013.\n");
146
145 rcu_read_lock(); 147 rcu_read_lock();
146 148
147 ret = -ESRCH; 149 ret = -ESRCH;