Skip to content
  • Dan Williams's avatar
    libnvdimm, dax: fix alignment validation · 5e24c9fd
    Dan Williams authored
    
    
    Testing the dax-device autodetect support revealed a probe failure with
    the following result:
    
        dax0.1: bad offset: 0x8200000 dax disabled
    
    The original pfn-device implementation inferred the alignment from
    ilog2(offset), now that the alignment is explicit the is_power_of_2()
    needs replacing with a real sanity check against the recorded alignment.
    Otherwise the alignment check is useless in the implicit case and only
    the minimum size of the offset matters.
    
    This self-consistency check is further validated by the probe path that
    will re-check that the offset is large enough to contain all the
    metadata required to enable the device.
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    5e24c9fd