From: "Dorau, Lukasz" <lukasz.dorau@intel.com>
To: "Williams, Dan J" <dan.j.williams@intel.com>
Cc: linux-nvdimm <linux-nvdimm@lists.01.org>
Subject: RE: nfit_test: issue #3: BUG: kernel NULL pointer dereference, address: 0000000000000018
Date: Mon, 16 Mar 2020 08:58:04 +0000 [thread overview]
Message-ID: <SN6PR11MB28647B2D8B3C0729FE0CCDD696F90@SN6PR11MB2864.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CAPcyv4jOuTXdNzUTSj2EWBoKJ5V8FeEWo4cCA3e95jdT3=7XFQ@mail.gmail.com>
On Friday, March 13, 2020 4:50 PM Dan Williams <dan.j.williams@intel.com> wrote:
> On Fri, Mar 13, 2020 at 3:06 AM Dorau, Lukasz <lukasz.dorau@intel.com> 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).
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
--
Lukasz
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
next prev parent reply other threads:[~2020-03-16 8:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-12 14:59 nfit_test: issue #3: BUG: kernel NULL pointer dereference, address: 0000000000000018 Dorau, Lukasz
2020-03-12 15:06 ` Dorau, Lukasz
2020-03-12 17:08 ` Dan Williams
2020-03-13 10:06 ` Dorau, Lukasz
2020-03-13 15:49 ` Dan Williams
2020-03-16 8:58 ` Dorau, Lukasz [this message]
2020-03-17 8:26 ` Dan Williams
2020-03-17 9:09 ` Dorau, Lukasz
2020-03-17 16:14 ` Dan Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=SN6PR11MB28647B2D8B3C0729FE0CCDD696F90@SN6PR11MB2864.namprd11.prod.outlook.com \
--to=lukasz.dorau@intel.com \
--cc=dan.j.williams@intel.com \
--cc=linux-nvdimm@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).