>>> +        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

Reply via email to