linux/drivers/nvdimm
Dan Williams bb7bf697fe nvdimm: Allow overwrite in the presence of disabled dimms
It is not clear why the original implementation of overwrite support
required the dimm driver to be active before overwrite could proceed. In
fact that can lead to cases where the kernel retains an invalid cached
copy of the labels from before the overwrite. Unfortunately the kernel
has not only allowed that case, but enforced it.

Going forward, allow for overwrite to happen while the label area is
offline, and follow-on with updates to 'ndctl sanitize-dimm --overwrite'
to trigger the label area invalidation by default.

Cc: Vishal Verma <vishal.l.verma@intel.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Jeff Moyer <jmoyer@redhat.com>
Reported-by: Krzysztof Kensicki <krzysztof.kensicki@intel.com>
Fixes: 7d988097c5 ("acpi/nfit, libnvdimm/security: Add security DSM overwrite support")
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2022-04-28 15:47:46 -07:00
..
badrange.c mm/memremap_pages: convert to 'struct range' 2020-10-13 18:38:28 -07:00
btt_devs.c block: remove genhd.h 2022-02-02 07:49:59 -07:00
btt.c nvdimm-btt: use bvec_kmap_local in btt_rw_integrity 2022-03-04 12:29:21 -07:00
btt.h nvdimm-btt: convert to blk_alloc_disk/blk_cleanup_disk 2021-06-01 07:42:23 -06:00
bus.c libnvdimm for 5.18 2022-03-30 10:04:11 -07:00
claim.c libnvdimm: Cleanup include of badblocks.h 2020-12-15 21:47:45 -08:00
core.c cxl for v5.16 2021-11-08 11:49:48 -08:00
dax_devs.c libnvdimm: Move attribute groups to device type 2019-11-17 09:17:38 -08:00
dimm_devs.c nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
dimm.c libnvdimm: Make remove callback return void 2021-02-16 19:35:29 -08:00
e820.c libnvdimm/e820: Retrieve and populate correct 'target_node' info 2020-02-18 10:28:05 -08:00
Kconfig nvdimm/blk: Delete the block-aperture window driver 2022-03-11 15:53:12 -08:00
label.c nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
label.h nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
Makefile drivers/nvdimm: Fix build failure when CONFIG_PERF_EVENTS is not set 2022-03-23 12:17:36 -07:00
namespace_devs.c nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
nd_perf.c drivers/nvdimm: Fix build failure when CONFIG_PERF_EVENTS is not set 2022-03-23 12:17:36 -07:00
nd_virtio.c block: pass a block_device and opf to bio_alloc 2022-02-02 07:49:59 -07:00
nd-core.h libnvdimm for 5.18 2022-03-30 10:04:11 -07:00
nd.h nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
of_pmem.c powerpc/pmem: Initialize pmem device on newer hardware 2020-07-16 13:00:23 +10:00
pfn_devs.c block: remove genhd.h 2022-02-02 07:49:59 -07:00
pfn.h libnvdimm/namespace: Enforce memremap_compat_align() 2020-03-17 12:23:21 -07:00
pmem.c dax: remove the copy_from_iter and copy_to_iter methods 2021-12-18 08:04:53 -08:00
pmem.h mm: don't include <linux/memremap.h> in <linux/mm.h> 2022-03-03 12:47:33 -05:00
region_devs.c nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
region.c nvdimm/region: Delete nd_blk_region infrastructure 2022-03-11 15:53:13 -08:00
security.c nvdimm: Allow overwrite in the presence of disabled dimms 2022-04-28 15:47:46 -07:00
virtio_pmem.c virtio: wrap config->reset calls 2022-01-14 18:50:52 -05:00
virtio_pmem.h virtio-pmem: Add virtio pmem driver 2019-07-05 15:19:10 -07:00