6.4. バグ修正

本パートでは、ユーザーに大きな影響を及ぼしていた Red Hat Enterprise Linux 8.1 のバグで修正されたものを説明します。

6.4.1. インストーラーおよびイメージの作成

カーネル起動パラメーター version または inst.version を指定しても、インストールプログラムが停止しなくなります。

以前では、version または inst.version のブートパラメーターを指定してカーネルコマンドラインからインストールプログラムを起動すると、バージョン (例: anaconda 30.25.6) が表示され、インストールプログラムが停止していました。

今回の更新で、カーネルコマンドラインからインストールプログラムを起動した場合に、version パラメーターおよび inst.version パラメーターが無視されるため、インストールプログラムは停止しません。

(BZ#1637472)

ビデオドライバー xorg-x11-drv-fbdevxorg-x11-drv-vesa、および xorg-x11-drv-vmware がデフォルトでインストールされるようになりました。

以前では、NVIDIA グラフィックスカードの特定のモデルが搭載されたワークステーションと、特定の AMD アクセラレート処理ユニットが搭載されたワークステーションでは、RHEL 8.0 Server のインストール後にグラフィカルログインウィンドウが表示されていませんでした。また、Hyper-V などのグラフィックサポートに EFI を使用する仮想マシンも影響を受けていました。今回の更新で、xorg-x11-drv-fbdevxorg-x11-drv-vesa、および xorg-x11-drv-vmware ビデオドライバーがデフォルトでインストールされ、RHEL 8.0 以降の Server のインストール後にグラフィカルログインウィンドウが表示されます。

(BZ#1687489)

エラーメッセージを表示せずにレスキューモードが失敗しなくなりました。

以前では、Linux パーティションのないシステムでレスキューモードを実行すると、インストールプログラムで例外が発生して失敗していました。この更新により、Linux パーティションがないシステムが検出されると、インストールプログラムが You don't have any Linux partitions(Linux パーティションがありません) というエラーメッセージを表示します。

(BZ#1628653)

インストールプログラムは、イメージインストールに lvm_metadata_backup Blivet フラグを設定するようになりました。

以前では、インストールプログラムはイメージインストールの lvm_metadata_backup blivet フラグの設定に失敗していました。これにより、LVM バックアップファイルは、イメージのインストール後に /etc/lvm/ サブディレクトリー配置されていました。この更新により、インストールプログラムは lvm_metadata_backup Blivet フラグを設定します。結果として、イメージのインストール後に /etc/lvm/ サブディレクトリーに LVM バックアップファイルは配置されません。

(BZ#1673901)

RHEL 8 インストールプログラムが RPM の文字列を処理するようになりました。

以前では、python3-rpm ライブラリーが文字列を返すと、インストールプログラムは例外で失敗していました。この更新により、インストールプログラムが RPM の文字列を処理できるようになりました。

(BZ#1689909)

inst.repo カーネル起動パラメーターが、root 以外のパスのあるハードドライブのリポジトリーに対して有効になりました。

以前では、inst.repo=hd:<device>:<path> カーネルブートパラメーターがハードドライブ上の (ISO イメージではなく) リポジトリーを参照することがあり、root (/) 以外のパスが使用されている場合、RHEL 8 のインストールプロセスが完了しませんでした。この更新により、インストールプログラムで、ハードドライブにあるリポジトリー用の <path> が伝播され、インストールが正常に行われるようになりました。

(BZ#1689194)

--changesok オプションを指定すると、インストールプログラムが root パスワードを変更できるようになりました。

これまで、キックスタートファイルから Red Hat Enterprise Linux 8 をインストールする際に --changesok オプションを指定しても、インストールプログラムで root パスワードを変更できませんでした。今回の更新で、キックスタートにより --changesok オプションが正常に渡されるようになったため、パスワードがキックスタートによって設定されていても、キックスタートファイルで pwpolicy root –changesok オプションを指定すれば、GUI を使用して root パスワードを変更できます。

(BZ#1584145)

lorax-composer API の使用時にイメージビルドに失敗しなくなりました。

以前では、サブスクライブした RHEL システムから lorax-composer API を使用すると、イメージ構築プロセスが常に失敗していました。ホストのサブスクリプション証明書が通っていないため、Anaconda はリポジトリーにアクセスできませんでした。この問題を修正するには、lorax-composer パッケージ、pykickstart パッケージ、および Anaconda パッケージを更新します。これにより、サポートされている CDN 証明書を渡すことができます。

(BZ#1663950)

6.4.2. シェルおよびコマンドラインツール

デバッグモードの systemd が不要なログメッセージを生成しなくなりました。

デバッグモードで systemd システムおよびサービスマネージャーを使用すと、以前では systemd により、以下で始まる不要で害のないログメッセージが作成されていました。

"Failed to add rule for system call ..."

今回の更新で、systemd が修正され、この不要なデバッグメッセージが生成されなくなりました。

(BZ#1658691)

6.4.3. セキュリティー

fapolicyd が RHEL の更新を阻止しなくなりました。

更新で実行中のアプリケーションのバイナリーが置き換えられると、カーネルにより、接尾辞 " (deleted) が追加されて、メモリー内のアプリケーションのバイナリーパスが変更されます。以前のバージョンでは、fapolicyd ファイルアクセスポリシーデーモンは、信頼できないアプリケーションなどのように処理し、他のファイルを開き、実行できませんでした。そのため、更新の適用後にシステムを起動できないことがありました。

RHBA-2020:5241 アドバイザリーのリリースでは、fapolicyd がバイナリーパスの接尾辞を無視し、バイナリーが信頼データベースに一致するようにします。これにより、fapolicyd がルールを正しく適用し、更新プロセスを完了できるようになりました。

(BZ#1897092)

SELinux が原因で Tomcat でメールが送信できなかった問題がなくなりました。

この更新以前は、SELinux ポリシーで tomcat_t および pki_tomcat_t ドメインから SMTP ポートへの接続を許可していませんでした。その結果、SELinux は Tomcat サーバー上のアプリケーションがメールを送信することを拒否しました。今回の selinux-policy パッケージの更新により、このポリシーは Tomcat ドメインからのプロセスが SMTP ポートにアクセスすることを許可し、SELinux により Tomcat 上のアプリケーションによるメール送信が阻止されなくなります。

(BZ#2213183)

lockdev が SELinux で正しく実行されるようになりました。

以前では、lockdev_t の SELinux ポリシーが定義されていても、lockdev ツールは lockdev_t コンテキストに移行できませんでした。これにより、root ユーザーで使用されると、lockdev が unconfined_t ドメインで実行されていました。これによりシステムに脆弱性が生じていました。今回の更新で、lockdev_t への移行が定義され、lockdev を Enforcing モードで正しく使用できるようになりました。

(BZ#1673269)

これで、SELinux で iotop が正しく実行されるようになりました。

以前では、iotop_t の SELinux ポリシーが定義されていても、iotop ツールが iotop_t コンテキストに移行することができませんでした。これにより、iotop は root ユーザーで使用されると、unconfined_t ドメインで実行されていました。これによりシステムに脆弱性が生じていました。今回の更新で、lockdev_t への移行が定義され、lockdev を Enforcing モードで SELinux とともに正しく使用できるようになりました。

(BZ#1671241)

SELinux が、NFS 'crossmnt' を適切に処理するようになりました。

プロセスがサーバー上のマウントポイントとしてすでに使用されているサブディレクトリーにアクセスすると、crossmnt オプションを指定した NFS プロトコルが内部マウントを自動的に作成します。以前は、これにより、NFS マウントされたディレクトリーにアクセスするプロセスにマウントパーミッションが指定されているかどうかを SELinux に確認させていました。これにより、AVC 拒否が発生していました。現在のバージョンでは、SELinux パーミッションチェックでは、この内部マウントはスキップされます。そのため、サーバー側にマウントされた NFS ディレクトリーにアクセスしても、マウントパーミッションは必要ありません。

(BZ#1647723)

SELinux ポリシーの再読み込みでは、正しくない ENOMEM エラーが発生しなくなりました。

以前では SELinux ポリシーをリロードすると、内部セキュリティーコンテキストルックアップテーブルが応答しなくなっていました。したがって、ポリシーの再ロード時にカーネルが新しいセキュリティーコンテキストに遭遇すると、正しくない Out of memory (ENOMEM) エラーで操作が失敗していました。今回の更新で、内部セキュリティー識別子 (SID) ルックアップテーブルが再設計され、フリーズしなくなりました。その結果、カーネルは、SELinux ポリシーの再読み込み時に誤解を招くエラーを返さなくなりました。

(BZ#1656787)

制限のないドメインが smc_socket を使用できるようになりました。

以前では、SELinux ポリシーには、smc_socket クラスの許可ルールがありませんでした。したがって、SELinux は、制限のないドメインについて smc_socket へのアクセスをブロックしていました。今回の更新で、この許可ルールが SELinux ポリシーに追加されました。これにより、制限のないドメインは smc_socket を使用することができます。

(BZ#1683642)

Kerberos クリーンアップの手順は、krb5.confGSSAPIDelegateCredentials およびデフォルトキャッシュと互換性を持つようになりました。

以前では、default_ccache_name オプションが krb5.conf ファイルに設定されていると、kerberos の認証情報は GSSAPIDelegateCredentials オプションおよび GSSAPICleanupCredentials オプションで削除されませんでした。このバグは、前述のユースケースで認証情報キャッシュをクリーンアップするためにソースコードを更新することで修正されています。設定後、ユーザーの設定時に認証情報のキャッシュは、終了時にクリーンアップされます。

(BZ#1683295)

OpenSSH が、ラベルが一致しない鍵に対して PKCS #11 の URI を正しく処理するようになりました。

以前では、オブジェクト部分 (鍵ラベル) で PKCS #11 の URI を指定すると、OpenSSH が PKCS #11 の関連オブジェクトを見つけられなくなっていました。今回の更新により、一致するオブジェクトが見つからない場合や、キーが ID によってのみ一致する場合は、ラベルが無視されます。これにより、OpenSSH は、完全な PKCS #11 の URI を使用して参照されるスマートカードの鍵を使用できるようになりました。

(BZ#1671262)

VMware ホストシステムとの SSH 接続が適切に動作するようになりました。

以前のバージョンの OpenSSH スイートでは、SSH パケットでデフォルトの IPQoS (IP Quality of Service) フラグが変更されていましたが、VMware 仮想化プラットフォームではこれが適切に処理されませんでした。したがって、VMware のシステムとの SSH 接続を確立することができませんでした。この問題は VMWare Workstation 15 で修正され、VMware ホストシステムとの SSH 接続が正しく動作するようになりました。

(BZ#1651763)

OpenSSH では、デフォルトで curve25519-sha256 がサポートされるようになりました。

以前では、SSH 鍵交換アルゴリズム curve25519-sha256 は、デフォルトのポリシーレベルに準拠する場合でも、OpenSSH のクライアントとサーバーのシステム全体の暗号化ポリシー設定にはありませんでした。そのため、クライアントまたはサーバーが curve25519-sha256 を使用し、ホストがこのアルゴリズムに対応していない場合は、接続に失敗する可能性がありました。crypto-policies パッケージの今回の更新でバグが修正され、このシナリオで SSH 接続が失敗しなくなりました。

(BZ#1678661)

OSPP プロファイルおよび PCI-DSS プロファイルの Ansible Playbook が、障害の発生後に終了しなくなります。

以前では、OSPP (Security Content Automation Protocol) および Payment Card Industry Data Security Standard (PCI-DSS) プロファイルの Ansible 修正が、修正における正しくない順序や他のエラーにより失敗していました。今回の更新で、生成された Ansible 修復 Playbook の順序およびエラーが修正され、Ansible の修正が正常に機能するようになりました。

(BZ#1741455)

Audit transport=KRB5 が適切に動作するようになりました。

今回の更新以前では、Audit KRB5 トランスポートモードが適切に動作しませんでした。その結果、Kerberos ピア認証を使用した Audit リモートロギングが有効ではありませんでした。今回の更新で問題が修正され、前述のシナリオで Audit リモートロギングが適切に動作するようになりました。

(BZ#1730382)

6.4.4. ネットワーク

カーネルが、bitmap:ipmachash:ipmac、および hash:mac IP セットタイプでの宛先 MAC アドレスに対応するようになりました。

以前では、bitmap:ipmachash:ipmac、および hash:mac IP セットタイプのカーネル実装のみ、ソース MAC アドレスでの一致のみを許可し、宛先の MAC アドレスは指定可能ですが、セットエントリーに対してマッチしていませんでした。これにより、管理者は、これらの IP セットタイプのいずれかで、宛先の MAC アドレスを使用する iptables ルールを作成できましたが、指定の仕様に一致するパケットは実際には分類されていませんでした。今回の更新で、カーネルは、宛先 MAC アドレスを比較し、指定の分類がパケットの宛先 MAC アドレスに対応していル場合に一致を返すようになりました。これにより、宛先の MAC アドレスに対してパケットに一致するルールが正しく動作するようになりました。

(BZ#1649087)

gnome-control-center アプリケーションが、高度な IPsec 設定の編集に対応しました。

以前では、gnome-control-center アプリケーションは、IPsec VPN 接続の高度なオプションのみを表示していました。したがって、ユーザーはこれらの設定を変更できませんでした。今回の更新で、高度な設定のフィールドが編集できるようになり、ユーザーは変更を保存できるようになりました。

(BZ#1697329)

man ページの iptables-extensions (8)TRACE ターゲットが更新されました。

以前では、man ページの iptables-extensions(8)TRACE ターゲットの説明は、compat バリアントのみを参照していました。しかし、Red Hat Enterprise Linux 8 は nf_tables バリアントを使用します。そのため、man ページでは、TRACE イベントを表示する xtables-monitor コマンドラインユーティリティーが参照されませんでした。man ページが更新されたため、xtables-monitor が記載されているようになりました。

(BZ#1658734)

ipset サービスにおけるエラーロギングが改善されました。

以前では、ipset サービスにより、systemd ログに、有意の重大度とともにエラーが報告されていませんでした。無効な設定エントリーの重大度レベルは、情報 通知のみで、サービスは、使用できない設定のエラーを報告していませんでした。したがって、管理者が ipset サービスの設定で問題を特定してトラブルシューティングを行うことは困難でした。今回の更新で、ipset が、systemd ログで 警告 として設定問題を報告します。サービスが起動できない場合は、詳細を含む エラー の重大度とともにエントリーをログに記録するようになりました。このため、ipset サービスの設定での問題のトラブルシューティングが可能になりました。

(BZ#1683711)

ipset が、システムの起動時に無効な設定エントリーを無視するようになりました。

ipset サービスは、設定を別のファイルにセットとして保存します。以前では、サービスを起動すると、セットを手動で編集して挿入できる無効なエントリーをフィルタリングせずに、1 回の操作ですべてのセットから設定を復元していました。したがって、単一の設定エントリーが無効だった場合でも、このサービスは、それ以上の関連しないセットを復元していませんでした。この問題が修正されました。これにより、ipset サービスが復元操作時に無効な設定エントリーを検出して削除し、無効な設定エントリーを無視します。

(BZ#1683713)

ipset list コマンドは、hash セットタイプに対して一貫性のあるメモリーを報告します。

エントリーを hash セットタイプに追加した場合は、ipset ユーティリティーが、さらなるメモリーブロックを割り当てて、新しいエントリーのメモリー内表示のサイズを調整する必要があります。以前は、ipset は、現在のメモリー内サイズに値を追加する代わりに、新しいブロックのサイズにのみ、セットごとに割り当てられた合計サイズを設定していました。これにより、ip list コマンドで、一貫性のないメモリーサイズが報告されていました。今回の更新で、ipset が、メモリー内のサイズを正しく計算するようになりました。これにより、ipset list コマンドがセットの正しいメモリー内サイズを表示し、出力が、ハッシュ セットタイプに対して実際に割り当てられたメモリーに一致します。

(BZ#1714111)

ICMPv6 Packet Too Big メッセージの受信時にカーネルが PMTU を正しく更新するようになりました。

リンクローカルアドレスなどの特定の状況では、複数のルートがソースアドレスに適合できます。以前は、カーネルは、Internet Control Message Protocol Version 6 (ICMPv6) パケットを受信するときに、入力インターフェイスを確認しませんでした。そのため、ルート検索が、入力インターフェイスに一致しない宛先を返すことがありました。そのため、ICMPv6 Packet Too Big メッセージを受信すると、カーネルが別の入力インターフェイスの Path Maximum Transmission Unit (PMTU) を更新する可能性があります。今回の更新で、カーネルはルートの検索時に入力インターフェイスを確認します。その結果、カーネルはソースアドレスに基づいて正しい宛先を更新し、上述のシナリオで PMTU が想定どおりに機能するようになりました。

(BZ#1721961)

/etc/hosts.allow ファイルおよび /etc/hosts.deny ファイルに、削除された tcp_wrappers への古い参照が含まれなくなりました。

以前では、/etc/hosts.allow ファイルおよび /etc/hosts.deny ファイルには tcp_wrappers パッケージに関する古い情報が含まれていました。これは、削除された tcp_wrappers に必要なくなったため、RHEL 8 ではファイルが削除されました。

(BZ#1663556)

6.4.5. カーネル

tpm2-abrmd-selinux に、selinux-policy-targeted に適切な依存関係が含まれるようになりました。

tpm2-abrmd-selinux パッケージには、selinux-policy-targeted パッケージの代わりに selinux-policy-base パッケージの依存関係が含まれていました。したがって、システムに selinux-policy- targeted の代わりに selinux-policy-minimum をインストールする場合は、tpm2-abrmd-selinux パッケージのインストールが失敗していました。今回の更新でバグが修正され、このシナリオにおいて tpm2-abrmd-selinux を正しくインストールできます。

(BZ#1642000)

すべての /sys/kernel/debug ファイルにアクセスできるようになりました。

以前では、エラーに関係なく、関数の終わりまで、Operation not permitted (EPERM) エラーの戻り値が残っていました。これにより、特定の /sys/kernel/debug (debugfs) ファイルにアクセスしようとすると、unwarranted EPERM エラーで失敗していました。今回の更新で、EPERM 戻り値を以下のブロックに移動します。したがって、このシナリオで問題なく debugfs ファイルにアクセスできます。

(BZ#1686755)

NIC は、41000 および 45000 FastLinQ シリーズの qede ドライバーのバグによる影響を受けなくなりました。

以前では、ファームウェアのアップグレードおよびデバッグのデータ収集操作が、41000 および 45000 FastLinQ シリーズの qede ドライバーのバグにより失敗していました。これにより、NIC が使用不可能になっていました。ホストの再起動 (PCI リセット) により、NIC が再び動作するようになりました。

この問題は以下のシナリオで発生する可能性があります。

  • inbox ドライバーを使用した NIC のファームウェアのアップグレード中
  • ethtool -d ethx コマンドを実行するデバッグデータの収集時
  • ethtool -d ethx を含む sosreport コマンドを実行する際
  • I/O タイムアウト、Mail Box Command タイムアウト、Hardware Attention などの inbox ドライバーによる自動デバッグデータ収集の開始時。

この問題を修正するため、Red Hat は Bug Advisory (RHBA) でエラータをリリースしました。RHBA のリリース前に、対応の修正をリクエストするために、https://access.redhat.com/support でケースを作成することが推奨されます。

(BZ#1697310)

汎用の EDAC GHES ドライバーは、エラーを報告した DIMM を検出するようになりました

以前では、EDAC GHES ドライバーは、エラーを報告した DIMM を検出できませんでした。したがって、以下のエラーメッセージが表示されていました。

DIMM location: not present. DMI handle: 0x<ADDRESS>

このドライバーは、DMI (SMBIOS) テーブルをスキャンして、DMI (Desktop Management Interface) に一致する特定の DIMM による 0x <ADDRESS> の処理を検出するように更新されました。その結果、EDAC GHES は、ハードウェアエラーを報告した特定の DIMM を正しく検出します。

(BZ#1721386)

podman が、RHEL 8 で目的のコンテナーをチェックポイントできるようになりました。

以前では、CRIU (Checkpoint and Restore In Userspace) パッケージのバージョンが古くなっていました。したがって、CRIU は、コンテナーのチェックポイントおよび復元機能に対応しておらず、podman ユーティリティーが、チェックポイントコンテナーに失敗していました。podman container checkpoint コマンドを実行すると、以下のエラーメッセージが表示されていました。

'checkpointing a container requires at least CRIU 31100'

今回の更新で、CRIU パッケージのバージョンをアップグレードすることでこの問題が修正されます。これにより、podman が、コンテナーのチェックポイントおよび復元機能に対応するようになりました。

(BZ#1689746)

dracut.confadd_dracutmodules+=earlykdump オプションを指定すると、early-kdump および標準の kdump が失敗しなくなりました。

以前では、early-kdump 用にインストールするカーネルバージョンと、initramfs 用に生成されたカーネルバージョンの間で不整合が発生していました。これにより、early-kdump が有効になっていると、システムの起動に失敗していました。また、early-kdump が標準の kdump initramfs イメージに含まれていることを検出すると、強制的に終了していました。また、early-kdump がデフォルトの dracut モジュールとして追加されると、kdump initramfs を再構築しようとする際に、標準の kdump サービスが失敗していました。これにより、early-kdump と標準の kdump の両方が失敗していました。今回の更新で、early-kdump がインストール時に一貫したカーネル名を使用し、実行中のカーネルとバージョンのみが異なります。また、標準の kdump サービスは、イメージ生成の失敗を防ぐために、early-kdump を強制的にドロップします。これにより、上記のシナリオで、early-kdump と標準の kdump が失敗しなくなりました。

(BZ#1662911)

SME を有効化した最初のカーネルが、vmcore のダンプに成功するようになりました。

以前では、アクティブな SME (Secure Memory Encryption) 機能のある最初のカーネルで暗号化されたメモリーが原因で、kdump メカニズムに障害が発生していました。したがって、最初のカーネルは、メモリーの内容 (vmcore) をダンプできませんでした。今回の更新で、暗号化メモリーを再度マッピングし、関連するコードを変更するために、ioremap_encrypted() 関数が追加されました。その結果、暗号化されている最初のカーネルのメモリーが適切にアクセスされるようになり、上記のシナリオでクラッシュツールを使用して vmcore をダンプし、解析することができます。

(BZ#1564427)

SEV を有効化した最初のカーネルが、vmcore のダンプに成功するようになりました。

以前では、アクティブな SEV (Secure Encrypted Virtualization) 機能のある最初のカーネルで暗号化されたメモリーが原因で、kdump メカニズムに障害が発生していました。したがって、最初のカーネルは、メモリーの内容 (vmcore) をダンプできませんでした。今回の更新で、暗号化メモリーを再度マッピングし、関連するコードを変更するために、ioremap_encrypted() 関数が追加されました。その結果、最初のカーネルの暗号化されているメモリーが適切にアクセスされるようになり、上記のシナリオでクラッシュツールを使用して vmcore をダンプし、解析することができます。

(BZ#1646810)

カーネルが、SWIOTLB 用により多くの領域を予約するようになりました。

以前では、Secrue Encrypted Virtualization (SEV) または Secure Memory Encryption (SME) 機能がカーネルで有効になっていると、Software Input Output Translation Lookaside Buffer (SWIOTLB) 技術も有効化されなくてはならず、大量のメモリーが使用されていました。その結果、キャプチャーカーネルが起動に失敗したり、メモリー不足のエラーが発生していました。今回の更新で、SEV/SME がアクティブの際に SWIOTLB の追加の crashkernel メモリーを予約することで、バグが修正されています。その結果、キャプチャーカーネルは SWIOTLB 用に予約されているメモリーが多くなり、上記のシナリオでバグが表示されなくなりました。

(BZ#1728519)

hwlatdetect の実行時に c-state 移行が無効にできるようになりました。

リアルタイムのパフォーマンスを実現するには、hwlatdetect ユーティリティーがテストの実行中に CPU での節電を無効にできる必要があります。今回の更新で、hwlatdetect が、テスト実行中に C-state 移行をオフにできるようになりました。また、hwlatdetect がハードウェアの遅延をより正確に検出できるようになりました。

(BZ#1707505)

6.4.6. ハードウェアの有効化

openmpi パッケージをインストールすることができるようになりました。

opensm パッケージにおけるリベースにより、soname メカニズムが変更されていました。その結果、未解決の依存関係が原因で、openmpi パッケージをインストールできませんでした。今回の更新でこの問題が修正されています。結果、openmpi パッケージが問題なくインストールできるようになりました。

(BZ#1717289)

6.4.7. ファイルシステムおよびストレージ

RHEL 8 インストールプログラムは、エントリー ID を使用してデフォルトのブートエントリーを設定するようになりました。

以前では、RHEL 8 インストールプログラムは、エントリー ID ではなく、最初のブートエントリーのインデックスをデフォルトとして使用していました。これにより、新しいブートエントリーを追加すると、最初にソートされ、最初のインデックスに設定されるかのようにデフォルトになっていました。この更新により、このインストールプログラムはエントリー ID を使用してデフォルトのブートエントリーを設定します。その結果、デフォルトの前にブートエントリーが追加され、ソートされた場合でも、デフォルトのエントリーは変更されません。

(BZ#1671047)

SME が smartpqi で有効になっていると、システムが正常に起動するようになりました。

以前では、Secure Memory Encryption (SME) 機能が有効で、root ディスクが smartpqi ドライバーを使用している場合に、特定の AMD マシンでのシステムの起動が失敗していました。

システムの起動に失敗すると、システムでは、ブートログに以下のようなメッセージが表示されます。

smartpqi 0000:23:00.0: failed to allocate PQI error buffer

一貫性のある Direct Memory Access (DMA) マスクが設定されていなかったため、Software Input Output Translation Lookasdie Buffer (SWIOTLB) にフォールバックしていた smartpqi ドライバーによりこの問題が発生します。

今回の更新で、一貫した DMA マスクが正しく設定されるようになりました。その結果、SME がルートディスクの smartpqi ドライバーを使用するマシンで有効になっていると、システムが正常に起動されるようになりました。

(BZ#1712272)

FCoE LUN が bnx2fc カードで作成した後に消えなくなりました。

以前では、bnx2fc カードに FCoE LUN を作成すると、FCoE LUN が正しく割り当てられませんでした。これにより、RHEL 8.0 において bnx2fc カードに FCoE LUN を作成した後に、これが消えていました。この更新により、FCoE LUN が正しく割り当てられるようになりました。その結果、FCoE LUN が bnx2fc カードに作成された後に、これを検出できるようになりました。

(BZ#1685894)

VDO ボリュームが、異なるエンディアンプラットフォームへ移動した後の重複排除アドバイスを失わなくなりました。

以前では、別のエンディアンを使用するプラットフォームに VDO ボリュームを移動すると、Universal Deduplication Service (UDS) インデックスがすべて重複排除アドバイスを失っていました。そのため、VDO はボリュームを移動する前に保存したデータに対して、新たに書き込まれたデータを重複排除できないため、容量節約が低減していました。

今回の更新で、重複排除アドバイスを失わず、異なるエンディアンを使用するプラットフォーム間で VDO ボリュームを移動できるようになりました。

(BZ#1696492)

kdump サービスが大規模な IBM POWER システムで動作するようになりました。

以前では、RHEL8 kdump カーネルが起動していませんでした。したがって、大規模な IBM POWER システムでの kdump initrd ファイルは作成されませんでした。今回の更新で、squashfs-tools-4.3-19.el8 コンポーネントが追加されました。今回の更新で、利用可能なすべての CPU ではなく、squashfs-tools-4.3-19.el8 コンポーネントが利用可能なプールから資料できる CPU の数の制限 (128) が追加されました。これにより、リソース不足エラーが修正されました。これにより、大規模な IBM POWER システムで kdump サービスが機能するようになりました。

(BZ#1716278)

nfs.conf に詳細なデバッグオプションが追加されました。

以前では、/etc/nfs.conf ファイルおよび man ページの nfs.conf (5) には、以下のオプションが含まれていませんでした。

  • verbosity
  • rpc-verbosity

結果として、ユーザーは、これらのデバッグフラグの可用性について認識していませんでした。今回の更新で、これらのフラグは /etc/nfs.conf ファイルの [gssd] セクションに含まれるようになりました。また man ページの nfs.conf (8) にも記載されています。

(BZ#1668026)

6.4.8. 動的プログラミング言語、Web サーバー、およびデータベースサーバー

Socket::inet_aton() が複数のスレッドから安全に使用できるようになりました。

以前は、複数の Perl スレッドからドメイン名を解決するのに使用していた Socket::inet_aton() 関数が、安全でない gethostbyname() glibc 関数を呼び出していました。このため、時折間違った IPv4 アドレスが返されたり、または Perl インタープリターが予期せずに終了したりしていました。今回の更新で、gethostbyname() ではなく、スレッドセーフ getaddrinfo() glibc 関数を使用するように Socket::inet_aton() 実装が変更されました。これにより、Perl Socket モジュールの inet_aton() 関数が、複数のスレッドから安全に使用できます。

(BZ#1699793, BZ#1699958)

6.4.9. コンパイラーおよび開発ツール

gettext は、メモリー不足であっても未変換のテキストを返します。

以前では、テキストローカリゼーションの gettext() 関数は、メモリー不足の際にテキストの代わりに NULL 値を返していたため、アプリケーションにテキスト出力やラベルが欠けていました。このバグは修正され、メモリー不足の際に通常通りに gettext() が期待通りに未変換のテキストを返すようになりました。

(BZ#1663035)

locale コマンドでは、実行中にエラーに遭遇すると LOCPATH が設定されていることについて警告するようになりました。

以前では、locale コマンドは、無効な LOCPATH が原因でエラーが発生した時に LOCPATH 環境変数の診断を行いませんでした。locale コマンドは、実行時にエラーが発生する際に LOCPATH が設定されていることを警告するように設定されるようになりました。その結果、localeLOCPATH と、発生した基本的なエラーを報告するようになりました。

(BZ#1701605)

gbp が、aarch64 SVE の core ファイルの z レジスターを読み取り、正しく表示できるようになりました。

以前では、gdb コンポーネントは、aarch64 スケーラブルベクター拡張 (SVE) アーキテクチャーとの core ファイルからの z レジスターの読み込みに失敗していました。今回の更新で、gdb コンポーネントが、core ファイルから z レジスターを読み取るようになりました。その結果、info register コマンドには z レジスターの内容が正常に表示されます。

(BZ#1669953)

GCC がバージョン 8.3.1 にリベースされました。

GNU コンパイラーコレクション (GCC) がアップストリームバージョン 8.3.1 に更新されました。このバージョンには、多くのさまざまなバグ修正が含まれています。

(BZ#1680182)

6.4.10. Identity Management

FreeRADIUS が IPv6 アドレスを指すホスト名を解決するようになりました。

以前の RHEL 8 バージョンの FreeRADIUS では、ipaddr ユーティリティーは IPv4 アドレスだけに対応していました。したがって、radiusd デーモンが IPv6 アドレスを解決するには、RHEL 7 から RHEL 8 へシステムのアップグレード後に、設定を手動で更新する必要がありました。この更新で、その基礎となるコードが修正され、FreeRADIUS の ipaddr も IPv6 アドレスを使用するようになりました。

(BZ#1685546)

Nuxwdog サービスが HSM 環境での PKI サーバーの起動に失敗しなくなりました。

以前では、バグにより、keyutils パッケージが pki-core パッケージの依存関係としてインストールされませんでした。さらに、Nuxwdog ウォッチドッグサービスでは、ハードウェアセキュリティーモジュール (HSM) を使用する環境で公開鍵基盤 (PKI) サーバーを起動できませんでした。これらの問題は修正されています。その結果、必要な keyutils パッケージが依存関係として自動的にインストールされ、Nuxwdog が、HSM を使用する環境で想定通りに PKI サーバーを起動するようになりました。

(BZ#1695302)

IdM サーバーが、FIPS モードで正しく機能するようになりました。

以前では、Tomcat サーバーの SSL コネクターが完全に実装されていませんでした。結果として、インストールした証明書サーバーがある Identity Management (IdM) サーバーが、FIPS モードが有効になっているマシンでは機能しなくなっていました。このバグは、JSSTrustManager および JSSKeyManager の追加で修正されています。その結果、上記のシナリオで IdM サーバーが適切に動作するようになります。

IdM サーバーが RHEL 8 の FIPS モードで動作しなくなるバグがいくつかあることに注意してください。今回の更新で、以下のいずれかが修正されています。

(BZ#1673296)

KCM 認証情報キャッシュが、単一の認証情報キャッシュ内で多数の認証情報を行うに適するようになりました。

以前では、Kerberos Credential Manager (KCM) に多くの認証情報が含まれていると、kinit のような Kerberos 操作が、データベースのエントリーサイズの制限やエントリーの数により失敗していました。

今回の更新で、sssd.conf ファイルの kcm セクションに、以下の新しい設定オプションが追加されました。

  • max_ccaches (整数)
  • max_uid_ccaches (整数)
  • max_ccache_size (整数)

これにより、KCM が、単一の ccache において多数の認証情報を処理できるようになります。

設定オプションの詳細は、sssd-kcm man ページ を参照してください。

(BZ#1448094)

Samba が sss ID マッピングプラグインを使用する際にアクセスを拒否しなくなりました。

以前では、この設定を使用してドメインメンバーで Samba を実行し、sss ID マッピングバックエンドを使用する設定を /etc/samba/smb.conf ファイルに追加してディレクトリーを共有すると、ID マッピングバックエンドの変更によりエラーが発生していました。そのため、Samba は、ユーザーまたはグループが存在し、SSSD が認識している場合でも、特定のケースではファイルへのアクセスを拒否していました。この問題が修正されました。その結果、Samba は sss プラグインを使用する際にアクセスを拒否しなくなりました。

(BZ#1657665)

SSSD のタイムアウトのデフォルト値が、互いに競合しなくなりました。

以前では、デフォルトのタイムアウト値に競合が発生していました。以下のオプションのデフォルト値が、フェイルオーバー機能を向上させるために変更されました。

  • dns_resolver_op_timeout - 2s (以前は 6s) に設定
  • dns_resolver_timeout - 4s (以前は 6s) に設定
  • ldap_opt_timeout - 8s (以前は 6s) に設定

また、新しい dns_resolver_server_timeout オプションがデフォルト値 1000 ms で追加されました。これは、ある DNS サーバーから SSSD が別の DNS サーバーに切り替える際のタイムアウトの長さを指定します。

(BZ#1382750)

6.4.11. デスクトップ

systemctl isolate multi-user.target にコンソールプロンプトが表示されるようになりました。

GNOME デスクトップセッションで、GNOME ターミナルから systemctl isolate multi-user.target コマンドを実行すると、コンソールプロンプトではなくカーソルのみが表示されていました。今回の更新により gdm が修正され、上記の状況で期待通りにコンソールプロンプトが表示されるようになりました。

(BZ#1678627)

6.4.12. グラフィックインフラストラクチャー

'i915' ディスプレイドライバーが、3×4K までの表示設定に対応するようになりました。

以前では、Xorg セッションで 'i915' ディスプレイドライバーを使用する場合は、2×4K を超える表示設定を使用できませんでした。今回の更新で、i915 ドライバーが最大 3×4K までのディスプレイ設定に対応しました。

(BZ#1664969)

GPU ドライバーを初期化しても Linux ゲストがエラーを表示しなくなりました。

以前では、GPU ドライバーを初期化する際に、Linux ゲストが警告を返していました。これは、Intel Graphics Virtualization Technology –g (GVT -g) がゲストの DisplayPort (DP) インターフェイスのみをシミュレートし、'EDP_psr_imr' および ‘EDP_psr_IR' レジスターをデフォルトのメモリーマッピングした I/O (MMIO) 読み取り/書き込みレジスターのままにしているため発生します。この問題を解決するために、ハンドラーがこれらのレジスターに追加され、警告が返されなくなりました。

(BZ#1643980)

6.4.13. Web コンソール

session_recording シェルで RHEL Web コンソールにログインできます。

以前は、tlog シェル (セッションの録画を有効にする) ユーザーが RHEL Web コンソールにログインできませんでした。今回の更新でバグが修正されました。この更新をインストールした後に、tlog-rec-session シェルを /etc/shells/ に追加する以前の回避策を元に戻す必要があります。

(BZ#1631905)

6.4.14. 仮想化

pcie-to-pci ブリッジコントローラーへの PCI デバイスのホットプラグが正しく動作するようになりました。

以前では、ゲスト仮想マシンの設定に pcie-to-pci-bridge コントローラーが含まれ、ゲストにエンドポイントデバイスが接続されていないと、そのコントローラーへの新しいデバイスのホットプラグが行われませんでした。今回の更新で、PCIe システムのレガシー PCI デバイスをホットプラグする方法が改善され、問題が発生しなくなりました。

(BZ#1619884)

入れ子仮想化を有効化しても、ライブ移行がブロックされなくなりました。

以前では、入れ子仮想化機能はライブ移行と互換性がありませんでした。したがって、RHEL 8 ホストで入れ子仮想化を有効にすると、ホストから仮想マシンを移行したり、仮想マシンの状態のスナップショットをディスクに保存したりできなくなっていました。今回の更新でこの問題が修正され、対象の仮想マシンが移行できるようになりました。

(BZ#1689216)

6.4.15. サポート関連

redhat-support-toolsosreport アーカイブが作成されるようになりました。

以前では、redhat-support-tool ユーティリティーは sosreport アーカイブを作成できませんでした。その回避策は、sosreport コマンドを個別に実行し、redhat-support-tool addattachment -c コマンドを実行してアーカイブをアップロードすることでした。また、ユーザーはカスタマーポータルで Web UI を使用してカスタマーケースを作成し、sosreport アーカイブをアップロードできます。

さらに、findkerneldebugsbtextractanalyze、または diagnose などのコマンドオプションが期待通り機能していませんでしたが、今後のリリースで修正される予定です。

(BZ#1688274)