NetBSD 9.4 を発表 (2024年 4月 20日)

# 「はじめに」
以下は https://www.netbsd.org/releases/formal-9/NetBSD-9.4.html の翻訳です。

また、恒例のお断りですが、この文章の内容は、筆者が所属している会社・団体とは一切関わりがありません。いわゆる「自主的な研究の成果の発表」というものです。

では、以下、翻訳です。

# NetBSD 9.4 を発表(2024年4月20日)

:::note info
せっかちな人向けのクイックリンク

私たちの CDN から 9.4 をダウンロードしてください: amd 64 USB、amd 64 CD、さまざまな ARM デバイス、その他すべての完全なリリースディレクトリ。

NetBSD セキュリティオフィサーの PGP 鍵で署名された、ディストリビューション中のすべてのファイルのハッシュ。
:::

## はじめに

NetBSD 9.4 には、2022 年 8月 4日に NetBSD 9.3 が切り出されて以降、現在の (current) ブランチから netbsd-9 安定版 (stable) ブランチに引き上げられた様々な改良が含まれています。

NetBSD 9.4 は主にバグとセキュリティの修正リリースですが、より多くの MegaRAID コントローラ、ZTE MF112 および D-Link DWM222 USB 3G モデムのサポート、より新しい AMD/Intel デバイスのための CPU 機能検出の改善など、いくつかの新機能も含まれています。netbsd-9 の全ユーザは、安定版ブランチに従っていない場合、アップグレードすべきです。

:::note warn
重要: NetBSD 9.x に含まれる OpenSSL のバージョンは、OpenSSL からサポート契約を購入しない限り、現在サポート対象外となっており、私たちが netbsd-9 ブランチで 約束した ABI の互換性を壊すことなくアップグレードすることはできません。ユーザは、NetBSD 10 に更新するか、あるいは pkgsrc から OpenSSL を使用することを推奨します。
:::

## ハイライト

- libm - MIPS 用の fused-multiply-add 関数を追加。
- misc - ルート DNS サーバを 2023112702 に更新。
- misc - dhcpcd.conf のコピーを /usr/share/examples にインストール。
- next68k - ポートの様々な部分の大規模なブートと信頼性の修正。
- x86 - amdsmn(4)、amdzentemp(4) に zen3 および zen4 のサポートを追加。CCD ごとの温度センサのサポートを追加。
- x86 - ichsmb(4) に Intel 600 および 700 シリーズ PCH、Snow Ridge のサポートを追加。
- x86 - tprof(8) に AMD Family 19h、Intel Comet Lake、Skylake-X、Cascade Lake のサポートを追加。
- x86 - raw I/O ポートアクセスによるシリアルコンソールサポートを efiboot に追加。
- x86 - リリースビルドに zfs および cgd ramdisk を追加。
- acpi(4) - 互換性の強化 (特に、QEMU 上の aarch64 用)。
- audioplay(1) - 32 ビットおよび 64 ビットの IEEE FP .wav ファイルの再生をサポート。wav パーサの修正。
- date(1) - RFC 5322 フォーマットで時刻を表示するための -R オプションと、時刻を設定するための -f オプションを追加。
- ftp(1) - 相対 HTTP リダイレクトのサポートを追加。
- getconf(1) - 最初のアンダースコアの有無にかかわらず変数名を受け付けるように。これは FreeBSD にマッチし、GNU の getconf との互換性を高める。
- lm(4) - Nuvoton NCT6799D、NCT6797D のサポートを追加。
- mfii(4) - SAS3216、SAS3224、SAS3316 および SAS3324 を含む、より多くのデバイスをサポート。信頼性のための修正。
- mfii(4) - 利用可能な場合にドライバが MSI/MSI-x を使用するように。
- puc(4) - EXAR XR17V354 PCIe UART のサポートを追加。
- re(4) - Realtek RTL8168GU Ethernet デバイスのサポートを追加。
- u3g(4) - ZTE MF112 および D-Link DWM222 3G USB モデムのサポートを追加。
- sshd(8) - デフォルトで DSA ホスト鍵の生成を停止。
- zpool(8) - dk(4) ウェッジ上のコンポーネントを確実に見つけるための zpool を有効化。

