libnvdimm, dimm: handle EACCES failures from label reads
authorDan Williams <dan.j.williams@intel.com>
Mon, 9 Apr 2018 19:34:24 +0000 (12:34 -0700)
committerDan Williams <dan.j.williams@intel.com>
Mon, 16 Apr 2018 15:18:51 +0000 (08:18 -0700)
commite7c5a571a8d6a266aee9ca3f3f26e5afe3717eca
treeb3f9dbb9f9f7cc95d05384f0dd0bcea01130796e
parent60cc43fc888428bb2f18f08997432d426a243338
libnvdimm, dimm: handle EACCES failures from label reads

The new support for the standard _LSR and _LSW methods neglected to also
update the nvdimm_init_config_data() and nvdimm_set_config_data() to
return the translated error code from failed commands. This precision is
necessary because the locked status that was previously returned on
ND_CMD_GET_CONFIG_SIZE commands is now returned on
ND_CMD_{GET,SET}_CONFIG_DATA commands.

If the kernel misses this indication it can inadvertently fall back to
label-less mode when it should otherwise avoid all access to locked
regions.

Cc: <stable@vger.kernel.org>
Fixes: 4b27db7e26cd ("acpi, nfit: add support for the _LSI, _LSR, and...")
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/dimm_devs.c