change failure and success path in testing bpf in npf
There are two tests here, standlone BPF byte code and JIT-compiled code
we don't need if/else block, we need an assertion to trigger
on any if there is unsuccessful compilation.
this avoids tests failures being unnoticed because we only see failures when
running in verbose mode
atto(1): Sprinkle __dead on functions that never return.
Pacifies -Werror=missing-noreturn in clang:
/home/source/ab/HEAD-llvm/src/usr.bin/atto/main.c:24:1: error: function 'usage' could be declared with attribute 'noreturn' [-Werror,-Wmissing-noreturn]
{
^
/home/source/ab/HEAD-llvm/src/usr.bin/atto/main.c:134:1: error: function 'fatal' could be declared with attribute 'noreturn' [-Werror,-Wmissing-noreturn]
{
^
2 errors generated.
aarch64: no need to DSB after every DC instruction in ln_dcache_*_all
The ln_dcache_{wb,wbinv,inv}_all helper do not need to DSB after each
DC instruction. Instead DSB after completing the cache level.
FUNCTION_PROFILER(): On 68010, use the same two step profile counter
reference strategy as ColdFire does. This avoids overflowing R_68K_PC16
relocations for pretty much every reasonably sized program build for
profiling.
m68k/conf/Makefile.kern.m68k.inc now sets -fno-omit-frame-pointer
automagically when it's needed, so don't bother doing it in
individual kernel configs.
i915: Fix execlist submission register indexing harder.
This time, with any luck, I transcribed the indexing correctly.
PR port-amd64/58657: i915drmkms blank screen
atto(1): fatal cannot take special format string arguments other than
the initial %s for the program name. Gain some safety by not having
callers pass a format string in the first place.
With this, we can raise WARNS to 5.
PR lib/60949 pthread*_getname_np(3) - avoid UB if len == 0
Just make len == 0 be an EINVAL error.
Update pthread_attr_getname_np(3) man page, so it no longer says
there are no errors from pthread_attr_getname_np() - which was wrong
in any case, as there was already one (if attr is invalid), and
while there, one minor grammar fix.
No pullups currently planned.
In the fpfline trap handler, use the faultstkadj path rather than the
basic fault path. This is to handle FPU emulation faults on the 68LC040,
which use a format 4 frame; if the emulated FPU insn results in a signal,
kernel stack would be leaked.
Problem reported by Romain Dolbeau on port-m68k.
Allocate state for the FPU emulator on the kernel stack rather than as
static globals. Normally we wouldn't want to allocate this much on the
stack, but the emulator is only for user-space code, so the kernel stack
will have been idle when the F-line trap occurred; the only things on
the stack at this point are the trap frame and the small number of call
frames required to get us here.
This prevents concurrent FPU emuations from colliding with each other.
This is something that could happen when e.g. two FP-using programs are
running concurrently on a system under memory pressure and one of them
blocks during an emulation to service a page fault.
The alternatives are less than ideal: we either have to dynamically
allocate memory or wrap the emulator in a mutex.
Similarly, change __fpu_logn() and __fpu_modrem() to place their
temporaries on the stack, as well.
Problem reported by Romain Dolbeau on port-m68k.
Don't proceed with undefined results in the face of memory access
errors in the FPU emulator:
- fpu_load_ea() / fpu_store_ea(): if copyin() / copyout() return non-zero,
return SIGSEGV.
Catch some callers of fpu_load_ea() and fpu_store_ea() that were ignoring
the return value:
- fpu_emul_arith() / fpu_emul_fscale(): Pay attention to the return value
of fpu_load_ea().
- fpu_emul_fstore(): Pay attention to the return value of fpu_store_ea().
Problem reported by Romain Dolbeau on port-m68k.