Score:0

Can't load new modules/driver due to "Exec format error" / "Skipping invalid relocation target"

us flag

I'm trying to update the driver for our Intel C62x Chipset QuickAssist Technology add-on card, but getting the mentioned errors when I try to load the modules. I haven't done this in a while, but I thought the process was pretty straightforward:

  1. Stop the QAT services [ ok ]
  2. uninstall the QAT driver [ ok ]
  3. modprobe -r any remaining QAT modules [ ok ]
  4. download, extract, configure, make the new QAT driver [ ok ]
  5. install the new driver [ FAIL ]

For example:

# make -j16 install
[...]
make -C /lib/modules/4.19.0-5-amd64/build M=/usr/local/src/QAT.L.4.20.0-00001/quickassist/qat INSTALL_MOD_DIR=updates modules_install
make[3]: Entering directory '/usr/src/linux-headers-4.19.0-5-amd64'
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_200xx/qat_200xx.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_200xxvf/qat_200xxvf.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_c3xxx/qat_c3xxx.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_c3xxxvf/qat_c3xxxvf.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_c4xxx/qat_c4xxx.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_c4xxxvf/qat_c4xxxvf.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_c62x/qat_c62x.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_c62xvf/qat_c62xvf.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_common/intel_qat.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_d15xx/qat_d15xx.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_d15xxvf/qat_d15xxvf.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_dh895xcc/qat_dh895xcc.ko
  INSTALL /usr/local/src/QAT.L.4.20.0-00001/quickassist/qat/drivers/crypto/qat/qat_dh895xccvf/qat_dh895xccvf.ko
  DEPMOD  4.19.0-5-amd64
Warning: modules_install: missing 'System.map' file. Skipping depmod.
make[3]: Leaving directory '/usr/src/linux-headers-4.19.0-5-amd64'
make[2]: Leaving directory '/usr/local/src/QAT.L.4.20.0-00001/quickassist/qat'
Creating startup and kill scripts
Copying libqat_s.so to /usr/local/lib
Copying libusdm_drv_s.so to /usr/local/lib
Copying usdm module to system drivers
Group qat already exists.
Creating udev rules
Creating module.dep file for QAT released kernel object
This will take a few moments
Created symlink /etc/systemd/system/multi-user.target.wants/qat.service → /lib/systemd/system/qat.service.
Starting QAT service
modprobe: ERROR: could not insert 'qat_c62x': Exec format error
modprobe: ERROR: could not insert 'usdm_drv': Exec format error
modprobe: ERROR: could not insert 'qat_api': Exec format error
Restarting all devices.
Can not open /dev/qat_adf_ctl
Checking status of all devices.
Can not open /dev/qat_adf_ctl
    *** Error:usdm_drv module not installed ***
    *** Error:qat_api module not installed ***
    *** Error:qat_c62x module not installed ***
Can not open /dev/qat_adf_ctl
make[1]: Nothing to be done for 'install-data-am'.
make[1]: Leaving directory '/usr/local/src/QAT.L.4.20.0-00001'

# modprobe -v qat_c62x
insmod /lib/modules/4.19.0-5-amd64/updates/drivers/crypto/qat/qat_common/intel_qat.ko
modprobe: ERROR: could not insert 'qat_c62x': Exec format error

# modprobe -v intel_qat
insmod /lib/modules/4.19.0-5-amd64/updates/drivers/crypto/qat/qat_common/intel_qat.ko
modprobe: ERROR: could not insert 'intel_qat': Exec format error

#

Meanwhile, the system log shows:

<date> <host> kernel: [<uptime>] module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1, loc 000000005c09d38d, val ffffffffc09ba2fe
<date> <host> kernel: [<uptime>] module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1, loc 00000000690eef73, val ffffffffc0b572fe
<date> <host> kernel: [<uptime>] module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1, loc 000000007d30ad16, val ffffffffc0c862fe
<date> <host> kernel: [<uptime>] module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1, loc 00000000671d2da7, val ffffffffc0cd82fe
<date> <host> kernel: [<uptime>] module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1, loc 0000000072877855, val ffffffffc0d2a2fe

What are these errors even talking about and what is the cause and possible solutions?

Thanks so much!

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.