diff --git a/kernel/signal.c b/kernel/signal.c
index bc558abbf43358913ba76b33923afce22281ae72..d8f810e9fc34c606d45dfe858d3167223d07013c 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -1132,7 +1132,8 @@ static int __send_signal(int sig, struct siginfo *info, struct task_struct *t,
 	else
 		override_rlimit = 0;
 
-	q = __sigqueue_alloc(sig, t, GFP_ATOMIC, override_rlimit);
+	q = __sigqueue_alloc(sig, t, GFP_ATOMIC | __GFP_NOWARN,
+			override_rlimit);
 	if (q) {
 		list_add_tail(&q->list, &pending->list);
 		switch ((unsigned long) info) {