Commit Briefs
The traditional LL/SC atomics perform poorly on modern arm64 systems with
many CPU cores. With the recent conversion of the sched lock to a mutex some systems appear to hang if the sched lock is contended. ARMv8.1 introduced an LSE feature that provides atomic instructions such as CAS that perform much better. Unfortunately these can't be used on older ARMv8.0 systems. Use -moutline-atomics to make the compiler generate function calls for atomic operations and provide an implementation for the functions we use in the kernel that use LSE when available and fall back on LL/SC. Fixes regressions seen on Ampere Altra and Apple M2 Pro/Max/Ultra since the conversion of the sched lock to a mutex. tested by claudio@, phessler@, mpi@ ok patrick@
Do not attach acpitz(4) if the _STA method indicates that a thermal zone
isn't present. While it isn't clear whether _STA applies to thermal zones according to the ACPI standard, this prevents issues on the Asus Vivobook S15. ok miod@, patrick@, deraadt@
Support numpad on newer macppc Apple PowerBooks
This is for newer PowerBooks with ukbd(4), and doesn't affect older models with akbd(4). The Fn key now makes a numpad, 7 8 9 0 - 7 8 9 / = U I O P => 4 5 6 * J K L ; 1 2 3 - M . / 0 . + Also, Fn+F6 is Num Lock. This acts like Num Lock on other USB keyboards, and unlike Num Lock on akbd(4). From jon (at) elytron (dot) openbsd (dot) amsterdam
remove unused agp_map functions
last use (in inteldrm) was removed in March
Change the syntax for "module" and "authenticate". "module" can have
a {} block now. On the other hand, "authentication" can be without a {} block. The previous syntax is still accepted. Also make specifying the path of "module" be optional.
Stop scheduling an I/O event by the timer when the imsg_buf has the data
larger than the imsg header. It prevented the receiver from receiving the following parts of the message.
signal handler must use the save_errno dance, and massage a variable
of type 'volatile sig_atomic_t' ok tb
Enclose IPv6 address in a square bracket if the address is used with
the port number. ok florian tobhe
Explicit TLS handshake with syslog client.
Add a new TLS handshake callback for incoming connections. This will allow to inspect the client certificate later. For now only print a debug message and check it in regress. with and OK henning@
Modify IPCP to use {D,NB}NS servers from RADIUS. Also move the
radius related functions from ppp.c to npppd_radius.c.
Exit with an error code when error or module die.
CVS ----------------------------------------------------------------------
Set SO_REUSEADDR for the listening socket. This makes radiusd(8)
can bind both on an interface address and a wildcard address.
when sending ObscureKeystrokeTiming chaff packets, we can't
rely on channel_did_enqueue to tell that there is data to send. This flag indicates that the channels code enqueued a packet on _this_ ppoll() iteration, not that data was enqueued in _any_ ppoll() iteration in the timeslice. ok markus@
Call daemon(3) before parse_config() since parse_config() of radiusd(8)
starts some sub processes and parent-child relationship with them must be kept. But we want to show config error on stderr, so keep stdio files open and close them after parse_config().