Re: [PATCH -next 2/5] mm/kmemleak: skip update_checksum for OBJECT_NO_SCAN objects

From: Catalin Marinas
Date: Tue Sep 22 2020 - 05:03:54 EST


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