lkml.org 
[lkml]   [2020]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH 15/15] [dax|pmem]: Enable stray write protection
    Date
    From: Ira Weiny <ira.weiny@intel.com>

    Protecting against stray writes is particularly important for PMEM
    because, unlike writes to anonymous memory, writes to PMEM persists
    across a reboot. Thus data corruption could result in permanent loss of
    data. Therefore, there is no option presented to the user.

    Enable stray write protection by setting the flag in pgmap which
    requests it. Note if Zone Device Access Protection not be supported
    this flag will have no affect.

    Signed-off-by: Ira Weiny <ira.weiny@intel.com>
    ---
    drivers/dax/device.c | 2 ++
    drivers/nvdimm/pmem.c | 2 ++
    2 files changed, 4 insertions(+)

    diff --git a/drivers/dax/device.c b/drivers/dax/device.c
    index 4c0af2eb7e19..884f66d73d32 100644
    --- a/drivers/dax/device.c
    +++ b/drivers/dax/device.c
    @@ -430,6 +430,8 @@ int dev_dax_probe(struct device *dev)
    }

    dev_dax->pgmap.type = MEMORY_DEVICE_DEVDAX;
    + dev_dax->pgmap.flags |= PGMAP_PROT_ENABLED;
    +
    addr = devm_memremap_pages(dev, &dev_dax->pgmap);
    if (IS_ERR(addr))
    return PTR_ERR(addr);
    diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
    index 46c11a09b813..9416a660eede 100644
    --- a/drivers/nvdimm/pmem.c
    +++ b/drivers/nvdimm/pmem.c
    @@ -427,6 +427,8 @@ static int pmem_attach_disk(struct device *dev,
    return -EBUSY;
    }

    + pmem->pgmap.flags |= PGMAP_PROT_ENABLED;
    +
    q = blk_alloc_queue(pmem_make_request, dev_to_node(dev));
    if (!q)
    return -ENOMEM;
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-07-14 09:05    [W:2.393 / U:0.356 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site