History log of /openbsd/sys/arch/mips64/mips64/sendsig.c (Results 1 – 25 of 36)
Revision Date Author Comments
# 5b133f3f 08-Mar-2023 guenther <guenther@openbsd.org>

Delete obsolete /* ARGSUSED */ lint comments.

ok miod@ millert@


# ba203458 06-Oct-2021 claudio <claudio@openbsd.org>

Change sendsig() interface so that the MD code does not need to access
data from struct process anymore. This changes how siginfo and onstack
are accessed and make sendsig() more MP friendly.
With an

Change sendsig() interface so that the MD code does not need to access
data from struct process anymore. This changes how siginfo and onstack
are accessed and make sendsig() more MP friendly.
With and OK semarie@ OK kettenis@

show more ...


# 1e286331 08-Nov-2020 mpi <mpi@openbsd.org>

In case of failure, call sigexit() from trapsignal instead of sensig().

Simplify MD code and reduce the amount of recursion into the signal code
which helps when dealing with locks.

ok cheloha@, de

In case of failure, call sigexit() from trapsignal instead of sensig().

Simplify MD code and reduce the amount of recursion into the signal code
which helps when dealing with locks.

ok cheloha@, deraadt@

show more ...


# b011c943 02-Aug-2019 visa <visa@openbsd.org>

Avoid repeated invocation of curcpu().


# eccdecef 06-May-2019 visa <visa@openbsd.org>

Enforce store/load order when setting or clearing AST flag on mips64

Make sure that any preceding stores become visible to other CPUs before
setting the AST flag in need_resched() and signotify(). T

Enforce store/load order when setting or clearing AST flag on mips64

Make sure that any preceding stores become visible to other CPUs before
setting the AST flag in need_resched() and signotify(). This should
prevent a very unlikely case with inter-CPU ASTs where the receiving
CPU uses stale state.

When clearing the AST flag in ast(), ensure that the clearing store
is performed before any other memory accesses in the AST handler.
Otherwise, there is a slight risk of losing an AST request that gets
posted while the handler is running.

OK guenther@

show more ...


# 00c79297 05-May-2019 visa <visa@openbsd.org>

Turn need_resched() and signotify() into proper functions on mips64.


# 4cf51ffb 10-Jul-2018 guenther <guenther@openbsd.org>

Move from sendsig() to its callers the initsiginfo() calls and
instead of passing sendsig() the code+type+val, pass a siginfo_t*
to copy from. Eliminate the indirection through struct emul for
sends

Move from sendsig() to its callers the initsiginfo() calls and
instead of passing sendsig() the code+type+val, pass a siginfo_t*
to copy from. Eliminate the indirection through struct emul for
sendsig(); we no longer have a SunOS4-compat version of sendsig()

ok deraadt@

show more ...


# 06ea7a9a 22-May-2018 guenther <guenther@openbsd.org>

Delete antique sigdebug definitions

ok kettenis@


# 003f5e42 12-Apr-2018 deraadt <deraadt@openbsd.org>

Implement MAP_STACK option for mmap(). Synchronous faults (pagefault and
syscall) confirm the stack register points at MAP_STACK memory, otherwise
SIGSEGV is delivered. sigaltstack() and pthread_att

Implement MAP_STACK option for mmap(). Synchronous faults (pagefault and
syscall) confirm the stack register points at MAP_STACK memory, otherwise
SIGSEGV is delivered. sigaltstack() and pthread_attr_setstack() are modified
to create a MAP_STACK sub-region which satisfies alignment requirements.
Observe that MAP_STACK can only be set/cleared by mmap(), which zeroes the
contents of the region -- there is no mprotect() equivalent operation, so
there is no MAP_STACK-adding gadget.
This opportunistic software-emulation of a stack protection bit makes
stack-pivot operations during ROPchain fragile (kind of like removing a
tool from the toolbox).
original discussion with tedu, uvm work by stefan, testing by mortimer
ok kettenis

show more ...


# e99873aa 21-May-2016 deraadt <deraadt@openbsd.org>

hand-massage sendsig() and sys_sigreturn() to be much more similar.
ok guenther kettenis


# 7730d1d9 10-May-2016 deraadt <deraadt@openbsd.org>

SROP mitigation. sendsig() stores a (per-process ^ &sigcontext) cookie
inside the sigcontext. sigreturn(2) checks syscall entry was from the
exact PC addr in the (per-process ASLR) sigtramp, verifi

SROP mitigation. sendsig() stores a (per-process ^ &sigcontext) cookie
inside the sigcontext. sigreturn(2) checks syscall entry was from the
exact PC addr in the (per-process ASLR) sigtramp, verifies the cookie,
and clears it to prevent sigcontext reuse.
not yet tested on landisk, sparc, *88k, socppc.
ok kettenis

show more ...


# b43ebd13 06-Mar-2016 mpi <mpi@openbsd.org>

Rename mips64's trap_frame into trapframe.

For coherency with other archs and in order to use it in MI code.

ok visa@, tobiasu@


# 6e870393 09-Feb-2015 miod <miod@openbsd.org>

Do not even try to call uvm_grow() from sendsig. It will be invoked
automagically if copyout() of the signal frame faults.


