Do not call the high-level mdoc(7) or man(7) parser cleanup
before the low-level roff(7) parser cleanup;
instead, clean up in the opposite order.
From a perspective of traditional roff(7) systems, the existing order
might seem intuitive: a traditional system needs the low-level roff(7)
infrastructure in an operational state for doing anything with
high-level macros.
However, in mandoc(1), the architecture is built up in the opposite way.
The mdoc(7) and man(7) parsers provide the foundational tree structure,
and the roff(7) parser only serves auxiliary functions that need the
mdoc(7) and man(7) infrastructure in an operational state.
If the .TE macro ending a tbl(7) was missing before the end of the input
file, this logic bug caused man_endparse() to reset the parse point to the
root of the syntax tree, only for roff_endtbl() called from roff_endparse()
then expecting the parse point to still point to the ROFFT_TBL node,
resulting in a NULL pointer access in roff_endtbl().
[4 lines not shown]
amd64: expose machinery for BHI_CTRL and BHI_DIS_S
Some recent Intel CPUs expose BHI_CTRL. That allows one to enable BHI_DIS_S
if BHI_NO is not present. This change adds the infrastructure for this but
does not yet enable BHI_DIS_S.
ok jsg@
Switch syslogd(8) to getexecpath(3).
Both syslogd and syslogd-parent call getexecpath() to get their own
program path. Then they transform the trailing components into the
path of the other one, which each has to execv(3) during start or
after SIGHUP.
with deraadt@; OK millert@
Migrate vmd(8) to use getexecpath(3).
vmd requires absolute paths during its many instances of fork+exec
in conjunction with its usage of unveil(2). Make it easier to run
vmd by capturing the absolute path via getexecpath(3) during early
init and storing it in the vmd environment state.
Looks good to deraadt@, "go for it" mlarkin@
Fix off-by-one in pf(4) ioctl DIOCIGETIFACES
The check for buffer exhaustion in pfi_get_ifaces() is off-by-one.
This leaves the last part of the buffer uninitialized and copies
out foreign heap data.
from Johann Hoepfner; OK deraadt@ sashan@
auxinfo was not being placed on the stack for -static -pie binaries.
auxinfo was originally intended only for ld.so but libc has started inspecting
it, though nothing went wrong if it was missing. But now libc getexexpath(3)
requires it.
ok kettenis
Display the actual value of _PATH_DEFPATH, to avoid the potential
misunderstanding that there might be some special mechanism implementing
the default path, which is actually just a #defined string.
This reverts part of the previous commit (rev. 1.2) but leaves the
addition of /usr/local/sbin in place and moves the colons out of
the .Pa scope for better readability.
OK kn@, requested by deraadt@
drm/amd/display: Prune per-tile Timing from Apple Studio Display Primary Tile
From Fangzhi Zuo
4628e40c9ca79c7ca6d55ee0d5da1839c2d0b4c7 in linux-6.18.y/6.18.50
7a4dd08c3f921576c6a7524f60e4f0e4601835d2 in mainline linux
drm/amd/display: hide Apple Studio Display secondary tile
From Jerry Zuo
7d860bed133698eefa7f5f808c7dbce1c2738b96 in linux-6.18.y/6.18.50
49521be4809d63fe3efb6bc68ee11cb1e1ef3d63 in mainline linux
drm/amd/display: Refactor amdgpu_dm_connector_detect (v2)
From Timur Kristof
c6b915f0df31121524253f1410da7b3dd43e92b7 in linux-6.18.y/6.18.50
8223a605744bb471f31018eac9075a539415b16f in mainline linux
drm/amd/display: Skip PHY SSC reduction on some 8K panels
From Roman Li
a1fa3d1197cc2a5d8d55f9cab8bb07c3367431ec in linux-6.18.y/6.18.50
144169e7be0831e09958a906d08d1856751aa6c6 in mainline linux
drm/amd/display: Avoid NULL dereference in dc_dmub_srv error paths
From Srinivasan Shanmugam
2ab18de5ebb11c76bfc8087c5a09fbcccd0dea8a in linux-6.18.y/6.18.50
4ae3e16f4b3bf64140f773629b765d605ee079a9 in mainline linux
avoid an uninitialised stack read
it is possible for bios_sysctl() to be called with namelen=0:
sys_sysctl() name={ CTL_MACHDEP, CPU_BIOS }, namelen=2
cpu_sysctl() name={ CPU_BIOS }, namelen=1
bios_sysctl() name={}, namelen=0
if name[0] was 2 (BIOS_DISKINFO) the function would not return ENOTDIR
as intended
found by and diff from Johann Hoepfner, ok deraadt@
If we're hibernating we need to load the firmware after we resume. This
also means that we should clean up before we hibernate to make sure we
don't do stupid stuff like polling sensors before the firmware gets
loaded.
ok mglocker@