>>> + page->pgmap = pgmap; >>> + page->hmm_data = 0; >> >> __init_single_page() >> mm_zero_struct_page() >> >> Takes care of zeroing, no need to do another store here. > > The problem is __init_singe_page also calls INIT_LIST_HEAD which I > believe sets the prev pointer which overlaps with hmm_data.
Indeed it does: INIT_LIST_HEAD(&page->lru); overlaps with hmm_data, and before list_del(&page->lru); was called to remove from the list. And now I see you also mentioned about this in comments. I also prefer having it zeroed instead of left poisoned or uninitialized. The change looks good. Thank you, Pavel > >> >> Looks good otherwise. >> >> Reviewed-by: Pavel Tatashin <[email protected]> >> > > Thanks for the review. > _______________________________________________ Linux-nvdimm mailing list [email protected] https://lists.01.org/mailman/listinfo/linux-nvdimm
