Messages in this thread | | | Date | Tue, 11 Oct 2011 19:24:22 +0200 | From | Oleg Nesterov <> | Subject | Re: [PATCH v5 3.1.0-rc4-tip 26/26] uprobes: queue signals while thread is singlestepping. |
| |
On 10/10, Oleg Nesterov wrote: > > HOWEVER! I simply do not know what should we do if the probed insn > is something like asm("1:; jmp 1b;"). IIUC, in this sstep_complete() > never returns true. The patch also adds the fatal_signal_pending() > check to make this task killlable, but the problem is: whatever we do, > I do not think it is correct to disable/delay the signals in this case. > With any approach. > > What do you think? Maybe we should simply disallow to probe such insns?
Or. Could you explain why we can't simply remove the "if (vaddr == current->utask->xol_vaddr)" check from sstep_complete() ?
In some sense, imho this looks more correct for "rep" or jmp/call self. The task will trap again on the same (original) address, and handler_chain() will be called to notify the consumers.
But. I am really, really ignorant in this area, I am almost sure this is not that simple.
Oleg.
| |