Re: [PATCH] paravirt.h

Zachary Amsden
2006-08-23T09:14:38Z

Andi Kleen wrote:
> On Wednesday 23 August 2006 11:01, Zachary Amsden wrote:
>
>> Andi Kleen wrote:
>>
>>>> Yes, after discussion with Rusty, it appears that beefing up
>>>> stop_machine_run is the right way to go. And it has benefits for
>>>> non-paravirt code as well, such as allowing plug-in kprobes or oprofile
>>>> extension modules to be loaded without having to deal with a debug
>>>> exception or NMI during module load/unload.
>>>>
>>>>
>>> I'm still unclear where you think those debug exceptions will come from
>>>
>> kprobes set in the stop_machine code - which is probably a really bad
>> idea, but nothing today actively stops kprobes from doing that.
>>
>
> kprobes don't cause any debug exceptions. You mean int3?
>
> Anyways this can be fixed by marking the stop machine code __kprobes
>
> -Andi
>

I need to look at the kprobes code in more depth to answer completely.
But in general, there could be a problem if DRs are set to fire on any
EIP or memory address touched during the critical stop_machine region,
or int3 breakpoints are set in that code or any code it calls.

Zach