## ユーザ空間

- libc - マニュアルページのドキュメントを修正。
- libc - libpthread とリンクされていない場合の pthread 関数の挙動を修正。
- libc - swab(3) の挙動を修正し、将来、適切にテストされるようにした。
- libc - newlocale(3) で、複数のコンポーネントを持つロケール文字列のパースを修正。
- libc - "setrlimit(RLIMIT_STACK) が使用可能なスタックサイズの増加に失敗する" を修正。
- libc - vis(3) の種々のオーバーフローの可能性を修正。テストを更新。
- libc - sethostent(3) のいくつかのあり得ないメモリリークを修正。
- libc - "getnameinfo(3) のソケットアドレス長の引数が厳格に解釈され過ぎている" を修正。ドキュメント NI_NUMERICSCOPE を修正。
- libm - fetestexcept(3) の偽の副作用を修正。
- iscsi - 「sparc64 で iscsi-initiator がクラッシュする」問題を修正。
- find(1) - 「.がオープンできない場合に find(1) が不必要にベイルアウトする」問題を修正。
- ld.elf_so(1) - 静的なスレッドローカルストレージを使用する dlopen(3) を修正。
- ldpd(8) - "alignment-picky なアーキテクチャで ldpd が失敗する" 問題を修正。
- netstat(1) - さまざまな出力の改善。
- progress(1) - エラーハンドリングを修正。
- sh(1) - read 組み込みのエスケープ処理を修正し、エラー報告の外観を改善。
- sh(1) - 「クォートされた制御文字の代入で部分文字列の処理が失敗する」問題を修正。
- skey(1) - Mail(1) の削除に skeyaudit スクリプトを適応。
- systat(1) - "systat vm が ^Z, fg の後に 1 人のユーザを報告する" を修正。
- vacation(1) - Precedence: (RFC 2076) に加えて Auto-Submitted: (RFC 3834) の電子メールヘッダをチェックし、Auto-Submitted: に加えて Precedence: を設定。
- vi(1) - エスケープされたバックスラッシュを正しく取り扱うように。
- pthread(3) - 起動時の pthread のハングアップ、および ARM の種々のロックのハングアップを修正。
- blacklistd(8) - デーモンの再起動時のファイアウォール ID を修正。
- cpuctl(8) - ロードされるマイクロコードが既に cpu で利用可能な場合に、エラーメッセージを表示しないように。
- ftpd(8) - さまざまなエラーハンドリングの修正。
- dump(8) - 解決できない NAME= エントリを持つ /etc/fstab エントリを静かに無視。
- iostat(8) - 古めかしい引数フォーマット (BACKWARD_COMPATIBILITY) の処理を修正。
- makefs(8) - "makefs(8) -t msdos がいくつかのエラーで EXIT_FAILURE を返さない" を修正。
- pam(8) - pam_krb5 および pam_ksu Kerberos 認証モジュールをデフォルトで無効化。
- sysinst(8) - さまざまなディスクパーティショニングおよびアカウンティングの問題を修正。
- telnetd(8) - CVE-2020-10188 を修正。
- telnetd(8) - 初期化前の slc テーブルへのアクセスのクラッシュを修正。

## port

