This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PING] [PATCH] sys/ptrace.h: remove obsolete Linux PTRACE_SEIZE_DEVEL constant


On Tue, Aug 08, 2017 at 03:07:13PM -0400, Carlos O'Donell wrote:
> On 08/08/2017 12:30 PM, Dmitry V. Levin wrote:
> > On Tue, Aug 08, 2017 at 09:20:17AM -0400, Carlos O'Donell wrote:
> >> On 08/07/2017 11:33 AM, Dmitry V. Levin wrote:
> >>> Hi,
> >>>
> >>> Looks like among those few who care about sys/ptrace.h nobody feels
> >>> experienced enough to review this change, so I'll go forward and commit it.
> >>
> >> Please tread carefully, and give the machine maintainer time to review, or
> >> directly TO: the machine maintainers and ask for review.
> >>
> >> Lack of a response does not mean you can assume consensus. Follow up with
> >> machine maintainers, even one ACK from a maintainer goes a long way to
> >> knowing there is support for your change.
> > 
> > JFYI, PTRACE_SEIZE_DEVEL was an architecture-independent constant.
> 
> Agreed, but the patch still touches machine-specific headers.

Yes, in exactly the same way as the generic header.

> > There is absolutely no hurry, though, so let's give machine maintainers
> > more time to review this obvious change.
> 
> In this case I think it is perfectly acceptable to track down reviews from
> other developers, enough to get consensus that the generic change is OK.
> For example if a couple of non-machine maintainers reviewed this an thought
> it sensible, then you'd be OK to commit. With machine maintainers perhaps
> tweaking this later.

OK, just don't let the bug slip into glibc-2.27, please.

For those who are not familiar with PTRACE_SEIZE API peculiarities,
here is some background information.

This PTRACE_SEIZE_DEVEL flag shouldn't have been added to sys/ptrace.h
in the first place.

It was added to linux/ptrace.h for the only purpose of testing
PTRACE_SEIZE API which was in an experimental status.
From the very first linux commit (v3.1-rc1~308^2~28) till the very last one
(v3.4-rc1~109^2~20) the definition of PTRACE_SEIZE_DEVEL in linux/ptrace.h
remained unchanged:

#define PTRACE_SEIZE_DEVEL	0x80000000 /* temp flag for development */

Yes, it was just a temporary flag for development.  Those who play
with experimental kernel interfaces marked this way, e.g. strace,
surely did not, do not, and should not rely on sys/ptrace.h
as the source of definitions of ptrace constants.

The person who blindly updated sys/ptrace.h constants by commit
glibc-2.15~430 did the wrong thing.  The presence of PTRACE_SEIZE_DEVEL
in sys/ptrace.h is a bug, it has to be fixed and maybe even backported
to stable branches.

I've created a bug #21928 to track this.


-- 
ldv

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]