# $NetBSD: CHANGES-9.5,v 1.1.2.41 2024/11/18 19:51:36 martin Exp $ A complete list of changes from the NetBSD 9.4 release to the NetBSD 9.5 release: external/gpl2/groff/tmac/mdoc.local patched by hand sys/sys/param.h patched by hand doc/README.files patched by hand doc/CHANGES-9.5 added Welcome to 9.4_STABLE. [martin] sys/netinet6/frag6.c 1.78 inet6: fix calculation of fragment length. [ozaki-r, ticket #1836] sys/dev/usb/uftdi.c 1.78 sys/dev/usb/usbdevs 1.815 sys/dev/usb/usbdevs.h (regen) sys/dev/usb/usbdevs_data.h (regen) uftdi(4): PR 58127: add some USB serial adapters. [maya, ticket #1837] sys/arch/hp300/stand/inst/Makefile 1.11 sys/arch/hp300/stand/uboot/Makefile 1.11 hp300: PR 58211: fix hardlinks in /usr/mdec. [tsutsui, ticket #1838] sys/arch/mac68k/dev/pm_direct.c 1.31 mac68k: avoid random crashes on some Powerbook models when using mouse or keyboard. [nat, ticket #1839] sys/dev/hil/hil.c 1.8 hp300: fix "stray level 1 interrupt" panic by pressing keys during autoconf(9). [tsutsui, ticket #1840] sbin/disklabel/main.c 1.58 disklabel(8): avoid writing a label to the wrong sector on some architectures from installer/ramdisk versions of the disklabel command. [tsutsui, ticket #1841] sys/arch/hp300/hp300/autoconf.c 1.113 hp300: fix boot device selection for SCSI disks. [tsutsui, ticket #1842] sys/dev/pci/eap.c 1.103 eap(4): restore the full set of supported hardware encodings from netbsd-7. [nia, ticket #1843] share/man/man4/eap.4 1.18-1.20 eap(4): improve man page. [nia, ticket #1844] external/bsd/tre/dist/src/agrep.c 1.5,1.6 (patch) agrep(1): PR 53513: rewrite check for binary files. [andvar, ticket #1845] sys/dev/usb/if_urtwn.c 1.108 sys/dev/usb/usbdevs 1.812 sys/dev/usb/usbdevs.h (regen) sys/dev/usb/usbdevs_data.h (regen) urtwn(4): PR 57819: add Mercusys and Mercusys MW150USV2 support. [nia, ticket #1846] sys/arch/mac68k/dev/aed.c 1.39 sys/arch/macppc/dev/aed.c 1.35 mac68k/macppc: PR 58303: fix passing of emulated 2nd and 3rd button events to the corresponding adb mouse. [nat, ticket #1847] sys/arch/x86/x86/coretemp.c 1.40,1.41 coretemp(4): do not accept impossibly low TjMax values. [gutteridge, ticket #1848] usr.sbin/btpand/btpand.c 1.9 btpand(8): fix off-by-one bug causing out of bounds memory access. [plunky, ticket #1851] crypto/external/bsd/openssh/dist/log.c 1.29 crypto/external/bsd/openssh/dist/version.h (patch) sshd(8): PR 58386: avoid strnvis and syslog_r in signal handler context. Fixes CVE-2024-6387. [riastradh, ticket #1854] sys/dev/pci/pcidevs 1.1507 sys/dev/pci/pcidevs.h (regen) sys/dev/pci/pcidevs_data.h (regen) PR 58358: add Brainboxes as manufacturer and some of their devices. [nia, ticket #1852] usr.sbin/sysinst/msg.mi.de 1.49,1.50 usr.sbin/sysinst/msg.mi.en 1.52 sysinst(8): Note that leaving the network "media type" empty autoconfigures. [nia, ticket #1853] sys/arch/x86/include/specialreg.h 1.212 sys/arch/x86/x86/identcpu.c 1.129,1.130 x86: PR 58370: VIA CPU probe fixes. [andvar, ticket #1855] bin/sh/histedit.c 1.68 sh(1): ignore non-numeric values for HISTSIZE. [kre, ticket #1856] distrib/sets/lists/comp/mi 1.2463 share/man/man9/Makefile 1.471 share/man/man9/imax.9 1.7,1.8 imax(9): document the renaming from max/min to uimax/uimin. [rin, ticket #1857] sys/net/if_bridge.c 1.192 bridge(4): add missing curlwp_bind() for pppoe. [rin, ticket #1858] libexec/ld.elf_so/rtld.c 1.216 PR 57628: at the end of _rtld_init() explicitly initialize the ld.elf_so local copy of the atomic access support functions for machines that do not implement all required ops in hardware (like 32bit sparc). [martin, ticket #1861] lib/libc/compat-43/killpg.c 1.10 sys/kern/kern_descrip.c 1.263 (patch) sys/kern/kern_ktrace.c 1.185 (patch) sys/kern/kern_proc.c 1.276 (patch) sys/kern/sys_sig.c 1.58 (patch) sys/kern/tty.c 1.313 (patch) tests/lib/libc/sys/t_kill.c 1.2 PR 58425: disallow INT_MIN as a (negative) pid arg. Add a test for this. [kre, ticket #1859] bin/sh/histedit.c 1.72 sh(1): fix sh histedit core dump. [kre, ticket #1860] libexec/ld.elf_so/arch/aarch64/mdreloc.c 1.14 libexec/ld.elf_so/arch/arm/mdreloc.c 1.45 ld.elf_so(1): honor addend for R_AARCH64_TLS_TPREL relocation. [riastradh, ticket #1862] bin/pax/ar_subs.c 1.58 bin/pax/buf_subs.c 1.31 bin/pax/extern.h 1.61 bin/pax/file_subs.c 1.65 bin/pax/ftree.c 1.43 bin/pax/pax.c 1.50,1.51 tests/bin/pax/t_pax.sh 1.3-1.7 pax(1): Fix various PRs and add tests for the bugs. PR 33753: pax(1) deletes target file if rewriting it fails (`don't installworld to a full disk') PR 41736: pax reports an error when copying zero files PR 44498: tar(1) unnecessarily demands that getcwd() work [riastradh, ticket #1863] libexec/ld.elf_so/README.TLS 1.7 libexec/ld.elf_so/arch/aarch64/rtld_start.S 1.6,1.7 libexec/ld.elf_so/tls.c 1.15,1.20,1.21 tests/libexec/ld.elf_so/t_tls_extern.c 1.15,1.16 ld.elf_so(1): PR 58154: fix aarch64 thread-local storage [riastradh, ticket #1864] lib/libc/include/extern.h 1.27 lib/libc/stdio/Makefile.inc 1.48 lib/libc/stdio/vfwprintf.c 1.40 tests/lib/libc/stdio/t_printf.c 1.9,1.10 PR 57250: fix formatting long double infinities on big-endian 32-bit. [riastradh, ticket #1865] tests/lib/libc/stdio/t_printf.c 1.11-1.18 (patch) PR 56937: libc: add tests for printf(3) long double %a. [riastradh, ticket #1866] sys/netbt/bt_proto.c 1.17 netbt(4): PR 56988: initialize bt_lock earlier. [riastradh, ticket #1867] sys/dev/hdaudio/hdafg.c 1.30 hdafg(4): PR 57322: do hotplug detection in kthread, not callout. [riastradh, ticket #1868] sys/dev/acpi/acpi_display.c 1.24 acpiout(4): PR 57825: fix brightness controls on certain machines. [riastradh, ticket #1869] common/lib/libc/stdlib/_strtoi.h 1.3 lib/libc/stdlib/Makefile.inc 1.97 lib/libc/stdlib/strtoi.3 1.8,1.9 lib/libc/stdlib/strtonum.c 1.7 lib/libc/stdlib/strtou.3 delete tests/lib/libc/stdlib/t_strtoi.c 1.3 strtoi(3), strtou(3): PR 57828: prioritize ERANGE over ENOTSUP. [riastradh, ticket #1870] sys/sys/socket.h 1.132 : PR 57871: use unsigned char, not u_char, for POSIX apps. [riastradh, ticket #1871] distrib/sets/lists/debug/mi 1.425 distrib/sets/lists/tests/mi 1.1306 (patch) lib/libc/arch/arm/gen/setjmp.S 1.19 lib/libc/arch/i386/gen/setjmp.S 1.18 lib/libc/arch/i386/gen/sigsetjmp.S 1.19 lib/libc/arch/sh3/gen/setjmp.S 1.12 lib/libc/arch/sh3/gen/sigsetjmp.S 1.11 lib/libc/arch/x86_64/gen/__setjmp14.S 1.4 lib/libc/arch/x86_64/gen/__sigsetjmp14.S 1.4 tests/lib/libc/setjmp/Makefile 1.3 tests/lib/libc/setjmp/t_sigstack.c 1.1-1.12 longjmp(3): PR 57946: restore stack first, then signal mask. [riastradh, ticket #1872] sys/ufs/ext2fs/ext2fs_dir.h 1.23 ext2fs: PR 58018: fix readdir type for regular files. [riastradh, ticket #1873] usr.bin/audio/common/wav.c 1.23 usr.bin/audio/record/record.c 1.59 audioplay(1)/audiorecord(1): PR 57973: - fix a bug in the RIFF parser on 64-bit platforms - fix audio-conversion functions for two types of input/output [mrg, ticket #1874] usr.bin/config/defs.h 1.109 usr.bin/config/files.c 1.38 usr.bin/config/mkioconf.c 1.36 usr.bin/config/mkmakefile.c 1.73 usr.bin/config/pack.c 1.11 config(1): PR 58115: make sort order deterministic to fix reproducible build. [riastradh, ticket #1875] external/mpl/bind/dist/lib/ns/query.c 1.21 named(8): PR 58170: remove incorrect blocklist report for a request that we cannot evaluate legitimacy of, in order to avoid blocking legitimate clients. [riastradh, ticket #1876] distrib/sets/lists/debug/mi 1.433 distrib/sets/lists/tests/mi 1.1313 (patch) etc/mtree/NetBSD.dist.tests 1.204 external/gpl3/gcc/dist/libstdc++-v3/config/io/basic_file_stdio.cc 1.2 tests/lib/Makefile 1.36 tests/lib/libstdc++/Makefile 1.1 tests/lib/libstdc++/h_cin_nosync.cc 1.1 tests/lib/libstdc++/t_sync_with_stdio.sh 1.1,1.2 libstdc++: PR 58206: avoid undefined behaviour in sync_with_stdio - don't fflush stdin. [riastradh, ticket #1877] distrib/cdrom/Makefile 1.53 etc/etc.mac68k/Makefile.inc 1.24 PR 41266: change mkisofs invocation to not error out on expected file changes. [hauke, ticket #1878] sys/uvm/uvm_map.c 1.423,1.425 (patch) uvm_map(9): PR 51254_ make sure search in the nearest gap is monotonic. [riastradh, ticket #1879] sys/dev/pci/pucdata.c 1.116 puc(4): PR 58358: add Brainboxes puc(4) devices. [jakllsch, ticket #1880] lib/libc/time/strptime.c 1.64-1.66 (patch) tests/lib/libc/time/t_strptime.c 1.16 (patch) strptime(3): PR 58041: add tests and avoid arithmetic overflow. [riastradh, ticket #1881] sbin/fsirand/fsirand.8 1.11 usr.sbin/mountd/exports.5 1.33-1.38 usr.sbin/mountd/mountd.8 1.43 nfs: PR 58063: clarify export semantics and security model. [riastradh, ticket #1882] sys/netinet/if_arp.c 1.314 sys/netinet/in.c 1.248 tests/net/arp/t_dad.sh 1.16 ipv4: fix some behaviors when DAD is disabled and add tests. [ozaki-r, ticket #1883] sys/arch/i386/stand/lib/biosmemx.S 1.12,1.13 sys/arch/i386/stand/lib/bootinfo_memmap.c 1.7,1.8 sys/arch/i386/stand/lib/getextmemx.c 1.11,1.12 x86: PR 49470: work around broken BIOS implementations that copy more than the requested data when querying memory details. [andvar, ticket #1884] sys/external/bsd/libnv/dist/nvpair.c 1.13 libnv(9), npf(4): PR 58652: fix NUL bounds check. [riastradh, ticket #1885] sys/net/bpf.c 1.256,1.257 sys/net/bpfdesc.h 1.49,1.50 bpf(4): PR 58596: fix locking. [ozaki-r, ticket #1886] sys/kern/subr_localcount.c 1.8 localcount(9): PR 58610: update per-CPU total at splhigh. [riastradh, ticket #1888] sbin/gpt/biosboot.c 1.33 gpt(8): portability fix for the tool version. [lloyd, ticket #1889] etc/defaults/npf.boot.conf 1.4 NPF: allow DHCPv6 during early boot stage so that dhcpcd(8) does not complain at boot when using the ia_pd option. [nakayama, ticket #1890] sys/arch/sparc64/sparc64/lock_stubs.s 1.12 sparc64: add missing LoadStore ordering for mutex_enter stub. [rin, ticket #1891] crypto/external/bsd/openssh/dist/kex.c 1.38 openssh: kex: do not pass NULL as %s for logit() in our local diff. [rin, ticket #1892] crypto/external/bsd/openssh/dist/auth.c 1.37 crypto/external/bsd/openssh/dist/auth2.c 1.30,1.32 crypto/external/bsd/openssh/dist/monitor.c 1.44 sshd(8): fix spurious block for users with multiple public keys. [rin, ticket #1893] sys/netinet/tcp_input.c 1.441 tcp_reass: PR 58708: mitigate CVE-2018-6922 (SegmentSmack). [rin, ticket #1894] external/bsd/atf/dist/tools/atf-run.1 1.5 external/bsd/atf/dist/tools/atf-run.cpp 1.6,1.7 atf-run(1): add support for running individual test cases under isolation. [rin, ticket #1895] sys/kern/kern_resource.c 1.190,1.191 (patch) sys/kern/subr_time.c 1.36,1.37 (patch) sys/kern/subr_time.c 1.38 (patch) sys/sys/resourcevar.h 1.58 (patch) tests/lib/libc/sys/t_clock_gettime.c 1.4-1.6 (patch) clock_gettime(2): PR 57512: fix CLOCK_PROCESS/THREAD_CPUTIME_ID so they are monotonic using the same calculation as getrusage. [riastradh, ticket #1896] distrib/sets/lists/comp/mi 1.2473 lib/libc/locale/Makefile.inc 1.68 lib/libc/locale/mbsrtowcs.3 1.13-1.15 lib/libc/locale/wcsrtombs.3 1.14-1.16 mbsnrtowcs(3), wcsnrtombs(3): PR 52343: add man pages. [riastradh, ticket #1897] lib/libc/gen/readdir.c 1.27 readdir(3): PR 57145: preserve errno on end-of-directory as required by POSIX. Fixes random errors in gmake under certain circumstances. [riastradh, ticket #1898] sys/conf/newvers.mk 1.4 (patch) sys/conf/newvers.sh 1.64 (patch) sys/conf/newvers: PR 58220: use ${TOOL_AWK} [riastradh, ticket #1899] tests/lib/libc/c063/t_fchmodat.c 1.4-1.7 tests/lib/libc/c063/t_utimensat.c 1.7 tests/lib/libc/c063: fix bugs in various tests so they actually test what is intended by doing ATF_CHECK(foo == bar) instead of ATF_CHECK(foo = bar), plus some other associated fixes and tidying. [riastradh, ticket #1900] tests/lib/libc/c063/t_utimensat.c 1.8,1.9 tests/lib/libc/c063: PR 58571: tidy up t_utimensat and skip the atime tests on file systems mounted noatime. [riastradh, ticket #1901] tools/README 1.6 tools/README: PR 58699: fix path to nbtools_config.h. [riastradh, ticket #1902] external/gpl3/gcc/dist/gcc/regsub.cc 1.2 (applied to .../regsub.c) tools/gcc: PR 58686: use for ssize_t (in our own local patches to gcc) to fix tools on some platforms. [riastradh, ticket #1903] sys/arch/xen/xen/xen_clock.c 1.19 (patch) (applied to .../clock.c) xen clock: PR 58362: avoid passing stack garbage to hypervisor in XENPF_settime, by zeroing the op first. [riastradh, ticket #1904] lib/libc/compat/gen/compat_ldexp_ieee754.c 1.9 ldexp(3): PR 58347: avoid undefined behaviour in arithmetic overflow on certain inputs. [riastradh, ticket #1905] distrib/sets/lists/debug/mi 1.435 (patch) distrib/sets/lists/tests/mi 1.1315 (patch) lib/libm/src/s_nexttoward.c 1.3 (patch) tests/lib/libm/Makefile 1.49 (patch) tests/lib/libm/t_next.c 1.1-1.6 (patch), 1.7 lib/libm/src/s_nextafter.c 1.17 lib/libm/src/s_nexttowardf.c 1.4,1.5 nexttoward(3): PR 58236: fix for subnormal inputs so it goes in the correct direction, not the opposite direction. Provide nexttowardf() and nexttowardl() on architectures where they were missing before. [riastradh, ticket #1906] build.sh 1.378,1.379 build.sh: PR 58399: improve xsrc existence test. [riastradh, ticket #1907] share/man/man3/tm.3 1.6,1.7 tm(3): PR 58651: fix types of NetBSD extensions tm_gmtoff and tm_zone in man page. [riastradh, ticket #1908] share/man/man9/ts2timo.9 1.4,1.5 sys/kern/subr_time.c 1.39 (patch) PR 58733: avoid ts2timo() clobbering its arg. [kre, ticket #1909] share/man/man5/acct.5 1.10-1.12 acct(5): PR 58515: update man page to reflect reality. [riastradh, ticket #1910] usr.bin/tic/tic.c 1.42 tic(1): PR 58270: respect user's umask. [riastradh, ticket #1911] etc/mtree/special 1.179 /etc/mtree/special: PR 58465: add wpa_supplicant.conf as optional so that it gets saved in /var/backups. [riastradh, ticket #1912] tests/usr.bin/gzip/t_gzip.sh 1.2-1.4 usr.bin/gzip/unlz.c 1.9,1.10 usr.bin/gzip/unxz.c 1.9 gzip(1) PR 58223: fix lzip dict size, do not write to stdout. [christos, ticket #1913] bin/date/date.c (apply patch) external/gpl2/gmake/dist/main.c 1.2 sys/sys/signal.h 1.77 sys/sys/signal.h 1.78 usr.bin/sed/process.c 1.54 PR 58674: tools portability build "fixes". [kre, ticket #1914] external/cddl/osnet/sys/sys/types.h 1.21 PR 57807: fix cross-build on recent -current. [rin, ticket #1915] xsrc/external/mit/xorg-server/dist/Xi/exevents.c (apply patch) xsrc/external/mit/xorg-server/dist/Xi/xichangehierarchy.c (apply patch) xsrc/external/mit/xorg-server/dist/Xi/xipassivegrab.c (apply patch) xsrc/external/mit/xorg-server/dist/Xi/xiquerypointer.c (apply patch) xsrc/external/mit/xorg-server/dist/Xi/xiselectev.c (apply patch) xsrc/external/mit/xorg-server/dist/dix/devices.c (apply patch) xsrc/external/mit/xorg-server/dist/dix/enterleave.c (apply patch) xsrc/external/mit/xorg-server/dist/glx/glxcmds.c (apply patch) xsrc/external/mit/xorg-server/dist/randr/rrproperty.c (apply patch) xsrc/external/mit/xorg-server/dist/randr/rrproviderproperty.c (apply patch) xsrc/external/mit/xorg-server/dist/xkb/xkb.c (apply patch) Update xorg-server to have various missing CVE fixes: CVE-2023-6377, CVE-2023-6478, CVE-2023-6816, CVE-2024-0229, CVE-2024-0408, CVE-2024-21885, CVE-2024-21886, CVE-2024-31080, CVE-2024-31081, CVE-2024-9632 [mrg, ticket #1916] external/mit/xorg-server.old/dist/Xi/exevents.c 1.3 external/mit/xorg-server.old/dist/Xi/exevents.c 1.4 external/mit/xorg-server.old/dist/Xi/xichangehierarchy.c 1.3 external/mit/xorg-server.old/dist/Xi/xipassivegrab.c 1.2 external/mit/xorg-server.old/dist/Xi/xiproperty.c 1.3 external/mit/xorg-server.old/dist/Xi/xiquerypointer.c 1.2 external/mit/xorg-server.old/dist/Xi/xiselectev.c 1.2 external/mit/xorg-server.old/dist/dix/devices.c 1.2 external/mit/xorg-server.old/dist/dix/devices.c 1.3 external/mit/xorg-server.old/dist/dix/property.c 1.2 external/mit/xorg-server.old/dist/glx/glxcmds.c 1.2 external/mit/xorg-server.old/dist/randr/rrproperty.c 1.3 xorg.old: merge upstream changes for CVE-2022-46344, ZDI-CAN 19405 CVE-2023-6478, ZDI-CAN-22561 CVE-2023-6816, ZDI-CAN-22664, ZDI-CAN-22665 CVE-2024-0229, ZDI-CAN-22678 CVE-2024-0408 CVE-2024-21885, ZDI-CAN-22744 CVE-2024-21886, ZDI-CAN-22840 CVE-2024-31080 CVE-2024-31081 CVE-2024-21886, ZDI-CAN-22840 [mrg, ticket #1917] tests/net/npf/t_npf.sh 1.5-1.7 usr.sbin/npf/npfctl/npf_bpf_comp.c 1.17 usr.sbin/npf/npftest/libnpftest/npf_rule_test.c 1.20-1.23 usr.sbin/npf/npftest/npftest.conf 1.10-1.12 npf: PR 55403: fix compilation of rules that match sets of multiple IPv6 addresses or address ranges at a time in npfctl(8). [riastradh, ticket #1918] sys/kern/kern_descrip.c 1.264 (patch) Fix close-on-exec flag (O_CLOEXEC). [kre, ticket #1919] sbin/gpt/add.c 1.45 gpt(8): PR 58806: never create a partition with a null guid. [kre, ticket #1920] distrib/sets/lists/debug/mi 1.454 (patch) distrib/sets/lists/tests/mi 1.1346 (patch) sys/compat/netbsd32/netbsd32_ioctl.c 1.122 (patch) sys/sys/filedesc.h 1.71 (patch) tests/kernel/Makefile 1.83 (patch) tests/kernel/h_cloexec.c 1.1 (patch) tests/kernel/t_cloexec.c 1.1 (patch) Add tests and comments for close-on-exec fixes from ticket #1919 [riastradh, ticket #1922] sys/arch/x86/x86/pmap.c 1.427 x86/pmap: PR 58666: fix null pointer dereference under memory pressure by passing _all_ the flags necessary for uvm_km_alloc to wait rather than fail, not just some of them; this way pmap_pdp_alloc never returns a null pointer, as callers expect. [riastradh, ticket #1924] external/bsd/nvi/dist/regex/engine.c 1.4 vi(1): PR 57630: fix crash on certain substitutions. [riastradh, ticket #1925] lib/libtelnet/enc-proto.h 1.11 lib/libtelnet/enc_des.c 1.18 lib/libtelnet/encrypt.c 1.20 lib/libtelnet/encrypt.h 1.10 libexec/telnetd/state.c 1.33,1.35 libexec/telnetd/sys_term.c 1.50 libexec/telnetd/telnetd.c 1.59,1.60 telnetd(8): PR 21450, PR 58787: fix issues in autologin, a memory leak of getaddrinfo(3), and a buffer overrun on input. [riastradh, ticket #1927] external/cddl/osnet/dist/uts/common/fs/zfs/dmu.c 1.7 external/cddl/osnet/dist/uts/common/fs/zfs/vdev.c 1.7 zfs: PR 58111: fix possible data corruption on FIOSEEKDATA/FIOSEEKHOLE. [riastradh, ticket #1928]