Subject: Re: [TEST] TCP MD5 vs kmemleak

From: Jakub Kicinski <[email-masked]>
Date: Tue, 18 Jun 2024 10:02:10 -0700

On Tue, 18 Jun 2024 09:42:35 -0700 Paul E. McKenney wrote:
> > FTR, with mptcp self-tests we hit a few kmemleak false positive on RCU
> > freed pointers, that where addressed by to this patch:
> > 
> > commit 5f98fd034ca6fd1ab8c91a3488968a0e9caaabf6
> > Author: Catalin Marinas <[email-masked]>
> > Date:   Sat Sep 30 17:46:56 2023 +0000
> > 
> >     rcu: kmemleak: Ignore kmemleak false positives when RCU-freeing objects
> > 
> > I'm wondering if this is hitting something similar? Possibly due to
> > lazy RCU callbacks invoked after MSECS_MIN_AGE???  

Dmitry mentioned this commit, too, but we use the same config for MPTCP
tests, and while we repro TCP AO failures quite frequently, mptcp
doesn't seem to have failed once.

> Fun!  ;-)
> 
> This commit handles memory passed to kfree_rcu() and friends, but
> not memory passed to call_rcu() and friends.  Of course, call_rcu()
> does not necessarily know the full extent of the memory passed to it,
> for example, if passed a linked list, call_rcu() will know only about
> the head of that list.
> 
> There are similar challenges with synchronize_rcu() and friends.

To be clear I think Dmitry was suspecting kfree_rcu(), he mentioned
call_rcu() as something he was expecting to have a similar issue but 
it in fact appeared immune.