aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2019-01-14 14:07:19 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-01-31 08:14:37 +0100
commit3cb00cfa3d37e46b3c8ee4af97fb52d29b07fbc0 (patch)
tree3ec4a1104576cd02501d040e7a6f7873ef6011c9
parent92fbac528fd0727eddf60476d73869383602fab0 (diff)
downloadlinux-yocto-3cb00cfa3d37e46b3c8ee4af97fb52d29b07fbc0.tar.gz
linux-yocto-3cb00cfa3d37e46b3c8ee4af97fb52d29b07fbc0.tar.bz2
linux-yocto-3cb00cfa3d37e46b3c8ee4af97fb52d29b07fbc0.zip
acpi/nfit: Block function zero DSMs
commit 5e9e38d0db1d29efed1dd4cf9a70115d33521be7 upstream. In preparation for using function number 0 as an error value, prevent it from being considered a valid function value by acpi_nfit_ctl(). Cc: <stable@vger.kernel.org> Cc: stuart hayes <stuart.w.hayes@gmail.com> Fixes: e02fb7264d8a ("nfit: add Microsoft NVDIMM DSM command set...") Reported-by: Jeff Moyer <jmoyer@redhat.com> Reviewed-by: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/acpi/nfit/core.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c
index 75b331f8a16a..1697fbc4a035 100644
--- a/drivers/acpi/nfit/core.c
+++ b/drivers/acpi/nfit/core.c
@@ -1764,6 +1764,13 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc,
return 0;
}
+ /*
+ * Function 0 is the command interrogation function, don't
+ * export it to potential userspace use, and enable it to be
+ * used as an error value in acpi_nfit_ctl().
+ */
+ dsm_mask &= ~1UL;
+
guid = to_nfit_uuid(nfit_mem->family);
for_each_set_bit(i, &dsm_mask, BITS_PER_LONG)
if (acpi_check_dsm(adev_dimm->handle, guid,