diff options
Diffstat (limited to 'arch/tile/kernel/single_step.c')
-rw-r--r-- | arch/tile/kernel/single_step.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/tile/kernel/single_step.c b/arch/tile/kernel/single_step.c index 84a729e06ec4..86df5a239b70 100644 --- a/arch/tile/kernel/single_step.c +++ b/arch/tile/kernel/single_step.c | |||
@@ -318,6 +318,14 @@ void single_step_once(struct pt_regs *regs) | |||
318 | " .popsection\n" | 318 | " .popsection\n" |
319 | ); | 319 | ); |
320 | 320 | ||
321 | /* | ||
322 | * Enable interrupts here to allow touching userspace and the like. | ||
323 | * The callers expect this: do_trap() already has interrupts | ||
324 | * enabled, and do_work_pending() handles functions that enable | ||
325 | * interrupts internally. | ||
326 | */ | ||
327 | local_irq_enable(); | ||
328 | |||
321 | if (state == NULL) { | 329 | if (state == NULL) { |
322 | /* allocate a page of writable, executable memory */ | 330 | /* allocate a page of writable, executable memory */ |
323 | state = kmalloc(sizeof(struct single_step_state), GFP_KERNEL); | 331 | state = kmalloc(sizeof(struct single_step_state), GFP_KERNEL); |