Message ID | 20241227092311.3572500-1-guoweikang.kernel@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm/kmemleak: Fix percpu memory leak detection failure | expand |
On Fri, Dec 27, 2024 at 10:23 AM Guo Weikang <guoweikang.kernel@gmail.com> wrote: > > kmemleak_alloc_percpu gives an incorrect min_count parameter, causing > percpu memory to be considered a gray object. > > Fixes: 8c8685928910 ("mm/kmemleak: use IS_ERR_PCPU() for pointer in the percpu address space") > > Signed-off-by: Guo Weikang <guoweikang.kernel@gmail.com> I don't know how 1 turned to 0, the change was definitely unintended. Acked-by: Uros Bizjak <ubizjak@gmail.com> Thanks, Uros. > --- > mm/kmemleak.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/kmemleak.c b/mm/kmemleak.c > index 238ab733fbea..982bb5ef3233 100644 > --- a/mm/kmemleak.c > +++ b/mm/kmemleak.c > @@ -1093,7 +1093,7 @@ void __ref kmemleak_alloc_percpu(const void __percpu *ptr, size_t size, > pr_debug("%s(0x%px, %zu)\n", __func__, ptr, size); > > if (kmemleak_enabled && ptr && !IS_ERR_PCPU(ptr)) > - create_object_percpu((__force unsigned long)ptr, size, 0, gfp); > + create_object_percpu((__force unsigned long)ptr, size, 1, gfp); > } > EXPORT_SYMBOL_GPL(kmemleak_alloc_percpu); > > -- > 2.25.1 >
On Fri, Dec 27, 2024 at 11:37 AM Uros Bizjak <ubizjak@gmail.com> wrote: > > On Fri, Dec 27, 2024 at 10:23 AM Guo Weikang > <guoweikang.kernel@gmail.com> wrote: > > > > kmemleak_alloc_percpu gives an incorrect min_count parameter, causing > > percpu memory to be considered a gray object. > > > > Fixes: 8c8685928910 ("mm/kmemleak: use IS_ERR_PCPU() for pointer in the percpu address space") > > > > Signed-off-by: Guo Weikang <guoweikang.kernel@gmail.com> > > I don't know how 1 turned to 0, the change was definitely unintended. Looking at the original patch at [1], it looks like a mismerge to me. [1] https://lore.kernel.org/all/20240818210235.33481-2-ubizjak@gmail.com/T/#u Uros.
diff --git a/mm/kmemleak.c b/mm/kmemleak.c index 238ab733fbea..982bb5ef3233 100644 --- a/mm/kmemleak.c +++ b/mm/kmemleak.c @@ -1093,7 +1093,7 @@ void __ref kmemleak_alloc_percpu(const void __percpu *ptr, size_t size, pr_debug("%s(0x%px, %zu)\n", __func__, ptr, size); if (kmemleak_enabled && ptr && !IS_ERR_PCPU(ptr)) - create_object_percpu((__force unsigned long)ptr, size, 0, gfp); + create_object_percpu((__force unsigned long)ptr, size, 1, gfp); } EXPORT_SYMBOL_GPL(kmemleak_alloc_percpu);
kmemleak_alloc_percpu gives an incorrect min_count parameter, causing percpu memory to be considered a gray object. Fixes: 8c8685928910 ("mm/kmemleak: use IS_ERR_PCPU() for pointer in the percpu address space") Signed-off-by: Guo Weikang <guoweikang.kernel@gmail.com> --- mm/kmemleak.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)