Messages in this thread | | | Date | Tue, 11 Oct 2011 23:08:40 +0530 | From | Srikar Dronamraju <> | Subject | Re: [PATCH v5 3.1.0-rc4-tip 26/26] uprobes: queue signals while thread is singlestepping. |
| |
> > 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() ?
Yes, we could remove the check and rely on just the DIE_DEBUG to say that singlestep has occurred. This was mostly needed when we were not handling signals on singlestep.
> 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. >
Thats being modest.
-- Thanks and Regards Srikar
| |