Commit d625e9c0d706eb43afbf52634d5cecacae1d57cc
1 parent
8097551d9a
Exists in
master
and in
20 other branches
kgdb: continue and warn on signal passing from gdb
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>
Showing 1 changed file with 4 additions and 2 deletions Side-by-side Diff
kernel/kgdb.c
... | ... | @@ -1210,8 +1210,10 @@ |
1210 | 1210 | return 1; |
1211 | 1211 | |
1212 | 1212 | } else { |
1213 | - error_packet(remcom_out_buffer, -EINVAL); | |
1214 | - return 0; | |
1213 | + kgdb_msg_write("KGDB only knows signal 9 (pass)" | |
1214 | + " and 15 (pass and disconnect)\n" | |
1215 | + "Executing a continue without signal passing\n", 0); | |
1216 | + remcom_in_buffer[0] = 'c'; | |
1215 | 1217 | } |
1216 | 1218 | |
1217 | 1219 | /* Indicate fall through */ |