* Re: [PATCH v3 12/17] signal: make unhandled_signal() return bool
@ 2018-06-02 12:02 Alexey Dobriyan
0 siblings, 0 replies; 2+ messages in thread
From: Alexey Dobriyan @ 2018-06-02 12:02 UTC (permalink / raw)
To: Christian Brauner; +Cc: linux-kernel
> -int unhandled_signal(struct task_struct *tsk, int sig)
> +bool unhandled_signal(struct task_struct *tsk, int sig)
This most likely makes code generation worse on embedded arhcs
which will '& 0xFF" internally.
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH v3 00/17] signal: refactor some functions
@ 2018-06-02 10:36 Christian Brauner
2018-06-02 10:36 ` [PATCH v3 12/17] signal: make unhandled_signal() return bool Christian Brauner
0 siblings, 1 reply; 2+ messages in thread
From: Christian Brauner @ 2018-06-02 10:36 UTC (permalink / raw)
To: linux-kernel
Cc: ebiederm, gregkh, mingo, james.morris, keescook, peterz, sds,
viro, akpm, oleg, Christian Brauner
Hey,
This series refactors a bunch of functions in signal.c to simplify parts
of the code.
As requested, v3 drops all 3 commits that were pure coding-style
changes.
The greatest single change is declaring the static do_sigpending()
helper as void which makes it possible to remove a bunch of unnecessary
checks in the syscalls later on.
Thanks!
Christian
Christian Brauner (17):
signal: make force_sigsegv() void
signal: make kill_as_cred_perm() return bool
signal: make may_ptrace_stop() return bool
signal: make do_sigpending() void
signal: simplify rt_sigaction()
signal: make kill_ok_by_cred() return bool
signal: make sig_handler_ignored() return bool
signal: make sig_task_ignored() return bool
signal: make sig_ignored() return bool
signal: make has_pending_signals() return bool
signal: make recalc_sigpending_tsk() return bool
signal: make unhandled_signal() return bool
signal: make flush_sigqueue_mask() void
signal: make wants_signal() return bool
signal: make legacy_queue() return bool
signal: make sigkill_pending() return bool
signal: make get_signal() return bool
include/linux/sched/signal.h | 2 +-
include/linux/signal.h | 4 +-
kernel/signal.c | 170 +++++++++++++++++------------------
3 files changed, 86 insertions(+), 90 deletions(-)
--
2.17.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH v3 12/17] signal: make unhandled_signal() return bool
2018-06-02 10:36 [PATCH v3 00/17] signal: refactor some functions Christian Brauner
@ 2018-06-02 10:36 ` Christian Brauner
0 siblings, 0 replies; 2+ messages in thread
From: Christian Brauner @ 2018-06-02 10:36 UTC (permalink / raw)
To: linux-kernel
Cc: ebiederm, gregkh, mingo, james.morris, keescook, peterz, sds,
viro, akpm, oleg, Christian Brauner
unhandled_signal() already behaves like a boolean function. Let's actually
declare it as such too.
All callers treat it as such too.
Signed-off-by: Christian Brauner <christian@brauner.io>
---
v2->v3:
* unchanged
v1->v2:
* unchanged
v0->v1:
* patch added
---
include/linux/signal.h | 2 +-
kernel/signal.c | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/include/linux/signal.h b/include/linux/signal.h
index a9bc7e1b077e..1145d7061ed9 100644
--- a/include/linux/signal.h
+++ b/include/linux/signal.h
@@ -284,7 +284,7 @@ static inline void disallow_signal(int sig)
extern struct kmem_cache *sighand_cachep;
-int unhandled_signal(struct task_struct *tsk, int sig);
+extern bool unhandled_signal(struct task_struct *tsk, int sig);
/*
* In POSIX a signal is sent either to a specific thread (Linux task)
diff --git a/kernel/signal.c b/kernel/signal.c
index 41f9b91db209..70680dd8b588 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -505,13 +505,15 @@ flush_signal_handlers(struct task_struct *t, int force_default)
}
}
-int unhandled_signal(struct task_struct *tsk, int sig)
+bool unhandled_signal(struct task_struct *tsk, int sig)
{
void __user *handler = tsk->sighand->action[sig-1].sa.sa_handler;
if (is_global_init(tsk))
- return 1;
+ return true;
+
if (handler != SIG_IGN && handler != SIG_DFL)
- return 0;
+ return false;
+
/* if ptraced, let the tracer determine */
return !tsk->ptrace;
}
--
2.17.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-06-02 12:02 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-02 12:02 [PATCH v3 12/17] signal: make unhandled_signal() return bool Alexey Dobriyan
-- strict thread matches above, loose matches on Subject: below --
2018-06-02 10:36 [PATCH v3 00/17] signal: refactor some functions Christian Brauner
2018-06-02 10:36 ` [PATCH v3 12/17] signal: make unhandled_signal() return bool Christian Brauner
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.