Re: debug registers and fork
- From: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
- Date: Wed, 28 Feb 2007 19:01:17 -0500 (EST)
On Wed, 28 Feb 2007, Roland McGrath wrote:
It is true that debug registers are inherited by fork and clone.
I am 99% sure that this was never specifically intended, but it
has been this way for a long time (since 2.4 at least). It's an
implicit consequence of the do_fork implementation style, which
does a blind copy of the whole task_struct and then explicitly
reinitializes some individual fields. I suppose this has some
benefit or other, but it is very prone to new pieces of state
getting implicitly copied without the person adding that new state
ever consciously deciding what its inheritance semantics should be.
Alan Stern is working on a revamp of the x86 debug register
support. This is a fine opportunity to clean this area up and
decide positively what the semantics ought to be.
Absolutely. Right now I just have a placeholder function with a note
about checking for CLONE_PTRACE. The cleanest solution, far and away,
would be to have the child process inherit no breakpoints and no debug
register values.
Alan Stern
-
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/
- Follow-Ups:
- Re: debug registers and fork
- From: Stephane Eranian
- Re: debug registers and fork
- Prev by Date: Re: [PATCH 1/2] Define FIXED_PORT flag for serial_core
- Next by Date: Re: Menuconfig has butterfly effects?
- Previous by thread: Re: [PATCH 1/2] Define FIXED_PORT flag for serial_core
- Next by thread: Re: debug registers and fork
- Index(es):