lkml.org 
[lkml]   [2012]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5/5] ptrace: remove PTRACE_SEIZE_DEVEL bit
    Date
    PTRACE_SEIZE code is tested and ready for production use,
    remove the code which requires special bit in data argument
    to make PTRACE_SEIZE work.

    Strace team prepares for a new release of strace, and we
    would like to ship the code which uses PTRACE_SEIZE,
    preferably after this change goes into released kernel.

    Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
    ---
    include/linux/ptrace.h | 5 +----
    kernel/ptrace.c | 15 ---------------
    2 files changed, 1 insertions(+), 19 deletions(-)

    diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h
    index ec6571c..6dffe18 100644
    --- a/include/linux/ptrace.h
    +++ b/include/linux/ptrace.h
    @@ -51,9 +51,6 @@
    #define PTRACE_INTERRUPT 0x4207
    #define PTRACE_LISTEN 0x4208

    -/* flags in @data for PTRACE_SEIZE */
    -#define PTRACE_SEIZE_DEVEL 0x80000000 /* temp flag for development */
    -
    /* Wait extended result codes for the above trace options. */
    #define PTRACE_EVENT_FORK 1
    #define PTRACE_EVENT_VFORK 2
    @@ -64,7 +61,7 @@
    /* Extended result codes which enabled by means other than options. */
    #define PTRACE_EVENT_STOP 128

    -/* options set using PTRACE_SETOPTIONS */
    +/* Options set using PTRACE_SETOPTIONS or using PTRACE_SEIZE @data param */
    #define PTRACE_O_TRACESYSGOOD 1
    #define PTRACE_O_TRACEFORK (1 << PTRACE_EVENT_FORK)
    #define PTRACE_O_TRACEVFORK (1 << PTRACE_EVENT_VFORK)
    diff --git a/kernel/ptrace.c b/kernel/ptrace.c
    index 99a18a0..32846f7 100644
    --- a/kernel/ptrace.c
    +++ b/kernel/ptrace.c
    @@ -237,25 +237,10 @@ static int ptrace_attach(struct task_struct *task, long request,
    bool seize = (request == PTRACE_SEIZE);
    int retval;

    - /*
    - * SEIZE will enable new ptrace behaviors which will be implemented
    - * gradually. SEIZE_DEVEL bit is used to prevent applications
    - * expecting full SEIZE behaviors trapping on kernel commits which
    - * are still in the process of implementing them.
    - *
    - * Only test programs for new ptrace behaviors being implemented
    - * should set SEIZE_DEVEL. If unset, SEIZE will fail with -EIO.
    - *
    - * Once SEIZE behaviors are completely implemented, this flag
    - * will be removed.
    - */
    retval = -EIO;
    if (seize) {
    if (addr != 0)
    goto out;
    - if (!(flags & PTRACE_SEIZE_DEVEL))
    - goto out;
    - flags &= ~(unsigned long)PTRACE_SEIZE_DEVEL;
    if (flags & ~(unsigned long)PTRACE_O_MASK)
    goto out;
    flags = PT_PTRACED | PT_SEIZED | (flags << PT_OPT_FLAG_SHIFT);
    --
    1.7.7.6


    \
     
     \ /
      Last update: 2012-02-10 15:47    [W:0.050 / U:0.004 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site