Re: [PATCH] x86 handle_vm86_trap cleanup

From: Ingo Molnar
Date: Fri Mar 21 2008 - 06:40:16 EST



* Roland McGrath <roland@xxxxxxxxxx> wrote:

> Use force_sig in handle_vm86_trap like other machine traps do.

thanks, applied.

> - if (current->ptrace & PT_PTRACED) {
> - unsigned long flags;
> - spin_lock_irqsave(&current->sighand->siglock, flags);
> - sigdelset(&current->blocked, SIGTRAP);
> - recalc_sigpending();
> - spin_unlock_irqrestore(&current->sighand->siglock, flags);
> - }
> - send_sig(SIGTRAP, current, 1);
> current->thread.trap_no = trapno;
> current->thread.error_code = error_code;
> + force_sig(SIGTRAP, current);
> return 0;
> }

for the record, this also changes semantics, because previously we'd
permanently unblock SIGTRAP (most certainly as a hack, to be able to do
the send_sig()), while now we use force_sig() which just ignores the
blocked mask. (and i agree with your fix of course)

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