Messages in this thread | | | Date | Thu, 17 Jul 2008 12:48:18 +0400 | From | Alexey Dobriyan <> | Subject | Re: [PATCH 01/23] tracehook: add linux/tracehook.h |
| |
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?
> --- 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.
| |