[PATCH 4/5] freezer: clear fake signal on exit from __refrigerator

From: Mandeep Singh Baines
Date: Sat Feb 16 2013 - 04:54:04 EST


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 <msb@xxxxxxxxxxxx>
CC: Oleg Nesterov <oleg@xxxxxxxxxx>
CC: Tejun Heo <tj@xxxxxxxxxx>
CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
CC: Rafael J. Wysocki <rjw@xxxxxxx>
CC: Ingo Molnar <mingo@xxxxxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/