On 27.03.2025 16:49, Julien Grall wrote: > On 27/03/2025 15:08, Jan Beulich wrote: >> On 27.03.2025 15:49, Julien Grall wrote: >>> On 13/03/2025 13:38, Jan Beulich wrote: >>>> --- >>>> Same could then apparently be done for heap_init_late(). Thoughts? >>> >>> Looking at the code, I couldn't figure out whether any of the >>> constructors may rely on some changes done by heap_init_late(). >>> >>> The only issue I can think of is scrubbing. In the case it is >>> synchronous, would the memory allocated before hand be scrubbed? >> >> Memory that is allocated can't possibly be scrubbed; only memory that's >> still un-allocated can be. With that I fear I don't properly understand >> the question you raise. > > I meant that if memory is allocated by calls from init_constructors(). > Before this patch, the memory would be scrubbed. After this patch, > anything constructors called before heap_init_late() would end up to not > be scrubbed if it is synchronous.
Oh, I see. Since scrubbing may be asynchronous, any site relying on scrubbing having happened would be flawed anyway. Apart from that, unless callers pass MEMF_no_scrub to alloc_heap_pages(), un-scrubbed pages would be scrubbed anyway (see near the end of the function). Jan