Re: Q: user_enable_single_step() && update_debugctlmsr()

From: Oleg Nesterov
Date: Wed Aug 01 2012 - 10:04:39 EST


On 08/01, Sebastian Andrzej Siewior wrote:
>
> On 08/01/2012 03:46 PM, Oleg Nesterov wrote:
>
>>>> But, worse, isn't it wrong? Suppose that debugger switches to
>>>> another TIF_SINGLESTEP&& !TIF_BLOCKSTEP task, in this case
>>>> we "leak" DEBUGCTLMSR_BTF, no?
>>>
>>> __switch_to_xtra() should notice the difference in the TIF_BLOCKSTEP
>>> flag and disable it.
>>
>> And how it can notice the difference if there is no difference?
>>
>> (unless, of course debugger is TIF_BLOCKSTEP'ed).
>
> Yes. enable_step() sets DEBUGCTLMSR_BTF along with TIF_BLOCKSTEP.
> kprobes checks the same flag before touching DEBUGCTLMSR_BTF.

It seems that you replied to the wrong email or I am confused ;)

Let's ignore kprobes here.

Oleg.

--
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/