[PATCH] signal: move print_dropped_signal

From: trix
Date: Tue Dec 03 2019 - 13:02:41 EST


From: Tom Rix <trix@xxxxxxxxxx>

If the allocation of 'q' fails, the signal will be dropped.
To ensure that this is reported, move print_dropped_signal to be
inside the '(q == NULL)' if-check.

Signed-off-by: Tom Rix <trix@xxxxxxxxxx>
---
kernel/signal.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/kernel/signal.c b/kernel/signal.c
index bcd46f547db3..294a4625200e 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -427,11 +427,10 @@ __sigqueue_alloc(int sig, struct task_struct *t, gfp_t flags, int override_rlimi
atomic_read(&user->sigpending) <=
task_rlimit(t, RLIMIT_SIGPENDING)) {
q = kmem_cache_alloc(sigqueue_cachep, flags);
- } else {
- print_dropped_signal(sig);
}

if (unlikely(q == NULL)) {
+ print_dropped_signal(sig);
atomic_dec(&user->sigpending);
free_uid(user);
} else {
--
2.18.1