When creating a new namespace, the kernel needs to make sure namespace size and
start address are correctly aligned to SUBSECTION_SIZE. This ensures kernel can
enable/disable namespace without conflicting with memory hotplug rules. Without 
this,
a namespace that partially covers a SUBSECTION can prevent the creation of an
adjacent namespace because the hotplug subsystem will find the subsection 
already active.

To make sure new kernel don't break an existing install with an unaligned 
start/size attribute,
while initializing the namespace the kernel validates these attribute against 
direct-map
mapping page size rather than subsection size.


Aneesh Kumar K.V (6):
  libnvdimm/namespace: Make namespace size validation arch dependent
  libnvdimm/namespace: Validate namespace start addr and size
  libnvdimm/namespace: Add arch dependent callback for namespace create
    time validation
  libnvdimm/namespace: Validate namespace size when creating a new
    namespace.
  libnvdimm/namespace: Align DPA based on arch restrictions
  libnvdimm/namespace: Expose arch specific supported size align value

 arch/arm64/mm/flush.c           | 13 +++++
 arch/powerpc/lib/pmem.c         | 20 ++++++++
 arch/x86/mm/pageattr.c          | 13 +++++
 drivers/nvdimm/namespace_devs.c | 85 +++++++++++++++++++++++++++++++--
 include/linux/libnvdimm.h       |  2 +
 5 files changed, 128 insertions(+), 5 deletions(-)

-- 
2.24.1
_______________________________________________
Linux-nvdimm mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to