bnx2x ドライバーで [intel|amd]_iommu=on と TSO を有効にすると、"rb_erase+0x1fb/0x390" へのインストラクションポインターでカーネルがクラッシュする
Issue
- カーネルパニックが発生し Red Hat Enterprise Linux 7 システムがクラッシュしました。
BUG: unable to handle kernel NULL pointer dereference at (null)
...
RIP:0010:[<ffffffff812bf01b>] [<ffffffff812bf01b>] rb_erase+0x1fb/0x390
..
- ネットワーク設定で TSO (TCP セグメンテーションオフロード) が有効になっている場合は以下のようになります。
$ ethtool -k eth0
Features for eth0:
tcp-segmentation-offload: on
tx-tcp-segmentation: on
tx-tcp-ecn-segmentation: on
tx-tcp6-segmentation: on
- そして、"[intel|amd]_iommu=on" をブートパラメーター (/boot/grub2/grub.cfg) として使用しています。
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 root=/dev/sda5 intel_iommu=on crashkernel=130M@0M ro rhgb quiet LANG=en_US.UTF-8
Environment
- Red Hat Enterprise Linux 7
- kernel-3.10.0-123.el7
- bnx2x ドライバー
- TSO (TCP セグメンテーションオフロード) を有効にしている
- grub.cfg でカーネルパラメーター [intel|amd]_iommu=on を指定している
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.