diff options
| -rw-r--r-- | arch/x86/mm/kmmio.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/mm/kmmio.c b/arch/x86/mm/kmmio.c index c0f6198565eb..536fb6823366 100644 --- a/arch/x86/mm/kmmio.c +++ b/arch/x86/mm/kmmio.c | |||
| @@ -538,14 +538,15 @@ static int | |||
| 538 | kmmio_die_notifier(struct notifier_block *nb, unsigned long val, void *args) | 538 | kmmio_die_notifier(struct notifier_block *nb, unsigned long val, void *args) |
| 539 | { | 539 | { |
| 540 | struct die_args *arg = args; | 540 | struct die_args *arg = args; |
| 541 | unsigned long* dr6_p = (unsigned long *)ERR_PTR(arg->err); | ||
| 541 | 542 | ||
| 542 | if (val == DIE_DEBUG && (arg->err & DR_STEP)) | 543 | if (val == DIE_DEBUG && (*dr6_p & DR_STEP)) |
| 543 | if (post_kmmio_handler(arg->err, arg->regs) == 1) { | 544 | if (post_kmmio_handler(*dr6_p, arg->regs) == 1) { |
| 544 | /* | 545 | /* |
| 545 | * Reset the BS bit in dr6 (pointed by args->err) to | 546 | * Reset the BS bit in dr6 (pointed by args->err) to |
| 546 | * denote completion of processing | 547 | * denote completion of processing |
| 547 | */ | 548 | */ |
| 548 | (*(unsigned long *)ERR_PTR(arg->err)) &= ~DR_STEP; | 549 | *dr6_p &= ~DR_STEP; |
| 549 | return NOTIFY_STOP; | 550 | return NOTIFY_STOP; |
| 550 | } | 551 | } |
| 551 | 552 | ||
