Re: [PATCH] mm: change tlb_finish_mmu() to be more simple
> On Nov 4, 2015, at 16:36, Sergey Senozhatsky > wrote: > > On (11/04/15 15:35), yalin wang wrote: > [..] >> >> -for (batch = tlb->local.next; batch; batch = next) { >> -next = batch->next; >> +for (batch = tlb->local.next; batch; batch = batch->next) >> free_pages((unsigned long)batch, 0); > > accessing `batch->next' after calling free_pages() on `batch'? > > -ss oh, my mistake, my code is buggy here . Thanks-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mm: change tlb_finish_mmu() to be more simple
On (11/04/15 15:35), yalin wang wrote: [..] > > - for (batch = tlb->local.next; batch; batch = next) { > - next = batch->next; > + for (batch = tlb->local.next; batch; batch = batch->next) > free_pages((unsigned long)batch, 0); accessing `batch->next' after calling free_pages() on `batch'? -ss -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mm: change tlb_finish_mmu() to be more simple
On Wed, Nov 04, 2015 at 03:35:31PM +0800, yalin wang wrote: > This patch remove unneeded *next temp variable, > make this function more simple to read. > > Signed-off-by: yalin wang > --- > mm/memory.c | 7 +++ > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/mm/memory.c b/mm/memory.c > index 7f3b9f2..f0040ed 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -270,17 +270,16 @@ void tlb_flush_mmu(struct mmu_gather *tlb) > */ > void tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned > long end) > { > - struct mmu_gather_batch *batch, *next; > + struct mmu_gather_batch *batch; > > tlb_flush_mmu(tlb); > > /* keep the page table cache within bounds */ > check_pgt_cache(); > > - for (batch = tlb->local.next; batch; batch = next) { > - next = batch->next; > + for (batch = tlb->local.next; batch; batch = batch->next) Use after free? No, thanks. > free_pages((unsigned long)batch, 0); > - } > + > tlb->local.next = NULL; > } > > -- > 1.9.1 > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majord...@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: mailto:"d...@kvack.org;> em...@kvack.org -- Kirill A. Shutemov -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mm: change tlb_finish_mmu() to be more simple
On (11/04/15 15:35), yalin wang wrote: [..] > > - for (batch = tlb->local.next; batch; batch = next) { > - next = batch->next; > + for (batch = tlb->local.next; batch; batch = batch->next) > free_pages((unsigned long)batch, 0); accessing `batch->next' after calling free_pages() on `batch'? -ss -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mm: change tlb_finish_mmu() to be more simple
> On Nov 4, 2015, at 16:36, Sergey Senozhatsky >wrote: > > On (11/04/15 15:35), yalin wang wrote: > [..] >> >> -for (batch = tlb->local.next; batch; batch = next) { >> -next = batch->next; >> +for (batch = tlb->local.next; batch; batch = batch->next) >> free_pages((unsigned long)batch, 0); > > accessing `batch->next' after calling free_pages() on `batch'? > > -ss oh, my mistake, my code is buggy here . Thanks-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] mm: change tlb_finish_mmu() to be more simple
On Wed, Nov 04, 2015 at 03:35:31PM +0800, yalin wang wrote: > This patch remove unneeded *next temp variable, > make this function more simple to read. > > Signed-off-by: yalin wang> --- > mm/memory.c | 7 +++ > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/mm/memory.c b/mm/memory.c > index 7f3b9f2..f0040ed 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -270,17 +270,16 @@ void tlb_flush_mmu(struct mmu_gather *tlb) > */ > void tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned > long end) > { > - struct mmu_gather_batch *batch, *next; > + struct mmu_gather_batch *batch; > > tlb_flush_mmu(tlb); > > /* keep the page table cache within bounds */ > check_pgt_cache(); > > - for (batch = tlb->local.next; batch; batch = next) { > - next = batch->next; > + for (batch = tlb->local.next; batch; batch = batch->next) Use after free? No, thanks. > free_pages((unsigned long)batch, 0); > - } > + > tlb->local.next = NULL; > } > > -- > 1.9.1 > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majord...@kvack.org. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: mailto:"d...@kvack.org;> em...@kvack.org -- Kirill A. Shutemov -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/