On Mon, Mar 16, 2020 at 1:58 AM Dorau, Lukasz <[email protected]> wrote: > > On Friday, March 13, 2020 4:50 PM Dan Williams <[email protected]> > wrote: > > On Fri, Mar 13, 2020 at 3:06 AM Dorau, Lukasz <[email protected]> > > wrote: > > > > > > The steps to reproduce: > > > > > > $ sudo modprobe -v nfit_test > > > insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/kernel/drivers/char/hw_random/rng-core.ko.xz > > > insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/kernel/drivers/char/tpm/tpm.ko.xz > > > insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/kernel/security/keys/trusted-keys/trusted.ko.xz > > > insmod /lib/modules/5.6.0-rc1-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-13504- > > g7b27a8622f80/kernel/drivers/nvdimm/libnvdimm.ko.xz > > > insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/kernel/drivers/acpi/nfit/nfit.ko.xz > > > insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/extra/test/nfit_test_iomap.ko.xz > > > insmod > > > /lib/modules/5.6.0-rc1-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 > > > [ 102.769871] Key type encrypted registered > > > [ 102.799289] nfit_test_iomap: loading out-of-tree module taints kernel. > > > [ 102.804008] nfit_test: Unknown symbol libnvdimm_test (err -2) > > > [ 102.804054] nfit_test: Unknown symbol acpi_nfit_test (err -2) > > > [ 102.804118] nfit_test: Unknown symbol pmem_test (err -2) > > > [ 102.804164] nfit_test: Unknown symbol dax_pmem_core_test (err -2) > > > [ 102.804226] nfit_test: Unknown symbol dax_pmem_compat_test (err -2) > > > [ 102.804273] nfit_test: Unknown symbol device_dax_test (err -2) > > > [ 102.804308] nfit_test: Unknown symbol dax_pmem_test (err -2) > > > > > > Removing the wrong modules: > > > > > > $ sudo rmmod nfit > > > $ sudo rmmod libnvdimm > > > > > > Inserting the right modules manually: > > > > > > $ sudo insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/extra/libnvdimm.ko.xz > > > $ sudo insmod > > > /lib/modules/5.6.0-rc1-13504-g7b27a8622f80/extra/nd_btt.ko.xz > > > $ sudo insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/extra/nd_pmem.ko.xz > > > $ sudo insmod /lib/modules/5.6.0-rc1-13504-g7b27a8622f80/extra/nfit.ko.xz > > > $ sudo insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/extra/dax_pmem_core.ko.xz > > > $ sudo insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/extra/dax_pmem.ko.xz > > > $ sudo insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/extra/device_dax.ko.xz > > > $ sudo insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/extra/dax_pmem_compat.ko.xz > > > $ sudo insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/extra/test/nfit_test.ko.xz > > > > > > The 'nfit_test' module is successfully inserted with *NO ERRORS* now: > > > > > > $ dmesg | tail > > > [ 464.439504] nfit_test: mcsafe_test: disabled, skip. > > > [ 464.500439] nfit_test nfit_test.0: failed to evaluate _FIT > > > [ 464.507964] nfit_test nfit_test.1: Error found in NVDIMM nmem4 flags: > > > save_fail > > restore_fail flush_fail not_armed > > > [ 464.507990] nfit_test nfit_test.1: Error found in NVDIMM nmem5 flags: > > > map_fail > > > [ 464.508614] nd_pmem namespace6.0: region6 read-only, marking pmem6 > > > read- > > only > > > [ 464.508729] pmem6: detected capacity change from 0 to 33554432 > > > [ 464.508737] pmem7: detected capacity change from 0 to 4194304 > > > > > > $ lsmod | grep nfit > > > nfit_test 49152 8 > > > dax_pmem_compat 20480 1 nfit_test > > > device_dax 20480 2 nfit_test,dax_pmem_compat > > > dax_pmem 20480 1 nfit_test > > > dax_pmem_core 20480 3 dax_pmem,nfit_test,dax_pmem_compat > > > nfit 73728 1 nfit_test > > > nd_pmem 24576 1 nfit_test > > > libnvdimm 200704 8 > > dax_pmem,nfit_test,dax_pmem_core,nd_btt,nd_pmem,dax_pmem_compat,nd_blk, > > nfit > > > nfit_test_iomap 24576 6 > > nfit_test,dax_pmem_core,device_dax,nd_pmem,libnvdimm,nfit > > > > > > Trying to remove and reinsert the 'nfit_test' module: > > > > > > $ sudo ndctl disable-region all > > > disabled 8 regions > > > > > > $ sudo modprobe -v -r nfit_test > > > rmmod nfit_test > > > rmmod nfit > > > > > > $ sudo modprobe -v nfit_test > > > insmod /lib/modules/5.6.0-rc1-13504- > > g7b27a8622f80/kernel/drivers/acpi/nfit/nfit.ko.xz > > > insmod > > > /lib/modules/5.6.0-rc1-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 > > > [ 919.861636] nfit_test: Unknown symbol acpi_nfit_test (err -2) > > > > I'm still not sure how you are managing to hit "unknown symbol" > > errors, are you re-running depmod after creating the test modules? > > The above error: > "nfit_test: Unknown symbol acpi_nfit_test (err -2)" > I have hit after having removed the 'nfit_test' module: > $ sudo modprobe -v -r nfit_test > and having tried to reinsert it: > > $ sudo modprobe -v nfit_test > insmod > /lib/modules/5.6.0-rc1-13504-g7b27a8622f80/kernel/drivers/acpi/nfit/nfit.ko.xz > insmod /lib/modules/5.6.0-rc1-13504-g7b27a8622f80/extra/test/nfit_test.ko.xz > modprobe: ERROR: could not insert 'nfit_test': Unknown symbol in module, or > unknown parameter (see dmesg) > > because 'modprobe' has inserted the production version of the 'nfit' driver > (kernel/drivers/acpi/nfit/nfit.ko.xz) > instead of the test one (extra/nfit.ko.xz).
Right, that's broken, but I'm not sure why. > > Regarding 'depmod' I have run the following commands to build and install the > kernel and the modules: > $ make > $ make M=tools/testing/nvdimm > $ sudo make M=tools/testing/nvdimm modules_install # ---> it runs depmod > $ sudo make modules_install # ---> it runs depmod > $ sudo make install What distro? On Fedora rawhide I'm doing the same steps and end up with: # cat /lib/modules/$(uname -r)/modules.dep | grep nfit_test.ko extra/test/nfit_test.ko: extra/dax_pmem.ko extra/dax_pmem_core.ko extra/device_dax.ko extra/nd_pmem.ko extra/nd_btt.ko extra/nfit.ko extra/libnvdimm.ko kernel/security/keys/encrypted-keys/encrypted-keys.ko kernel/security/keys/trusted-keys/trusted.ko extra/test/nfit_test_iomap.ko kernel/drivers/char/tpm/tpm.ko ...i.e. the test version "extra/nfit.ko" in the dependency chain. _______________________________________________ Linux-nvdimm mailing list -- [email protected] To unsubscribe send an email to [email protected]
