[PATCH RT 5.2] signal: remove noop call to __sigqueue_free

From: trix
Date: Wed Dec 04 2019 - 12:23:18 EST


From: Tom Rix <trix@xxxxxxxxxx>

By inspection, this call does not do anything.

static void __sigqueue_free(struct sigqueue *q)
{
if (q->flags & SIGQUEUE_PREALLOC) <-- redundant flag check --+
return; |
atomic_dec(&q->user->sigpending); |
free_uid(q->user); |
kmem_cache_free(sigqueue_cachep, q); |
} |
|
static void sigqueue_free_current(struct sigqueue *q) |
{ |
struct user_struct *up; |
|
if (q->flags & SIGQUEUE_PREALLOC) <-- first flag check ------+
return; |
|
up = q->user; |
if (rt_prio(current->normal_prio) && !put_task_cache(current, |
atomic_dec(&up->sigpending); |
free_uid(up); |
} else |
__sigqueue_free(q); <--- this call will noop --------+
}

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 7bf4b399d307..4389cfde3f86 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -486,8 +486,7 @@ static void sigqueue_free_current(struct sigqueue *q)
if (rt_prio(current->normal_prio) && !put_task_cache(current, q)) {
atomic_dec(&up->sigpending);
free_uid(up);
- } else
- __sigqueue_free(q);
+ }
}

void flush_sigqueue(struct sigpending *queue)
--
2.18.1