Hi, Inserting the 'nfit_test' module in a natural way fails with the following error:
$ sudo modprobe -v nfit_test insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/kernel/drivers/char/hw_random/rng-core.ko.xz insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/kernel/drivers/char/tpm/tpm.ko.xz insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/kernel/security/keys/trusted-keys/trusted.ko.xz insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/kernel/security/keys/encrypted-keys/encrypted-keys.ko.xz install /usr/bin/ndctl load-keys ; /sbin/modprobe --ignore-install libnvdimm $CMDLINE_OPTS No TPM handle discovered. failed to open file /etc/ndctl/keys/nvdimm-master.blob: No such file or directory insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/kernel/drivers/nvdimm/libnvdimm.ko.xz insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/kernel/drivers/acpi/nfit/nfit.ko.xz insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/test/nfit_test_iomap.ko.xz insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/test/nfit_test.ko.xz modprobe: ERROR: could not insert 'nfit_test': Unknown symbol in module, or unknown parameter (see dmesg) $ dmesg | tail [ 659.295461] Key type encrypted registered [ 659.337971] nfit_test: Unknown symbol libnvdimm_test (err -2) [ 659.337997] nfit_test: Unknown symbol acpi_nfit_test (err -2) [ 659.338035] nfit_test: Unknown symbol pmem_test (err -2) [ 659.338061] nfit_test: Unknown symbol dax_pmem_core_test (err -2) [ 659.338097] nfit_test: Unknown symbol dax_pmem_compat_test (err -2) [ 659.338125] nfit_test: Unknown symbol device_dax_test (err -2) [ 659.338144] nfit_test: Unknown symbol dax_pmem_test (err -2) It is because the standard versions of the 'libnvdimm' and 'nfit' modules were inserted instead of the mocked ones from the 'extra' subdirectory as you can see above and below: $ sudo modinfo nfit | grep -e filename filename: /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/kernel/drivers/acpi/nfit/nfit.ko.xz $ sudo modinfo libnvdimm | grep -e filename filename: /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/kernel/drivers/nvdimm/libnvdimm.ko.xz There is a workaround - it can be done manually in the following way.... $ sudo rmmod nfit $ sudo rmmod libnvdimm Only /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/test/nfit_test_iomap.ko.xz is inserted now. $ sudo insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/libnvdimm.ko.xz $ sudo insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/nd_btt.ko.xz $ sudo insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/nd_pmem.ko.xz $ sudo insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/nfit.ko.xz $ sudo insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/dax_pmem_core.ko.xz $ sudo insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/dax_pmem.ko.xz $ sudo insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/device_dax.ko.xz $ sudo insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/dax_pmem_compat.ko.xz $ sudo insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/test/nfit_test.ko.xz $ dmesg | tail [ 1214.908974] nfit_test: mcsafe_test: disabled, skip. [ 1214.968913] nfit_test nfit_test.0: failed to evaluate _FIT [ 1214.976728] nfit_test nfit_test.1: Error found in NVDIMM nmem4 flags: save_fail restore_fail flush_fail not_armed [ 1214.976740] nfit_test nfit_test.1: Error found in NVDIMM nmem5 flags: map_fail [ 1214.977745] nd_pmem namespace6.0: region6 read-only, marking pmem6 read-only [ 1214.977906] pmem6: detected capacity change from 0 to 33554432 [ 1214.977915] pmem7: detected capacity change from 0 to 4194304 Let's try to remove the 'nfit_test' module: $ sudo ndctl disable-region all disabled 8 regions $ sudo modprobe -v -r nfit_test rmmod nfit_test rmmod nfit ... and insert it again: $ sudo modprobe -v nfit_test insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/kernel/drivers/acpi/nfit/nfit.ko.xz insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/test/nfit_test.ko.xz modprobe: ERROR: could not insert 'nfit_test': Unknown symbol in module, or unknown parameter (see dmesg) $ dmesg | tail [ 1486.193503] nfit_test: Unknown symbol acpi_nfit_test (err -2) And now the wrong version of the 'nfit' module was inserted ... The only way is to do it manualy again: $ sudo rmmod -v nfit $ sudo insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/nfit.ko.xz $ sudo modprobe -v nfit_test insmod /lib/modules/5.6.0-rc1-bb-13504-g7b27a8622f80/extra/test/nfit_test.ko.xz Does anyone know how it can be fixed? Any suggestions? -- Lukasz _______________________________________________ Linux-nvdimm mailing list -- [email protected] To unsubscribe send an email to [email protected]