# 8051afc3 02-Jan-2015 sebastia <sebastia@openbsd.org>

Fix a few format string warnings, allow to build DEBUG kernel on sgi

OK miod@


# 8f76f5ad 26-Mar-2014 guenther <guenther@openbsd.org>

Move p_emul and p_sigcode from proc to process.
Tweak the handling of ktrace EMUL when changing ktracing: only
generate one per process (not one per thread) and pass the correct
proc pointer down to

Move p_emul and p_sigcode from proc to process.
Tweak the handling of ktrace EMUL when changing ktracing: only
generate one per process (not one per thread) and pass the correct
proc pointer down to the VFS layer. Permit generating of NAMI and
CSW records inside ktrace(2) itself.

ok deraadt@ millert@

show more ...


# 533be81a 22-Mar-2014 guenther <guenther@openbsd.org>

Move p_sigacts from struct proc to struct process.

testing help mpi@


# 1eaa59e7 02-Dec-2012 guenther <guenther@openbsd.org>

Determine whether we're currently on the alternative signal stack
dynamically, by comparing the stack pointer against the altstack
base and size, so that you get the correct answer if you longjmp
out

Determine whether we're currently on the alternative signal stack
dynamically, by comparing the stack pointer against the altstack
base and size, so that you get the correct answer if you longjmp
out of the signal handler, as tested by regress/sys/kern/stackjmp/.
Also, fix alt stack handling on vax, where it was completely broken.

Testing and corrections by miod@, krw@, tobiasu@, pirofti@

show more ...


# 7b6ae6a5 03-Oct-2012 miod <miod@openbsd.org>

Split ever-growing mips <machine/cpu.h> into what 99% of the kernel needs,
which will remain in <machine/cpu.h>, and a new mips_cpu.h containing only the
goriest md details, which are only of interes

Split ever-growing mips <machine/cpu.h> into what 99% of the kernel needs,
which will remain in <machine/cpu.h>, and a new mips_cpu.h containing only the
goriest md details, which are only of interest to a handful set of files; this
is similar in spirit to what alpha does, but here <machine/cpu.h> does not
include the new file.

show more ...


# 72830333 22-Aug-2012 okan <okan@openbsd.org>

sigpid should be of type pid_t (only visable with DEBUG).

ok miod@ (who found others to fix as well)


# 2725dadd 05-Jul-2011 guenther <guenther@openbsd.org>

Recommit the reverted sigacts change now that the NFS use-after-free
problem has been tracked down. This fixes the sharing of the signal
handling state: shared bits go in sigacts, per-rthread bits g

Recommit the reverted sigacts change now that the NFS use-after-free
problem has been tracked down. This fixes the sharing of the signal
handling state: shared bits go in sigacts, per-rthread bits goes in
struct proc.

ok deraadt@

show more ...


# 80b87c50 18-Apr-2011 guenther <guenther@openbsd.org>

Revert the sigacts diff: NFS can apparently retain pointers to processes
until they're zombies and then send them signals (for intr mounts). Until
that is untangled, the sigacts change is unsafe. s

Revert the sigacts diff: NFS can apparently retain pointers to processes
until they're zombies and then send them signals (for intr mounts). Until
that is untangled, the sigacts change is unsafe. sthen@ was the victim
for this one

show more ...


# 4dec2d3c 15-Apr-2011 guenther <guenther@openbsd.org>

Correct the sharing of the signal handling state: stuff that should
be shared (p_sigignore, p_sigcatch, P_NOCLDSTOP, P_NOCLDWAIT) moves
to struct sigacts, wihle stuff that should be per rthread (ps_o

Correct the sharing of the signal handling state: stuff that should
be shared (p_sigignore, p_sigcatch, P_NOCLDSTOP, P_NOCLDWAIT) moves
to struct sigacts, wihle stuff that should be per rthread (ps_oldmask,
SAS_OLDMASK, ps_sigstk) moves to struct proc. Treat the coredumping
state bits (ps_sig, ps_code, ps_type, ps_sigval) as per-rthread
until our locking around coredumping is better.

Oh, and remove the old SunOS-compat ps_usertramp member.

"I like the sound of this" tedu@

show more ...


# 88ee6abd 07-Apr-2011 miod <miod@openbsd.org>

Do not use NULL in integer comparisons. No functional change.
ok matthew@ tedu@, also eyeballed by at least krw@ oga@ kettenis@ jsg@


# e6d26cf8 26-Jun-2010 guenther <guenther@openbsd.org>

Don't #include <sys/user.h> into files that don't need the stuff
it defines. In some cases, this means pulling in uvm.h or pcb.h
instead, but most of the inclusions were just noise. Tested on
alpha

Don't #include <sys/user.h> into files that don't need the stuff
it defines. In some cases, this means pulling in uvm.h or pcb.h
instead, but most of the inclusions were just noise. Tested on
alpha, amd64, armish, hppa, i386, macpcc, sgi, sparc64, and vax,
mostly by krw and naddy.
ok krw@

show more ...


# 3f1243dc 21-Apr-2010 deraadt <deraadt@openbsd.org>

more cleanup to cope with the change that tries to make proc.h not act
like it is everything.h
ok tedu


12