On Mon, Sep 21, 2020 at 02:00:04AM +0000, Chen Jun wrote: > From: Wei Yongjun <weiyongjun1@xxxxxxxxxx> > > Objects marked with OBJECT_NO_SCAN are never scanned. > So there is no need to update checksum for them. > > Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx> > Signed-off-by: Chen Jun <chenjun102@xxxxxxxxxx> > --- > mm/kmemleak.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/mm/kmemleak.c b/mm/kmemleak.c > index b3f603fd9fc3..c09c6b59eda6 100644 > --- a/mm/kmemleak.c > +++ b/mm/kmemleak.c > @@ -1166,6 +1166,10 @@ static bool update_checksum(struct kmemleak_object *object) > { > u32 old_csum = object->checksum; > > + /* always return false for not scan object */ > + if (object->flags & OBJECT_NO_SCAN) > + return false; The reason for OBJECT_NO_SCAN is to avoid introducing more false negatives. The point of the checksum is to reduce the false positives - i.e. an object that is being modified between scans won't be considered a (transient) leak even if kmemleak couldn't find a reference pointer to it. So please drop this patch. -- Catalin