- alpha, pmax, vax - いくつかのマシンで、ポーリングモードのキーボードコンソールを修正。
- amd64 - 32 ビット互換の amd(8) を修正。
- amiga - loadbsd のソースおよび配布バイナリをバージョン 3.3 に更新。
- amiga - Roc Valles の device-streams バイナリを更新。
- atari - ite(4) に最小限の DEC 特殊グラフィック文字のサポートを追加。
- atari - le(4) のプローブ中の長年のエラーを修正。
- atari - Milan、特に sysinst(8) の VGA コンソール設定を改善。
- atari - 古い Xserver がデフォルトで動作するよう、Atari ST-RAM の予約を改善。
- dreamcast - 「audiooplay が何度か実行された場合に aica(4) が応答しなくなることがある」問題を修正。
- evbarm - sunxican(4) の RX 割り込みのハンドリングを改善し、受信オーバーランのリスクを低減。
- evbmips - "Octeon boot fails with bus error" を修正。
- hp300 - HP320 および HP360 の 98543A topcat フレームバッファのサイレントバスエラーパニックを修正。
- hp300 - 2202A、7908A、7911A および 7941A からブートできるようにブートローダを修正。
- hp300 - rd(4) ディスクドライバに関する種々の問題を修正。
- i386 - GENERIC カーネルでエンディアン非依存のディスクラベルのサポートを有効化。
- newsmips - Sun システムで使用されている Gallant フォントではなく、Sony ファンのために FONT_SONY12x24 コンソールフォントを使用。
- newsmips - NWS-3260 LCD-MONO フレームバッファのサポートを追加。
- newsmips - SCSI ドライバの遅延を修正。
- vax - 最小 8MB、最大 512MB の RAM で VAXen を起動可能に。
- vax - VAXstation 3100/m30 (KA420) のネットブート時の SCSI 転送の破損を修正。
- vax - qe(4) ドライバでの ifconfig(8) の操作時の種々のクラッシュを修正。
- x86 - APIC リマップの警告がブート時に出力される問題を修正。
- x86 - より多くの CPU フラグを /proc/cpuinfo に追加。
- x86 - piixpm(4) で間接アクセス I/O ポートを持たない新しい AMD チップセットをサポート。
- x86 - EFI からのブート時に UUID を若干標準的な表記で表示。
- x86 - プライマリブートストラップが RAIDframe 内の GPT を読み込めるように。
- x86 - Zen2 CPU の "Zenbleed" チキンビットをオフに。
- x86 - いくつかのシステムで PCI MSI/MSI-X が利用可能かどうかの検出を修正。

## カーネルとデバイスドライバ

- kernel - 様々なメモリバリアの修正。
- compatel - 様々な潜在的な情報リークを修正。
- ffs - 2TB 以上の UFS2 ファイルシステムが満杯であることを早期に報告したり、カーネルをパニックに陥らせたりするスナップショットのバグを修正。
- netinet6 - ルータが再起動されたときにカーネルパニックを引き起こすリンクレイヤエントリのフリーの重複を回避。
- netinet6 - IPV6_CHECKSUM の処理を修正。
- netinet6 - 「ICMP6 ソケットで SO_TIMESTAMP を有効にすると動作しない」問題を修正。
- netinet6 - 特定の inet6 アドレス設定でのパニックを修正。
- nfs - "macOS 14 サーバでの NFS クライアントのリグレッション" を修正。
- nfs - 様々なサーバープロトコルの修正。
- ptyfs - ptyfs の root での chown/chmod を許可。バッファオーバーランを修正。
- sysv_shm - kern.ipc.shmmax を計算する際のオーバーフローの可能性を回避。
- zfs - ブロックデバイスノードが zfs ボリューム上にある場合の wapbl ボリュームのマウントを修正。
- zfs - "pgdaemon 100% busy - no scanning" を修正。
- mmap(2) - さまざまな信頼性の修正、NodeJS の問題の修正。
- acpi(4) - 範囲外のアクセスを修正。
- bpf(4) - 無効なタイムアウト値を拒否。
- ehci(4) - "USB キーボードがホストコントローラのマイクロフレームの欠落を引き起こす" を修正。
- ipmi(4) - 警告リミットよりも小さい、回復不能なリミットおよびクリティカルなリミットを無視。これらは通常無効。
- ixg(4) - TX が常に遅延 softint を使用するためのオプションを追加。デフォルトではオフ。
- nvme(4) - サスペンド/レジュームサイクル後の nvmectl(8) を修正。
- pci(4) - さまざまな新しいデバイスを認識および検出。
- raid(4) - numCol および numSpares の無効な値を拒否。
- raid(4) - メモリリークを修正。
- route(4) - 経路削除時のデッドロックを修正。
- sd(4) - デバイスタイプの文字列に追加されたゴミおよび情報漏洩の可能性を修正。
- sdhc(4) - いくつかの Intel PCI eMMC デバイスを動作させるための quirk 設定を追加。
- sdmmc(4) - umount(8) のデッドロックを修正。
- sem(4) - NodeJS パッケージマネージャの実行時のカーネルパニックを修正。
- tun(4) - TUNSLMODE が設定された IPv6 パケットを許容。
- ure(4) - 未定義の挙動を修正。
- urndis(4) - 風変わりなデバイスのリストに OnePlus 5T を追加。
- urtwn(4) - コマンドリングオーバーフロー時のデッドロックを回避。
- usb(4) - 未定義の挙動を修正。
- vnd(4) - 低メモリのシナリオでのデッドロックを修正。
- wd(4) - UltraDMA をサポートしていない ATA コントローラ用の冗長なアタッチメッセージを修正。
- wd(4) - ATA レイヤの種々の信頼性のための修正。
- wscons(4) - "some VT codes result in blank console" を修正。
- wm(4) - より多くの統計カウンタを追加。
- wm(4) - パケットの廃棄を防ぐための種々の回避策を追加。
- wm(4) - Intel Raptor Lake デバイス、Intel I219-{LM,V}(20,21) のサポートを追加。
- xhci(4) - USB 2 ポートしか持たない XHCI デバイスをサポート。
- npf(7) - 「NPF のデフォルトが IP フラグメントの再アセンブリを壊す」問題を修正。
- npf(7) - ブロックリターンパケットがルールの対象とならないよう、パススルー。
- npf(7) - さまざまな信頼性のための修正。
- kauth(9) - クレデンシャルの参照リークを修正。

