Commit 91bf79bc authored by Dan Williams's avatar Dan Williams
Browse files

Merge branch 'for-5.6/libnvdimm-fixes' into libnvdimm-for-next

Pick up some miscellaneous minor fixes, that missed v5.6-final,
including a some smatch reports in the ioctl path and some unit test
compilation fixups.
parents 04ff4863 1f776799
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -9569,6 +9569,7 @@ F: drivers/acpi/nfit/*
F:	include/linux/nd.h
F:	include/linux/libnvdimm.h
F:	include/uapi/linux/ndctl.h
F:	tools/testing/nvdimm/
LICENSES and SPDX stuff
M:	Thomas Gleixner <tglx@linutronix.de>
+6 −4
Original line number Diff line number Diff line
@@ -360,7 +360,7 @@ static union acpi_object *acpi_label_info(acpi_handle handle)

static u8 nfit_dsm_revid(unsigned family, unsigned func)
{
	static const u8 revid_table[NVDIMM_FAMILY_MAX+1][32] = {
	static const u8 revid_table[NVDIMM_FAMILY_MAX+1][NVDIMM_CMD_MAX+1] = {
		[NVDIMM_FAMILY_INTEL] = {
			[NVDIMM_INTEL_GET_MODES] = 2,
			[NVDIMM_INTEL_GET_FWINFO] = 2,
@@ -386,7 +386,7 @@ static u8 nfit_dsm_revid(unsigned family, unsigned func)

	if (family > NVDIMM_FAMILY_MAX)
		return 0;
	if (func > 31)
	if (func > NVDIMM_CMD_MAX)
		return 0;
	id = revid_table[family][func];
	if (id == 0)
@@ -492,7 +492,8 @@ int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
	 * Check for a valid command.  For ND_CMD_CALL, we also have to
	 * make sure that the DSM function is supported.
	 */
	if (cmd == ND_CMD_CALL && !test_bit(func, &dsm_mask))
	if (cmd == ND_CMD_CALL &&
	    (func > NVDIMM_CMD_MAX || !test_bit(func, &dsm_mask)))
		return -ENOTTY;
	else if (!test_bit(cmd, &cmd_mask))
		return -ENOTTY;
@@ -3494,7 +3495,8 @@ static int acpi_nfit_clear_to_send(struct nvdimm_bus_descriptor *nd_desc,
	if (nvdimm && cmd == ND_CMD_CALL &&
			call_pkg->nd_family == NVDIMM_FAMILY_INTEL) {
		func = call_pkg->nd_command;
		if ((1 << func) & NVDIMM_INTEL_SECURITY_CMDMASK)
		if (func > NVDIMM_CMD_MAX ||
		    (1 << func) & NVDIMM_INTEL_SECURITY_CMDMASK)
			return -EOPNOTSUPP;
	}

+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@
		| ACPI_NFIT_MEM_NOT_ARMED | ACPI_NFIT_MEM_MAP_FAILED)

#define NVDIMM_FAMILY_MAX NVDIMM_FAMILY_HYPERV
#define NVDIMM_CMD_MAX 31

#define NVDIMM_STANDARD_CMDMASK \
(1 << ND_CMD_SMART | 1 << ND_CMD_SMART_THRESHOLD | 1 << ND_CMD_DIMM_FLAGS \
+4 −2
Original line number Diff line number Diff line
@@ -1042,7 +1042,9 @@ static int __nd_ioctl(struct nvdimm_bus *nvdimm_bus, struct nvdimm *nvdimm,
			return -EFAULT;
	}

	if (!desc || (desc->out_num + desc->in_num == 0) ||
	if (!desc ||
	    (desc->out_num + desc->in_num == 0) ||
	    cmd > ND_CMD_CALL ||
	    !test_bit(cmd, &cmd_mask))
		return -ENOTTY;

+2 −2
Original line number Diff line number Diff line
@@ -21,8 +21,8 @@ DRIVERS := ../../../drivers
NVDIMM_SRC := $(DRIVERS)/nvdimm
ACPI_SRC := $(DRIVERS)/acpi/nfit
DAX_SRC := $(DRIVERS)/dax
ccflags-y := -I$(src)/$(NVDIMM_SRC)/
ccflags-y += -I$(src)/$(ACPI_SRC)/
ccflags-y := -I$(srctree)/drivers/nvdimm/
ccflags-y += -I$(srctree)/drivers/acpi/nfit/

obj-$(CONFIG_LIBNVDIMM) += libnvdimm.o
obj-$(CONFIG_BLK_DEV_PMEM) += nd_pmem.o
Loading