On 9/4/19 4:06 PM, Walter Wu wrote: > On Wed, 2019-09-04 at 14:49 +0200, Vlastimil Babka wrote: >> On 9/4/19 8:51 AM, Walter Wu wrote: >> > This patch is KASAN report adds the alloc/free stacks for page allocator >> > in order to help programmer to see memory corruption caused by page. >> > >> > By default, KASAN doesn't record alloc/free stack for page allocator. >> > It is difficult to fix up page use-after-free issue. >> > >> > This feature depends on page owner to record the last stack of pages. >> > It is very helpful for solving the page use-after-free or out-of-bound. >> > >> > KASAN report will show the last stack of page, it may be: >> > a) If page is in-use state, then it prints alloc stack. >> > It is useful to fix up page out-of-bound issue. >> >> I expect this will conflict both in syntax and semantics with my series [1] that >> adds the freeing stack to page_owner when used together with debug_pagealloc, >> and it's now in mmotm. Glad others see the need as well :) Perhaps you could >> review the series, see if it fulfils your usecase (AFAICS the series should be a >> superset, by storing both stacks at once), and perhaps either make KASAN enable >> debug_pagealloc, or turn KASAN into an alternative enabler of the functionality >> there? >> >> Thanks, Vlastimil >> >> [1] https://lore.kernel.org/linux-mm/20190820131828.22684-1-vbabka@xxxxxxx/t/#u >> > Thanks your information. > We focus on the smartphone, so it doesn't enable > CONFIG_TRANSPARENT_HUGEPAGE, Is it invalid for our usecase? The THP fix is not required for the rest of the series, it was even merged to mainline separately. > And It looks like something is different, because we only need last > stack of page, so it can decrease memory overhead. That would save you depot_stack_handle_t (which is u32) per page. I guess that's nothing compared to KASAN overhead? > I will try to enable debug_pagealloc(with your patch) and KASAN, then we > see the result. Thanks. > Thanks. > Walter >