## ビルドシステム
- clang++ をホストコンパイラとして GCC をビルドするよう修正。
- 単に mkrepro-timestamp を実行し、現在のリポジトリのセットアップが実際にはそれを必要としない場合に、移入された tooldir への依存 (あるいはツールの構築) を回避。
- DEBUG m68k カーネルのコンパイルを修正。
- デフォルトではビルドされないいくつかの MP MIPS カーネルのコンパイルを修正。
- 様々な miniroot スクリプトで非推奨のシェル機能を使用していたのを修正。
- MIPS R3000 (ビッグエンディアン) で printf("%.1f") が間違った結果を表示する問題を修正。

## サードパーティーソフトウェア

NetBSD システムに含まれる以下のサードパーティ製ソフトウェアが更新されました：

- tzdata - 2024a に更新。
- libX11 - CVE-2023-3138、CVE-2023-43785、CVE-2023-43786、CVE-2023-43787、CVE-2023-43788、CVE-2023-43789 を修正。
- Xorg(1) - CVE-2023-1393、CVE-2023-0494、CVE-2023-5367、CVE-2023-5380、CVE-2022-46285、CVE-2022-44617、CVE-2022-4883、CVE-2020-14363 を修正、 CVE-2022-46340, CVE-2022-46341, CVE-2022-46342, CVE-2022-46343, CVE-2022-46344, CVE-2022-46283, CVE-2021-4008, CVE-2021-4009, CVE-2021-4010, CVE-2021-4011
- Xorg(1) - xf86-video-wsfb 用の壊れた DGA 拡張を無効化。
- openssl(1) - 1.1.1t に更新。
- openssl(1) - 「SPARCv8 における openssl の速度クラッシュ」を修正。
- postfix(1) - 3.8.4 に更新。
- postfix(1) - postfix-tls-script を同梱。
- sshd(8), sshd(8) - 9.6 に更新。
- mdnsd(8) - 権限分離を修正し、arc4random(3) を使用。
- named(8) - BIND 9.18.24 に更新。
- nsd(8) - 4.8.0 に更新 (種々の CVE を修正)
- unbound(8) - 1.19.1 に更新 (種々の CVE を修正)
- wpa_supplicant(8) - CVE-2023-52160 を修正。
- xdm(8) - man ページの生成を修正し、デフォルトのユーザ PATH に "sbin" ディレクトリ (およびゲーム) を追加。