[GIT PULL] libnvdimm fixes for 4.14-rc2

From: Williams, Dan J
Date: Thu Sep 21 2017 - 17:07:54 EST


Hi Linus, please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes

...to receive a crash+AKA-fix and corresponding regression test enabling
for the crash scenario. The unit test for this crash is available in
ndctl-v58.2. This branch has received a build success notification from
the 0day-kbuild robot over 148 configs. The fix is tagged for -stable /
backport to 4.13.

---

The following changes since commit 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e:

Linux 4.14-rc1 (2017-09-16 15:47:51 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes

for you to fetch changes up to 33a56086712561b8b9cdc881e0317f4c36861f72:

libnvdimm, namespace: fix btt claim class crash (2017-09-18 17:29:01 -0700)

----------------------------------------------------------------
Dan Williams (2):
tools/testing/nvdimm: disable labels for nfit+AF8-test.1
libnvdimm, namespace: fix btt claim class crash

drivers/nvdimm/namespace+AF8-devs.c +AHw- 9 +-+-+-+-+-+-+-+-+-
tools/testing/nvdimm/test/nfit.c +AHw- 3 ---
2 files changed, 9 insertions(+-), 3 deletions(-)

commit 5e75fe3927559505682b0053b5745e3f42d66e8c
Author: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-
Date: Mon Sep 18 17:19:10 2017 -0700

tools/testing/nvdimm: disable labels for nfit+AF8-test.1

Improve coverage of NVDIMM-N test scenarios by providing a test bus
incapable of label operations.

Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-

commit 33a56086712561b8b9cdc881e0317f4c36861f72
Author: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-
Date: Mon Sep 18 14:48:58 2017 -0700

libnvdimm, namespace: fix btt claim class crash

Maurice reports:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
IP: holder+AF8-class+AF8-store+-0x253/0x2b0 +AFs-libnvdimm+AF0-

...while trying to reconfigure an NVDIMM-N namespace into 'sector' /
'btt' mode. The crash points to this line:

(gdb) li +ACo-(holder+AF8-class+AF8-store+-0x253)
0x7773 is in holder+AF8-class+AF8-store (drivers/nvdimm/namespace+AF8-devs.c:1420).
1415 for (i +AD0- 0+ADs- i +ADw- nd+AF8-region-+AD4-ndr+AF8-mappings+ADs- i+-+-) +AHs-
1416 struct nd+AF8-mapping +ACo-nd+AF8-mapping +AD0- +ACY-nd+AF8-region-+AD4-mapping+AFs-i+AF0AOw-
1417 struct nvdimm+AF8-drvdata +ACo-ndd +AD0- to+AF8-ndd(nd+AF8-mapping)+ADs-
1418 struct nd+AF8-namespace+AF8-index +ACo-nsindex+ADs-
1419
1420 nsindex +AD0- to+AF8-namespace+AF8-index(ndd, ndd-+AD4-ns+AF8-current)+ADs-

...where we are failing because ndd is NULL due to NVDIMM-N dimms not
supporting labels.

Long story short, default to the BTTv1 format in the label-less /
NVDIMM-N case.

Fixes: 14e494542636 (+ACI-libnvdimm, btt: BTT updates for UEFI 2.7 format+ACI-)
Cc: +ADw-stable+AEA-vger.kernel.org+AD4-
Cc: Vishal Verma +ADw-vishal.l.verma+AEA-intel.com+AD4-
Reported-by: Maurice A. Saldivar +ADw-maurice.a.saldivar+AEA-hpe.com+AD4-
Tested-by: Maurice A. Saldivar +ADw-maurice.a.saldivar+AEA-hpe.com+AD4-
Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-