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-fbdev
、xorg-x11-drv-vesa
、および xorg-x11-drv-vmware
がデフォルトでインストールされるようになりました。
以前では、NVIDIA グラフィックスカードの特定のモデルが搭載されたワークステーションと、特定の AMD アクセラレート処理ユニットが搭載されたワークステーションでは、RHEL 8.0 Server のインストール後にグラフィカルログインウィンドウが表示されていませんでした。また、Hyper-V などのグラフィックサポートに EFI を使用する仮想マシンも影響を受けていました。今回の更新で、xorg-x11-drv-fbdev
、xorg-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 の文字列を処理できるようになりました。
inst.repo
カーネル起動パラメーターが、root 以外のパスのあるハードドライブのリポジトリーに対して有効になりました。
以前では、inst.repo=hd:<device>:<path>
カーネルブートパラメーターがハードドライブ上の (ISO イメージではなく) リポジトリーを参照することがあり、root (/) 以外のパスが使用されている場合、RHEL 8 のインストールプロセスが完了しませんでした。この更新により、インストールプログラムで、ハードドライブにあるリポジトリー用の <path>
が伝播され、インストールが正常に行われるようになりました。
--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 証明書を渡すことができます。
6.4.2. シェルおよびコマンドラインツール
デバッグモードの systemd
が不要なログメッセージを生成しなくなりました。
デバッグモードで systemd
システムおよびサービスマネージャーを使用すと、以前では systemd
により、以下で始まる不要で害のないログメッセージが作成されていました。
"Failed to add rule for system call ..."
今回の更新で、systemd
が修正され、この不要なデバッグメッセージが生成されなくなりました。
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#1687798)
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.conf
の GSSAPIDelegateCredentials
およびデフォルトキャッシュと互換性を持つようになりました。
以前では、default_ccache_name
オプションが krb5.conf
ファイルに設定されていると、kerberos の認証情報は GSSAPIDelegateCredentials
オプションおよび GSSAPICleanupCredentials
オプションで削除されませんでした。このバグは、前述のユースケースで認証情報キャッシュをクリーンアップするためにソースコードを更新することで修正されています。設定後、ユーザーの設定時に認証情報のキャッシュは、終了時にクリーンアップされます。
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 接続が失敗しなくなりました。
OSPP プロファイルおよび PCI-DSS プロファイルの Ansible Playbook が、障害の発生後に終了しなくなります。
以前では、OSPP (Security Content Automation Protocol) および Payment Card Industry Data Security Standard (PCI-DSS) プロファイルの Ansible 修正が、修正における正しくない順序や他のエラーにより失敗していました。今回の更新で、生成された Ansible 修復 Playbook の順序およびエラーが修正され、Ansible の修正が正常に機能するようになりました。
Audit transport=KRB5
が適切に動作するようになりました。
今回の更新以前では、Audit KRB5 トランスポートモードが適切に動作しませんでした。その結果、Kerberos ピア認証を使用した Audit リモートロギングが有効ではありませんでした。今回の更新で問題が修正され、前述のシナリオで Audit リモートロギングが適切に動作するようになりました。
6.4.4. ネットワーク
カーネルが、bitmap:ipmac
、hash:ipmac
、および hash:mac
IP セットタイプでの宛先 MAC アドレスに対応するようになりました。
以前では、bitmap:ipmac
、hash:ipmac
、および hash:mac
IP セットタイプのカーネル実装のみ、ソース MAC アドレスでの一致のみを許可し、宛先の MAC アドレスは指定可能ですが、セットエントリーに対してマッチしていませんでした。これにより、管理者は、これらの IP セットタイプのいずれかで、宛先の MAC アドレスを使用する iptables
ルールを作成できましたが、指定の仕様に一致するパケットは実際には分類されていませんでした。今回の更新で、カーネルは、宛先 MAC アドレスを比較し、指定の分類がパケットの宛先 MAC アドレスに対応していル場合に一致を返すようになりました。これにより、宛先の MAC アドレスに対してパケットに一致するルールが正しく動作するようになりました。
(BZ#1649087)
gnome-control-center
アプリケーションが、高度な IPsec 設定の編集に対応しました。
以前では、gnome-control-center
アプリケーションは、IPsec VPN 接続の高度なオプションのみを表示していました。したがって、ユーザーはこれらの設定を変更できませんでした。今回の更新で、高度な設定のフィールドが編集できるようになり、ユーザーは変更を保存できるようになりました。
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
が記載されているようになりました。
ipset
サービスにおけるエラーロギングが改善されました。
以前では、ipset
サービスにより、systemd
ログに、有意の重大度とともにエラーが報告されていませんでした。無効な設定エントリーの重大度レベルは、情報
通知のみで、サービスは、使用できない設定のエラーを報告していませんでした。したがって、管理者が ipset
サービスの設定で問題を特定してトラブルシューティングを行うことは困難でした。今回の更新で、ipset
が、systemd
ログで 警告
として設定問題を報告します。サービスが起動できない場合は、詳細を含む エラー
の重大度とともにエントリーをログに記録するようになりました。このため、ipset
サービスの設定での問題のトラブルシューティングが可能になりました。
ipset
が、システムの起動時に無効な設定エントリーを無視するようになりました。
ipset
サービスは、設定を別のファイルにセットとして保存します。以前では、サービスを起動すると、セットを手動で編集して挿入できる無効なエントリーをフィルタリングせずに、1 回の操作ですべてのセットから設定を復元していました。したがって、単一の設定エントリーが無効だった場合でも、このサービスは、それ以上の関連しないセットを復元していませんでした。この問題が修正されました。これにより、ipset
サービスが復元操作時に無効な設定エントリーを検出して削除し、無効な設定エントリーを無視します。
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 ではファイルが削除されました。
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.conf
で add_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
がハードウェアの遅延をより正確に検出できるようになりました。
6.4.6. ハードウェアの有効化
openmpi
パッケージをインストールすることができるようになりました。
opensm
パッケージにおけるリベースにより、soname
メカニズムが変更されていました。その結果、未解決の依存関係が原因で、openmpi
パッケージをインストールできませんでした。今回の更新でこの問題が修正されています。結果、openmpi
パッケージが問題なくインストールできるようになりました。
(BZ#1717289)
6.4.7. ファイルシステムおよびストレージ
RHEL 8 インストールプログラムは、エントリー ID を使用してデフォルトのブートエントリーを設定するようになりました。
以前では、RHEL 8 インストールプログラムは、エントリー ID ではなく、最初のブートエントリーのインデックスをデフォルトとして使用していました。これにより、新しいブートエントリーを追加すると、最初にソートされ、最初のインデックスに設定されるかのようにデフォルトになっていました。この更新により、このインストールプログラムはエントリー ID を使用してデフォルトのブートエントリーを設定します。その結果、デフォルトの前にブートエントリーが追加され、ソートされた場合でも、デフォルトのエントリーは変更されません。
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 ボリュームを移動できるようになりました。
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()
関数が、複数のスレッドから安全に使用できます。
6.4.9. コンパイラーおよび開発ツール
gettext
は、メモリー不足であっても未変換のテキストを返します。
以前では、テキストローカリゼーションの gettext()
関数は、メモリー不足の際にテキストの代わりに NULL 値を返していたため、アプリケーションにテキスト出力やラベルが欠けていました。このバグは修正され、メモリー不足の際に通常通りに gettext()
が期待通りに未変換のテキストを返すようになりました。
locale
コマンドでは、実行中にエラーに遭遇すると LOCPATH
が設定されていることについて警告するようになりました。
以前では、locale
コマンドは、無効な LOCPATH
が原因でエラーが発生した時に LOCPATH
環境変数の診断を行いませんでした。locale
コマンドは、実行時にエラーが発生する際に LOCPATH
が設定されていることを警告するように設定されるようになりました。その結果、locale
は LOCPATH
と、発生した基本的なエラーを報告するようになりました。
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 に更新されました。このバージョンには、多くのさまざまなバグ修正が含まれています。
6.4.10. Identity Management
FreeRADIUS が IPv6 アドレスを指すホスト名を解決するようになりました。
以前の RHEL 8 バージョンの FreeRADIUS では、ipaddr
ユーティリティーは IPv4 アドレスだけに対応していました。したがって、radiusd
デーモンが IPv6 アドレスを解決するには、RHEL 7 から RHEL 8 へシステムのアップグレード後に、設定を手動で更新する必要がありました。この更新で、その基礎となるコードが修正され、FreeRADIUS の ipaddr
も IPv6 アドレスを使用するようになりました。
Nuxwdog
サービスが HSM 環境での PKI サーバーの起動に失敗しなくなりました。
以前では、バグにより、keyutils
パッケージが pki-core
パッケージの依存関係としてインストールされませんでした。さらに、Nuxwdog
ウォッチドッグサービスでは、ハードウェアセキュリティーモジュール (HSM) を使用する環境で公開鍵基盤 (PKI) サーバーを起動できませんでした。これらの問題は修正されています。その結果、必要な keyutils
パッケージが依存関係として自動的にインストールされ、Nuxwdog
が、HSM を使用する環境で想定通りに PKI サーバーを起動するようになりました。
IdM サーバーが、FIPS モードで正しく機能するようになりました。
以前では、Tomcat サーバーの SSL コネクターが完全に実装されていませんでした。結果として、インストールした証明書サーバーがある Identity Management (IdM) サーバーが、FIPS モードが有効になっているマシンでは機能しなくなっていました。このバグは、JSSTrustManager
および JSSKeyManager
の追加で修正されています。その結果、上記のシナリオで IdM サーバーが適切に動作するようになります。
IdM サーバーが RHEL 8 の FIPS モードで動作しなくなるバグがいくつかあることに注意してください。今回の更新で、以下のいずれかが修正されています。
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
プラグインを使用する際にアクセスを拒否しなくなりました。
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
が修正され、上記の状況で期待通りにコンソールプロンプトが表示されるようになりました。
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 デバイスをホットプラグする方法が改善され、問題が発生しなくなりました。
入れ子仮想化を有効化しても、ライブ移行がブロックされなくなりました。
以前では、入れ子仮想化機能はライブ移行と互換性がありませんでした。したがって、RHEL 8 ホストで入れ子仮想化を有効にすると、ホストから仮想マシンを移行したり、仮想マシンの状態のスナップショットをディスクに保存したりできなくなっていました。今回の更新でこの問題が修正され、対象の仮想マシンが移行できるようになりました。
6.4.15. サポート関連
redhat-support-tool
で sosreport
アーカイブが作成されるようになりました。
以前では、redhat-support-tool
ユーティリティーは sosreport
アーカイブを作成できませんでした。その回避策は、sosreport
コマンドを個別に実行し、redhat-support-tool addattachment -c
コマンドを実行してアーカイブをアップロードすることでした。また、ユーザーはカスタマーポータルで Web UI を使用してカスタマーケースを作成し、sosreport
アーカイブをアップロードできます。
さらに、findkerneldebugs
、btextract
、analyze
、または diagnose
などのコマンドオプションが期待通り機能していませんでしたが、今後のリリースで修正される予定です。