From: Markus Elfring <Markus.Elfring@web.de> To: Julia Lawall <julia.lawall@lip6.fr>, Wen Yang <yellowriver2010@hotmail.com> Cc: Michal Marek <michal.lkml@markovi.net>, kernel-janitors@vger.kernel.org, Nicolas Palix <nicolas.palix@imag.fr>, LKML <linux-kernel@vger.kernel.org>, Coccinelle <cocci@systeme.lip6.fr>, Cheng Shengyu <cheng.shengyu@zte.com.cn>, Wen Yang <wen.yang99@zte.com.cn> Subject: Re: [Cocci] [v6] coccinelle: semantic code search for missing put_device() Date: Sun, 17 Feb 2019 14:14:38 +0100 Message-ID: <52c07e7c-eec7-792b-0b03-b5cb46ddeab3@web.de> (raw) In-Reply-To: <alpine.DEB.2.21.1902171350500.2444@hadrien> >> … >> +@search exists@ >> +local idexpression id; >> +expression x,e,e1; >> +position p1,p2; >> … >> +@@ >> + >> +id = of_find_device_by_node@p1(x) >> +... when != e = id >> … >> >> Or: >> >> … >> + ... when != id = e >> … >> >> >> Which SmPL specification will achieve the desired software behaviour? > > The desired behavior is to check whether the allocated value is saved in > some other variable (typically a structure field) and thus it doesn't need > to be freed just because the original local variable goes out of scope at > the end of the function. I find this description reasonable to some degree. (I am unsure if a programmer would like to fiddle with return value storage in a data structure member from a local variable.) > when != e = id achieves this behavior. I can not agree to this view completely because of the meaning that is connected with these variable identifiers. Both metavariables share the kind “expression”. So I can imagine that there is an intersection for the source code match possibility. But one was intentionally restricted to the kind “local idexpression” so far. Which data element should not get reassigned here (before a corresponding null pointer check)? Regards, Markus _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci
next prev parent reply index Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-02-16 16:05 [Cocci] [PATCH v6] " Wen Yang 2019-02-16 16:33 ` Julia Lawall 2019-02-16 18:39 ` [Cocci] [v6] " Markus Elfring 2019-02-17 2:32 ` [Cocci] 答复: " Wen Yang 2019-02-17 7:42 ` Markus Elfring 2019-02-17 9:50 ` [Cocci] [PATCH v6] " Markus Elfring 2019-02-17 11:37 ` Julia Lawall 2019-02-17 11:42 ` Markus Elfring 2019-02-17 11:48 ` Julia Lawall 2019-02-17 12:00 ` [Cocci] [v6] " Markus Elfring 2019-02-17 12:05 ` Julia Lawall 2019-02-17 12:20 ` Markus Elfring 2019-02-17 12:52 ` Julia Lawall 2019-02-17 13:14 ` Markus Elfring [this message] 2019-02-18 3:22 ` wen.yang99 2019-02-18 6:43 ` Julia Lawall 2019-02-18 8:19 ` Markus Elfring 2019-02-19 2:14 ` wen.yang99 2019-02-19 7:04 ` Julia Lawall 2019-02-19 8:12 ` Markus Elfring 2019-02-19 8:29 ` Markus Elfring 2019-02-19 9:09 ` wen.yang99 2019-02-19 9:30 ` Markus Elfring 2019-03-06 11:18 ` Markus Elfring 2019-02-18 21:40 ` Markus Elfring
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=52c07e7c-eec7-792b-0b03-b5cb46ddeab3@web.de \ --to=markus.elfring@web.de \ --cc=cheng.shengyu@zte.com.cn \ --cc=cocci@systeme.lip6.fr \ --cc=julia.lawall@lip6.fr \ --cc=kernel-janitors@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=michal.lkml@markovi.net \ --cc=nicolas.palix@imag.fr \ --cc=wen.yang99@zte.com.cn \ --cc=yellowriver2010@hotmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Coccinelle Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/cocci/0 cocci/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 cocci cocci/ https://lore.kernel.org/cocci \ cocci@systeme.lip6.fr public-inbox-index cocci Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/fr.lip6.systeme.cocci AGPL code for this site: git clone https://public-inbox.org/public-inbox.git