Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp2785928ybg; Sat, 6 Jun 2020 01:19:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwKYDEtBEAjMnwyAcsLAp7xpbPzgSreu542Gg/bBvmDv6vZi83YlCC2zpqOkCBhsxfoExaM X-Received: by 2002:a17:906:4b50:: with SMTP id j16mr13299280ejv.415.1591431557983; Sat, 06 Jun 2020 01:19:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591431557; cv=none; d=google.com; s=arc-20160816; b=I54ejeSDqsJpG5Fn6ward/WkuWK67J1cMIMlomhsDwoEDQVCvEq5HJvqtN+fCVHSWD knoL4QmBehZURCrLq4ZurDPI7lSwRul8fLwt/7ve5eYoWH7+96sY6iwmhgmP2+lP3yuB LeODfSUgO48iP9KAB8reoBIRfPLuPrxjRMsGEStZG/Tb+y55VwDYD75wDS0JJVwhYHw1 razKwLxrtcd2F4/Lp7yF/zRemfZudAeDKd1HNv3zgwP49n4CR53LcSKKsx8Q6ezRbruz nAs1sGmnOa4GQyIoT0oV0/V91YR2U9A0cn5GZafuAyS4EGK/eMjnYzDufvXC9bDBqxTz 1/4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=nJIkzBFp3jolPribOX9+t8JaXypRg31tcRmLDyM7kqU=; b=vdd7r+moopvwWs3HfFlYHG+5lEKQ9X7yl4IgOFDh3tOdZux39NxAX9oBoOO/3aM3w+ BzCbz3gmpv3Bf23VdmfLc+StdKjaw2sNjuj8CTxBRPGQuwDm+cP5xqCJ8VBJUnXvfi6/ EaxddcHEg/M8esnFapfbGaIh7f0sS8z+wAIwC5u3UPxjq/S1RYma+fx4ZUl5Sbsc7/zR X5IA0A+zJBQESe2XLcSZHXoJWy+0koEb3LyGjEpg5biIEGsU2clQGshAhGQYLCAR4qbi JUciMnflxXY+N7w+/YCLxCmOtZ9v6zs89mbkcGmDDSV/DEgUZCTnQpz40bSyOmkffdbl ERtQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h27si5162491ejs.754.2020.06.06.01.18.44; Sat, 06 Jun 2020 01:19:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728638AbgFFIQk (ORCPT + 99 others); Sat, 6 Jun 2020 04:16:40 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:22401 "EHLO mail3-relais-sop.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725283AbgFFIQi (ORCPT ); Sat, 6 Jun 2020 04:16:38 -0400 X-IronPort-AV: E=Sophos;i="5.73,479,1583190000"; d="scan'208";a="350759538" Received: from abo-173-121-68.mrs.modulonet.fr (HELO hadrien) ([85.68.121.173]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jun 2020 10:16:36 +0200 Date: Sat, 6 Jun 2020 10:16:35 +0200 (CEST) From: Julia Lawall X-X-Sender: jll@hadrien To: Denis Efremov cc: Joe Perches , cocci@systeme.lip6.fr, linux-kernel@vger.kernel.org Subject: Re: [Cocci] [PATCH v2] coccinelle: api: add kzfree script In-Reply-To: <378e709b-695a-be84-f4b3-f25dfcdc6ec7@linux.com> Message-ID: References: <20200604140805.111613-1-efremov@linux.com> <20200604204846.15897-1-efremov@linux.com> <378e709b-695a-be84-f4b3-f25dfcdc6ec7@linux.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 5 Jun 2020, Denis Efremov wrote: > It looks like a good idea to add type cast, like: > > +// Ignore kzfree definition > +// Ignore kasan test > +@r depends on !patch && !(file in "lib/test_kasan.c") && !(file in "mm/slab_common.c") forall@ > +expression *E; > +position p; > +type T; > +@@ > + > +* \(memset\|memset_explicit\)((T)E, 0, ...); > + ... when != E > + when strict > +* \(kfree\|vfree\|kvfree\)(E)@p; > + > > and to exclude file "mm/util.c" because it will contain the definition of > kvfree_sensitive(). > > I will wait for your recommendation about commented lines and will send v3 after. Instead of the file in things, maybe it would be simpler to say: position p : script:ocaml() { not (List.mem (List.hd p).current_element ["kzfree";"..."]) }; Or: @initialize:ocaml@ @@ let relevant p = not (List.mem (List.hd p).current_element ["kzfree";"..."]) and then position p : script:ocaml() { relevant p }; Or the python counterpart. It's true that the script is probably not relevant to those files at all, but listing the specific functions would avoid the need for the comments and make the issue more clear. It's just a suggestion. If you prefer the file in solution, that's ok too. julia