sysrq,kdb: Use __handle_sysrq() for kdb's sysrq function
The kdb code should not toggle the sysrq state in case an end user wants to try and resume the normal kernel execution. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
b0679c63db
commit
edd63cb6b9
|
@ -493,7 +493,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
|
||||||
sysrq_key_table[i] = op_p;
|
sysrq_key_table[i] = op_p;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __handle_sysrq(int key, struct tty_struct *tty, int check_mask)
|
void __handle_sysrq(int key, struct tty_struct *tty, int check_mask)
|
||||||
{
|
{
|
||||||
struct sysrq_key_op *op_p;
|
struct sysrq_key_op *op_p;
|
||||||
int orig_log_level;
|
int orig_log_level;
|
||||||
|
|
|
@ -45,6 +45,7 @@ struct sysrq_key_op {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void handle_sysrq(int key, struct tty_struct *tty);
|
void handle_sysrq(int key, struct tty_struct *tty);
|
||||||
|
void __handle_sysrq(int key, struct tty_struct *tty, int check_mask);
|
||||||
int register_sysrq_key(int key, struct sysrq_key_op *op);
|
int register_sysrq_key(int key, struct sysrq_key_op *op);
|
||||||
int unregister_sysrq_key(int key, struct sysrq_key_op *op);
|
int unregister_sysrq_key(int key, struct sysrq_key_op *op);
|
||||||
struct sysrq_key_op *__sysrq_get_key_op(int key);
|
struct sysrq_key_op *__sysrq_get_key_op(int key);
|
||||||
|
|
|
@ -1820,9 +1820,8 @@ static int kdb_sr(int argc, const char **argv)
|
||||||
{
|
{
|
||||||
if (argc != 1)
|
if (argc != 1)
|
||||||
return KDB_ARGCOUNT;
|
return KDB_ARGCOUNT;
|
||||||
sysrq_toggle_support(1);
|
|
||||||
kdb_trap_printk++;
|
kdb_trap_printk++;
|
||||||
handle_sysrq(*argv[1], NULL);
|
__handle_sysrq(*argv[1], NULL, 0);
|
||||||
kdb_trap_printk--;
|
kdb_trap_printk--;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue