Skip to content

Commit

Permalink
kgdb: continue and warn on signal passing from gdb
Browse files Browse the repository at this point in the history
On some architectures for the segv trap, gdb wants to pass the signal
back on continue.  For kgdb this is not the default behavior, because
it can cause the kernel to crash if you arbitrarily pass back a
exception outside of kgdb.

Instead of causing instability, pass a message back to gdb about the
supported kgdb signal passing and execute a standard kgdb continue
operation.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
  • Loading branch information
Jason Wessel committed Dec 11, 2009
1 parent 8097551 commit d625e9c
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions kernel/kgdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -1210,8 +1210,10 @@ static int gdb_cmd_exception_pass(struct kgdb_state *ks)
return 1;

} else {
error_packet(remcom_out_buffer, -EINVAL);
return 0;
kgdb_msg_write("KGDB only knows signal 9 (pass)"
" and 15 (pass and disconnect)\n"
"Executing a continue without signal passing\n", 0);
remcom_in_buffer[0] = 'c';
}

/* Indicate fall through */
Expand Down

0 comments on commit d625e9c

Please sign in to comment.