libnvdimm/security: ensure sysfs poll thread woke up and fetch updated attr
authorJane Chu <jane.chu@oracle.com>
Mon, 3 Aug 2020 22:41:39 +0000 (16:41 -0600)
committerVishal Verma <vishal.l.verma@intel.com>
Tue, 4 Aug 2020 00:54:13 +0000 (18:54 -0600)
commit7f674025d9f7321dea11b802cc0ab3f09cbe51c5
tree58ddf824c15cac3c89789932322f67ba32fb3fb4
parent7c02d53dfe4db08cd7b4d4be8c7f1b801cf8b899
libnvdimm/security: ensure sysfs poll thread woke up and fetch updated attr

commit 7d988097c546 ("acpi/nfit, libnvdimm/security: Add security DSM overwrite support")
adds a sysfs_notify_dirent() to wake up userspace poll thread when the "overwrite"
operation has completed. But the notification is issued before the internal
dimm security state and flags have been updated, so the userspace poll thread
wakes up and fetches the not-yet-updated attr and falls back to sleep, forever.
But if user from another terminal issue "ndctl wait-overwrite nmemX" again,
the command returns instantly.

Link: https://lore.kernel.org/r/1596494499-9852-3-git-send-email-jane.chu@oracle.com
Fixes: 7d988097c546 ("acpi/nfit, libnvdimm/security: Add security DSM overwrite support")
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Jane Chu <jane.chu@oracle.com>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
drivers/nvdimm/security.c