Coccinelle archive on lore.kernel.org
 help / color / Atom feed
* [Cocci] Coccinelle: zalloc-simple: Checking data processing for a bigger SmPL disjunction
@ 2019-11-04 13:34 Markus Elfring
  2019-11-04 13:37 ` Julia Lawall
  0 siblings, 1 reply; 3+ messages in thread
From: Markus Elfring @ 2019-11-04 13:34 UTC (permalink / raw)
  To: Coccinelle

Hello,

I have tried the following small script variant out for
the semantic patch language.

@adjustment@
type T, T2;
expression x,E1,E2,E3,E4;
statement S;
@@
(
- x = kmalloc(E1,E2);
+ x = kzalloc(E1,E2);
|
 x = (T)dma_alloc_coherent(E2,E1,E3,E4);
)
  if ((x==NULL) || ...) S
- memset((T2)x,0,E1);


It can generate an usable diff hunk.

elfring@Sonne:~/Projekte/Linux/next-patched> spatch scripts/coccinelle/api/alloc/zalloc-simple-x.cocci drivers/scsi/pmcraid.c


But I would like to add the last case distinction also to a similar
disjunction in the known (and discussed) SmPL script version.
I observe that the expected diff hunk is not provided then.
How would you like to fix this software situation?

Regards,
Markus
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-04 13:34 [Cocci] Coccinelle: zalloc-simple: Checking data processing for a bigger SmPL disjunction Markus Elfring
2019-11-04 13:37 ` Julia Lawall
2019-11-04 13:45   ` Markus Elfring

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