Try to install PHY and MDIO bus drivers explicitly

Resolves: https://issues.redhat.com/browse/RHEL-7028
Conflict: None

Upstream Status: git@github.com:rhkdump/kdump-utils.git

commit d057153a1c3c36612a14143b29c0ff0be34e4fc2
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Sep 21 11:50:14 2023 +0800

    Try to install PHY and MDIO bus drivers explicitly

    Resolves: https://issues.redhat.com/browse/RHEL-7028

    Currently, nfs dumping fails on some machines that has a dedicated PHY
    driver (dealing with the physical layer) or MDIO bus (connecting the MAC
    to PHY devices) driver. This is because kexec-tools doesn't install
    dedicated PHY or MDIO driver explicitly. Usually a NIC driver shouldn't
    specify the dependency on the needed PHY or MDIO driver because it
    shouldn't a NIC (medium access control, MAC) driver is for dealing with
    the Data link layer and a PHY driver is for physical layer. So as long
    as a MAC driver can talk to the PHY layer via APIs, it shouldn't care
    which PHY driver or device it's talking to. So when the
    dependency on a PHY driver or MDIO driver is not found by dracut's
    instmods, the PHY or MDIO driver won't be installed.

    This patch passes =drivers/net/phy and =drivers/net/mdio to dracut's
    instmods which will only install in-use PHY or MDIO driver(s).

    Note ideally we should find out which PHY driver is used by a NIC but
    unfortunately currently no universal way can be found
    (/sys/class/net/NIC_NAME/phydev/driver/module can be used to find the
     name of the PHY driver for some NICs but it doesn't exist for some NICs
    like Qualcomm Atheros AR8031). So is it for a MDIO bus driver.
    Fortunately currently no huge memory consumption is found for a PHY or
    MDIO driver.

    Fixes: a65dde2d ("Reduce kdump memory consumption by only installing needed NIC drivers")
    Reported-by: Doreen Alongi <dalongi@redhat.com>
    Signed-off-by: Coiby Xu <coxu@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
This commit is contained in:
Coiby Xu 2024-05-09 13:40:43 +08:00
parent c5989636c3
commit ce8f796720

View File

@ -394,7 +394,7 @@ _get_hpyerv_physical_driver() {
kdump_install_nic_driver() {
local _netif _driver _drivers
_drivers=()
_drivers=('=drivers/net/phy' '=drivers/net/mdio')
for _netif in $1; do
[[ $_netif == lo ]] && continue