Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6fbd8569 authored by zhong jiang's avatar zhong jiang Committed by Masahiro Yamada
Browse files

Coccinelle: remove pci_alloc_consistent semantic to detect in zalloc-simple.cocci



Because pci_alloc_consistent has been deprecated. We prefer to use
dma_alloc_coherent directly. Therefore, we should remove pci_alloc_consistent
to increase the confidence.

Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
Acked-by: default avatarHimanshu Jha <himanshujha199640@gmail.com>
Signed-off-by: default avatarzhong jiang <zhongjiang@huawei.com>
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent f55f2328
Loading
Loading
Loading
Loading
+1 −40
Original line number Diff line number Diff line
@@ -35,8 +35,7 @@ statement S;

* x = (T)\(kmalloc(E1, ...)\|vmalloc(E1)\|dma_alloc_coherent(...,E1,...)\|
  kmalloc_node(E1, ...)\|kmem_cache_alloc(...)\|kmem_alloc(E1, ...)\|
  devm_kmalloc(...,E1,...)\|kvmalloc(E1, ...)\|pci_alloc_consistent(...,E1,...)\|
  kvmalloc_node(E1,...)\);
  devm_kmalloc(...,E1,...)\|kvmalloc(E1, ...)\|kvmalloc_node(E1,...)\);
  if ((x==NULL) || ...) S
* memset((T2)x,0,E1);

@@ -124,15 +123,6 @@ statement S;
- x = (T)kvmalloc(E1,E2);
+ x = (T)kvzalloc(E1,E2);
|
- x = pci_alloc_consistent(E2,E1,E3);
+ x = pci_zalloc_consistent(E2,E1,E3);
|
- x = (T *)pci_alloc_consistent(E2,E1,E3);
+ x = pci_zalloc_consistent(E2,E1,E3);
|
- x = (T)pci_alloc_consistent(E2,E1,E3);
+ x = (T)pci_zalloc_consistent(E2,E1,E3);
|
- x = kvmalloc_node(E1,E2,E3);
+ x = kvzalloc_node(E1,E2,E3);
|
@@ -388,35 +378,6 @@ x << r7.x;
msg="WARNING: kvzalloc should be used for %s, instead of kvmalloc/memset" % (x)
coccilib.report.print_report(p[0], msg)

//-----------------------------------------------------------------
@r8 depends on org || report@
type T, T2;
expression x;
expression E1,E2,E3;
statement S;
position p;
@@

 x = (T)pci_alloc_consistent@p(E2,E1,E3);
 if ((x==NULL) || ...) S
 memset((T2)x,0,E1);

@script:python depends on org@
p << r8.p;
x << r8.x;
@@

msg="%s" % (x)
msg_safe=msg.replace("[","@(").replace("]",")")
coccilib.org.print_todo(p[0], msg_safe)

@script:python depends on report@
p << r8.p;
x << r8.x;
@@

msg="WARNING: pci_zalloc_consistent should be used for %s, instead of pci_alloc_consistent/memset" % (x)
coccilib.report.print_report(p[0], msg)
//-----------------------------------------------------------------
@r9 depends on org || report@
type T, T2;