Alexander Potapenko wrote: [..] > > > > diff --git a/drivers/nvdimm/Kconfig b/drivers/nvdimm/Kconfig > > index 79d93126453d..5693869b720b 100644 > > --- a/drivers/nvdimm/Kconfig > > +++ b/drivers/nvdimm/Kconfig > > @@ -63,6 +63,7 @@ config NVDIMM_PFN > > bool "PFN: Map persistent (device) memory" > > default LIBNVDIMM > > depends on ZONE_DEVICE > > + depends on !KMSAN > > select ND_CLAIM > > help > > Map persistent memory, i.e. advertise it to the memory > > > > Looks like we still don't have a resolution for this problem. > I have the following options in mind: > > 1. Set MAX_STRUCT_PAGE_SIZE to 80 (i.e. increase it by 2*sizeof(struct > page *) added by KMSAN) instead of 128. > 2. Disable storing of struct pages on device for KMSAN builds. > > , but if those are infeasible, we can always go for: > > 3. Disable KMSAN for NVDIMM and reflect it in Documentation. I am > happy to send the patch if we decide this is the best option. I copied you on the new proposal here: https://lore.kernel.org/nvdimm/167467815773.463042.7022545814443036382.stgit@xxxxxxxxxxxxxxxxxxxxxxxxx/ It disables PMEM namespace creation with page-array reservations when sizeof(struct page) > 64. Note, it was pre-existing behavior for PMEM namespaces with too small of a reservation to fail to enable. That gives me confidence that the restriction to lose some PMEM namespace access with these memory debug facilities is acceptable.