A testcase that posts several realtime signals via sigqueue before C/R
uncovered this.  Without this change only the first queued signal is
delivered after restart.

Signed-off-by: Nathan Lynch <[email protected]>
---

[only noticed this after posting the series, oops]

 kernel/signal.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/signal.c b/kernel/signal.c
index cc7aee9..ba8a623 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -3277,7 +3277,7 @@ static int restore_sigpending(struct ckpt_ctx *ctx, 
struct sigpending *pending)
                }
 
                q->flags &= ~SIGQUEUE_PREALLOC;
-               list_add_tail(&pending->list, &q->list);
+               list_add_tail(&q->list, &pending->list);
        }
 
        if (ret < 0)
-- 
1.7.1.1



_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to