In freeze_task, a freeze request is sent as a fake signal.

Recalculate signal pending on exit from __refrigerator so that
TIF_SIGPENDING doesn't remain incorrectly set.

Signed-off-by: Mandeep Singh Baines <[email protected]>
CC: Oleg Nesterov <[email protected]>
CC: Tejun Heo <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Rafael J. Wysocki <[email protected]>
CC: Ingo Molnar <[email protected]>
---
 kernel/freezer.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/freezer.c b/kernel/freezer.c
index c38893b..fa66d0f 100644
--- a/kernel/freezer.c
+++ b/kernel/freezer.c
@@ -81,6 +81,9 @@ bool __refrigerator(bool check_kthr_stop)
         */
        set_current_state(save);
 
+       /* Clear fake signal from freeze_task(). */
+       recalc_sigpending();
+
        return was_frozen;
 }
 EXPORT_SYMBOL(__refrigerator);
-- 
1.7.12.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to