On Thu, Jun 13, 2019 at 05:22:17PM -0700, Ira Weiny wrote: > > - dev_dax->pgmap.ref = &dev_dax->ref; > > I don't think this exactly correct. pgmap.ref is a pointer to the dev_dax ref > structure. Taking it away will cause devm_memremap_pages() to fail AFAICS. > > I think you need to change struct dev_pagemap as well: Take a look at the previous patch, which adds an internal_ref field to dev_pagemap that ->ref is set up to point to if not otherwise initialized.