Re: [PATCH v2] futex: mark get_robust_list as deprecated

From: Eric W. Biederman
Date: Fri Mar 23 2012 - 18:02:39 EST


Kees Cook <keescook@xxxxxxxxxxxx> writes:

> Notify get_robust_list users that the syscall is going away.

Has anyone asked the question if the folks working on checkpoint/restart
are going to need this.

This seems like important information to know if you want to checkpoint
a process.

Eric

> Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> ---
> v2:
> - add note to feature-removal-schedule.txt.
> ---
> Documentation/feature-removal-schedule.txt | 10 ++++++++++
> kernel/futex.c | 2 ++
> kernel/futex_compat.c | 2 ++
> 3 files changed, 14 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
> index 4bfd982..e3bf119 100644
> --- a/Documentation/feature-removal-schedule.txt
> +++ b/Documentation/feature-removal-schedule.txt
> @@ -543,3 +543,13 @@ When: 3.5
> Why: The old kmap_atomic() with two arguments is deprecated, we only
> keep it for backward compatibility for few cycles and then drop it.
> Who: Cong Wang <amwang@xxxxxxxxxx>
> +
> +----------------------------
> +
> +What: get_robust_list syscall
> +When: 2013
> +Why: There appear to be no production users of the get_robust_list syscall,
> + and it runs the risk of leaking address locations, allowing the bypass
> + of ASLR. It was only ever intended for debugging, so it should be
> + removed.
> +Who: Kees Cook <keescook@xxxxxxxxxxxx>
> diff --git a/kernel/futex.c b/kernel/futex.c
> index d701be5..e2b0fb9 100644
> --- a/kernel/futex.c
> +++ b/kernel/futex.c
> @@ -2449,6 +2449,8 @@ SYSCALL_DEFINE3(get_robust_list, int, pid,
> if (!futex_cmpxchg_enabled)
> return -ENOSYS;
>
> + WARN_ONCE(1, "deprecated: get_robust_list will be deleted in 2013.\n");
> +
> rcu_read_lock();
>
> ret = -ESRCH;
> diff --git a/kernel/futex_compat.c b/kernel/futex_compat.c
> index a9642d5..83e368b 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,
> if (!futex_cmpxchg_enabled)
> return -ENOSYS;
>
> + WARN_ONCE(1, "deprecated: get_robust_list will be deleted in 2013.\n");
> +
> rcu_read_lock();
>
> ret = -ESRCH;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/