Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1296085

Re: [PATCH] arm64: reenable interrupt when handling ptrace breakpoint

From Will Deacon <will.deacon@arm.com>
Newsgroups linux.kernel
Subject Re: [PATCH] arm64: reenable interrupt when handling ptrace breakpoint
Date 2015-12-21 18:10 +0100
Message-ID <qIc8a-Ry-15@gated-at.bofh.it> (permalink)
References <qG8il-32J-1@gated-at.bofh.it> <qGihI-12A-3@gated-at.bofh.it> <qGrbj-6Eg-13@gated-at.bofh.it> <qI6cq-5m3-11@gated-at.bofh.it> <qIbYu-zb-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, Dec 21, 2015 at 05:51:22PM +0100, Thomas Gleixner wrote:
> On Mon, 21 Dec 2015, Will Deacon wrote:
> > +static void send_user_sigtrap(int si_code)
> > +{
> > +	struct pt_regs *regs = current_pt_regs();
> > +	siginfo_t info = {
> > +		.si_signo	= SIGTRAP,
> > +		.si_errno	= 0,
> > +		.si_code	= si_code,
> > +		.si_addr	= (void __user *)instruction_pointer(regs),
> > +	};
> > +
> > +	if (WARN_ON(!user_mode(regs)))
> > +		return;
> > +
> > +	preempt_disable();
> 
> That doesn't work on RT either. force_sig_info() takes task->sighand->siglock,
> which is a 'sleeping' spinlock on RT.

Ah, I missed that :/

> Why would we need to disable preemption here at all? What's the problem of
> being preempted or even migrated?

There *might* not be a problem, I'm just really nervous about changing
the behaviour on the debug path and subtly changing how ptrace behaves.

My worry was that you could somehow get back into the tracer, and it
could remove a software breakpoint in the knowledge that it wouldn't
see any future (spurious) SIGTRAPs for that location.

Without a concrete example, however, I guess I'll bite the bullet and
enable irqs across the call to force_sig_info, since there is clearly a
real issue here on RT.

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] arm64: reenable interrupt when handling ptrace breakpoint Yang Shi <yang.shi@linaro.org> - 2015-12-16 01:40 +0100
  Re: [PATCH] arm64: reenable interrupt when handling ptrace breakpoint Will Deacon <will.deacon@arm.com> - 2015-12-16 12:20 +0100
    Re: [PATCH] arm64: reenable interrupt when handling ptrace breakpoint "Shi, Yang" <yang.shi@linaro.org> - 2015-12-16 21:50 +0100
      Re: [PATCH] arm64: reenable interrupt when handling ptrace breakpoint Will Deacon <will.deacon@arm.com> - 2015-12-21 11:50 +0100
        Re: [PATCH] arm64: reenable interrupt when handling ptrace  breakpoint Thomas Gleixner <tglx@linutronix.de> - 2015-12-21 18:00 +0100
          Re: [PATCH] arm64: reenable interrupt when handling ptrace breakpoint Will Deacon <will.deacon@arm.com> - 2015-12-21 18:10 +0100
            Re: [PATCH] arm64: reenable interrupt when handling ptrace breakpoint "Shi, Yang" <yang.shi@linaro.org> - 2015-12-21 18:30 +0100

csiph-web