lkml.org 
[lkml]   [2008]   [Jul]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 01/23] tracehook: add linux/tracehook.h
    From
    Date
    On Thu, 2008-07-17 at 12:48 +0400, Alexey Dobriyan wrote:
    > On Thu, Jul 17, 2008 at 12:27:55AM -0700, Roland McGrath wrote:
    > > The aim is to formalize and consolidate all the places that the core
    > > kernel code and the arch code now ties into the ptrace implementation.
    > >
    > > These patches mostly don't cause any functional change. They just
    > > move the details of ptrace logic out of core code into tracehook.h
    > > inlines, where they are mostly compiled away to the same as before.
    >
    > > All that changes is that everything is thoroughly documented
    >
    > This is fine.
    >
    > > and any future reworking of ptrace, or addition of something new,
    > > would not have to touch core code all over, just change the tracehook.h
    > > inlines.
    >
    > And this is suprising wish given one can't predict how exactly those
    > "future reworking" will look like.
    >
    > > The new linux/ptrace.h inlines are used by the following patches in the
    > > new tracehook_*() inlines. Using these helpers for the ptrace event
    > > stops makes it simple to change or disable the old ptrace implementation
    > > of these stops conditionally later.
    >
    > Call them "utrace_*" from the start?

    Ah, maybe justified, because I don't expect any other re-implementation
    of the same after utrace is finished, but -- there's still the old
    ptrace implementation, so _not_ mentioning utrace seems a bit better to
    me.

    > > --- a/include/linux/ptrace.h
    > > +++ b/include/linux/ptrace.h
    > > @@ -121,6 +121,39 @@ static inline void ptrace_unlink(struct task_struct *child)
    > > int generic_ptrace_peekdata(struct task_struct *tsk, long addr, long data);
    > > int generic_ptrace_pokedata(struct task_struct *tsk, long addr, long data);
    > >
    > > +/**
    > > + * task_ptrace - return %PT_* flags that apply to a task
    > > + * @task: pointer to &task_struct in question
    > > + *
    > > + * Returns the %PT_* flags that apply to @task.
    > > + */
    > > +static inline int task_ptrace(struct task_struct *task)
    > > +{
    > > + return task->ptrace;
    > > +}
    >
    > Pointless 1:1 wrapper unless you're going to #ifdef ->ptrace later.

    And that's exactly what's going to happen. Look at Roland's git. ;)

    Petr




    \
     
     \ /
      Last update: 2008-07-17 13:09    [W:0.022 / U:32.456 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site