[PATCH] kmemleak: fix kmemleak false positive report with HW tag-based kasan enable
Andrew Morton
akpm at linux-foundation.org
Fri Nov 19 14:43:59 PST 2021
On Fri, 19 Nov 2021 23:12:55 +0800 Kuan-Ying Lee <Kuan-Ying.Lee at 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.
More information about the Linux-mediatek
mailing list