The signals should be restored to their pre-off state
not turned on.

Signed-off-by: Anton Ivanov <aiva...@brocade.com>
---
 arch/um/kernel/skas/mmu.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/um/kernel/skas/mmu.c b/arch/um/kernel/skas/mmu.c
index 9591a66..a845de6 100644
--- a/arch/um/kernel/skas/mmu.c
+++ b/arch/um/kernel/skas/mmu.c
@@ -53,6 +53,7 @@ int init_new_context(struct task_struct *task, struct 
mm_struct *mm)
        struct mm_context *to_mm = &mm->context;
        unsigned long stack = 0;
        int ret = -ENOMEM;
+    unsigned long int flags;
 
        stack = get_zeroed_page(GFP_KERNEL);
        if (stack == 0)
@@ -62,12 +63,12 @@ int init_new_context(struct task_struct *task, struct 
mm_struct *mm)
        if (current->mm != NULL && current->mm != &init_mm)
                from_mm = &current->mm->context;
 
-       block_signals();
+       local_irq_save(flags);
        if (from_mm)
                to_mm->id.u.pid = copy_context_skas0(stack,
                                                     from_mm->id.u.pid);
        else to_mm->id.u.pid = start_userspace(stack);
-       unblock_signals();
+    local_irq_restore(flags);
 
        if (to_mm->id.u.pid < 0) {
                ret = to_mm->id.u.pid;
-- 
2.1.4


------------------------------------------------------------------------------
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to