Messages in this thread | | | Date | Fri, 19 Nov 2021 14:43:59 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] kmemleak: fix kmemleak false positive report with HW tag-based kasan enable |
| |
On Fri, 19 Nov 2021 23:12:55 +0800 Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com> wrote:
> > > > Call sequence: > > > > ptr = kmalloc(size, GFP_KERNEL); > > > > page = virt_to_page(ptr); > > > > kfree(page_address(page)); > > > > ptr = kmalloc(size, GFP_KERNEL); > > > > How is this call sequence valid? page_address returns the address of > > the start of the page, while kmalloced object could have been located > > in the middle of it. > > Thanks for pointing out. I miss the offset. > > It should be listed as below. > > ptr = kmalloc(size, GFP_KERNEL); > page = virt_to_page(ptr); > offset = offset_in_page(ptr); > kfree(page_address(page) + offset); > ptr = kmalloc(size, GFP_KERNEL);
I updated the changelog to reflect this.
| |