kernel/arch/sh/kernel/cpu/fpu.c
.. .. @@ -62,18 +62,20 @@ 62 62 } 63 63 64 64 if (!tsk_used_math(tsk)) { 65 - local_irq_enable();65 + int ret;66 66 /* 67 67 * does a slab alloc which can sleep 68 68 */ 69 - if (init_fpu(tsk)) {69 + local_irq_enable();70 + ret = init_fpu(tsk);71 + local_irq_disable();72 + if (ret) {70 73 /* 71 74 * ran out of memory! 72 75 */ 73 - do_group_exit(SIGKILL);76 + force_sig(SIGKILL);74 77 return; 75 78 } 76 - local_irq_disable();77 79 } 78 80 79 81 grab_fpu(regs);