[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.11.1512211749180.28591@nanos>
Date: Mon, 21 Dec 2015 17:51:22 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Will Deacon <will.deacon@....com>
cc: "Shi, Yang" <yang.shi@...aro.org>, Catalin.Marinas@....com,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linaro-kernel@...ts.linaro.org, linux-rt-users@...r.kernel.org
Subject: Re: [PATCH] arm64: reenable interrupt when handling ptrace
breakpoint
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.
Why would we need to disable preemption here at all? What's the problem of
being preempted or even migrated?
Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists