diff options
author | Dan Williams <dan.j.williams@intel.com> | 2019-01-14 14:07:19 -0800 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2019-01-21 09:58:29 -0800 |
commit | 5e9e38d0db1d29efed1dd4cf9a70115d33521be7 (patch) | |
tree | 905e79cbf56185bcdace6b30967a3ff55b54882f /drivers/acpi/nfit | |
parent | 1cd7386549f9b6f2f230da54aa9e7fe2d6c216d2 (diff) | |
download | linux-5e9e38d0db1d29efed1dd4cf9a70115d33521be7.tar.gz linux-5e9e38d0db1d29efed1dd4cf9a70115d33521be7.tar.bz2 linux-5e9e38d0db1d29efed1dd4cf9a70115d33521be7.zip |
acpi/nfit: Block function zero DSMs
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>
Diffstat (limited to 'drivers/acpi/nfit')
-rw-r--r-- | drivers/acpi/nfit/core.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c index c1fb06654749..ed05697a2b38 100644 --- a/drivers/acpi/nfit/core.c +++ b/drivers/acpi/nfit/core.c @@ -1867,6 +1867,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, |