freezer: use lock_task_sighand() in fake_signal_wake_up()
[firefly-linux-kernel-4.4.55.git] / kernel / freezer.c
index c3496c6a91b2c447173b30e360e3a89352e69b87..389549f0a94ea454a4349154162054850e3a1f19 100644 (file)
@@ -93,9 +93,10 @@ static void fake_signal_wake_up(struct task_struct *p)
 {
        unsigned long flags;
 
-       spin_lock_irqsave(&p->sighand->siglock, flags);
-       signal_wake_up(p, 0);
-       spin_unlock_irqrestore(&p->sighand->siglock, flags);
+       if (lock_task_sighand(p, &flags)) {
+               signal_wake_up(p, 0);
+               unlock_task_sighand(p, &flags);
+       }
 }
 
 /**