On Tue, Oct 13, 2026 at 03:46:43PM +0400, Suren Baghdasaryan wrote: > On Fri, Oct 9, 2026 at 10:36 AM Hao Ge <[email protected]> wrote: > > > > __pcpu_map_pages() clears the PTEs it installed when it fails, so > > pcpu_map_pages() only has to tear down the CPUs it mapped before > > the failing one. > > > > Signed-off-by: Hao Ge <[email protected]> > > Reviewed-by: Suren Baghdasaryan <[email protected]> > > > > --- > > mm/percpu-vm.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/mm/percpu-vm.c b/mm/percpu-vm.c > > index 509d8901835c..59d3a336a6bd 100644 > > --- a/mm/percpu-vm.c > > +++ b/mm/percpu-vm.c > > @@ -252,10 +252,11 @@ static int pcpu_map_pages(struct pcpu_chunk *chunk, > > struct page **pages, > > return 0; > > err: > > for_each_possible_cpu(tcpu) { > > - __pcpu_unmap_pages(pcpu_chunk_addr(chunk, tcpu, page_start), > > - page_end - page_start); > > + /* The failing CPU's partial mapping undoes itself */ > > if (tcpu == cpu) > > break; > > + __pcpu_unmap_pages(pcpu_chunk_addr(chunk, tcpu, page_start), > > + page_end - page_start); > > } > > pcpu_post_unmap_tlb_flush(chunk, page_start, page_end); > > return err; > > -- > > 2.25.1 > > Reviewed-by: Uladzislau Rezki (Sony) <[email protected]>
-- Uladzislau Rezki
