From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2EA0C04AB4 for ; Mon, 13 May 2019 09:41:20 +0000 (UTC) Received: from isis.lip6.fr (isis.lip6.fr [132.227.60.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 68A292146F for ; Mon, 13 May 2019 09:41:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 68A292146F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lip6.fr Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=cocci-bounces@systeme.lip6.fr Received: from systeme.lip6.fr (systeme.lip6.fr [132.227.104.7]) by isis.lip6.fr (8.15.2/lip6) with ESMTP id x4D9f7XH007123 ; Mon, 13 May 2019 11:41:07 +0200 (CEST) Received: from systeme.lip6.fr (systeme.lip6.fr [127.0.0.1]) by systeme.lip6.fr (Postfix) with ESMTP id 77792773E; Mon, 13 May 2019 11:41:07 +0200 (CEST) Received: from isis.lip6.fr (isis.lip6.fr [132.227.60.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by systeme.lip6.fr (Postfix) with ESMTPS id B8583770C for ; Mon, 13 May 2019 11:41:05 +0200 (CEST) Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by isis.lip6.fr (8.15.2/lip6) with ESMTP id x4D9f5Th021318 for ; Mon, 13 May 2019 11:41:05 +0200 (CEST) X-pt: isis.lip6.fr X-Addr-Warning: ATTENTION - Votre correspondant a fourni une adresse d'enveloppe @lip6.fr, mais ce message ne provient pas de lip6.fr ! postmaster@lip6.fr. X-IronPort-AV: E=Sophos;i="5.60,465,1549926000"; d="scan'208";a="305790425" Received: from vaio-julia.rsr.lip6.fr ([132.227.76.33]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 May 2019 11:31:46 +0200 Date: Mon, 13 May 2019 11:31:42 +0200 (CEST) From: Julia Lawall X-X-Sender: jll@hadrien To: Markus Elfring In-Reply-To: <6f08d4d7-5ffc-11c0-8200-cade7d294de6@web.de> Message-ID: References: <1553321671-27749-1-git-send-email-wen.yang99@zte.com.cn> <6f08d4d7-5ffc-11c0-8200-cade7d294de6@web.de> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 X-Greylist: Sender IP whitelisted, Sender e-mail whitelisted, not delayed by milter-greylist-4.4.3 (isis.lip6.fr [132.227.60.2]); Mon, 13 May 2019 11:41:07 +0200 (CEST) X-Greylist: Delayed for 00:09:19 by milter-greylist-4.4.3 (isis.lip6.fr [132.227.60.2]); Mon, 13 May 2019 11:41:05 +0200 (CEST) X-Scanned-By: MIMEDefang 2.78 on 132.227.60.2 X-Scanned-By: MIMEDefang 2.78 on 132.227.60.2 Cc: Yi Wang , Michal Marek , Nicolas Palix , linux-kernel@vger.kernel.org, Wen Yang , cocci@systeme.lip6.fr Subject: Re: [Cocci] [PATCH 4/5] Coccinelle: put_device: Extend when constraints for two SmPL ellipses X-BeenThere: cocci@systeme.lip6.fr X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: cocci-bounces@systeme.lip6.fr Errors-To: cocci-bounces@systeme.lip6.fr On Mon, 13 May 2019, Markus Elfring wrote: > From: Markus Elfring > Date: Mon, 13 May 2019 09:47:17 +0200 > > A SmPL ellipsis was specified for a search approach so that additional > source code would be tolerated between an assignment to a local variable > and the corresponding null pointer check. > > But such code should be restricted. > * The local variable must not be reassigned there. > * It must also not be forwarded to an other assignment target. > > Take additional casts for these code exclusion specifications into account > together with optional parentheses. NACK. You don't need so many type metavariables. Type metavariables in the same ... can be the same. julia > > Link: https://lore.kernel.org/cocci/201902191014156680299@zte.com.cn/ > Link: https://systeme.lip6.fr/pipermail/cocci/2019-February/005620.html > Fixes: da9cfb87a44da61f2403c4312916befcb6b6d7e8 ("coccinelle: semantic code search for missing put_device()") > Signed-off-by: Markus Elfring > --- > scripts/coccinelle/free/put_device.cocci | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/scripts/coccinelle/free/put_device.cocci b/scripts/coccinelle/free/put_device.cocci > index aae79c02c1e0..28b0be53fb3f 100644 > --- a/scripts/coccinelle/free/put_device.cocci > +++ b/scripts/coccinelle/free/put_device.cocci > @@ -13,13 +13,15 @@ virtual org > local idexpression id; > expression x,e,e1; > position p1,p2; > -type T,T1,T2,T3; > +type T,T1,T2,T3,T4,T5,T6; > @@ > > id = of_find_device_by_node@p1(x) > -... when != e = id > + ... when != e = (T4)(id) > + when != id = (T5)(e) > if (id == NULL || ...) { ... return ...; } > ... when != put_device(&id->dev) > + when != id = (T6)(e) > when != platform_device_put(id) > when != of_dev_put(id) > when != if (id) { ... put_device(&id->dev) ... } > -- > 2.21.0 > > _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci