xref: /xnu-10002.81.5/tools/cocci/zalloc-nofail.cocci (revision 5e3eaea39dcf651e66cb99ba7d70e32cc4a99587)
1// To apply, at the top of xnu.git:
2// $ spatch --max-width=80 --use-gitgrep --in-place --include-headers --sp-file tools/cocci/zalloc.cocci -dir .
3//
4// This might need to be run several times
5
6@ using "zalloc.iso" @
7expression E, F;
8type T;
9identifier V;
10identifier NI =~ "_NULL$";
11@@
12(
13
14(
15  E = zalloc_flags(F, \(Z_NOFAIL\|Z_NOFAIL | ...\));
16|
17  E = kalloc_type(F, \(Z_NOFAIL\|Z_NOFAIL | ...\));
18|
19  E = \(kalloc_data\|kalloc_flags\)(F, \(Z_NOFAIL\|Z_NOFAIL | ...\));
20|
21- E = zalloc(F);
22+ E = zalloc_flags(F, Z_WAITOK | Z_NOFAIL);
23|
24  E = zalloc_flags(F, \(Z_WAITOK\| Z_WAITOK | ...\)
25+ | Z_NOFAIL
26  );
27|
28  E = kalloc_type(T, \(Z_WAITOK\| Z_WAITOK | ...\)
29+ | Z_NOFAIL
30  );
31|
32  E = \(kalloc_data\|kalloc_flags\)(sizeof(F), \(Z_WAITOK\| Z_WAITOK | ...\)
33+ | Z_NOFAIL
34  );
35|
36- E = kalloc(sizeof(F));
37+ E = kalloc_flags(sizeof(F), Z_WAITOK | Z_NOFAIL);
38)
39  ...
40(
41- if (\(E\|E != 0\|E != NULL\|E != NI\)) {
42  ...
43- }
44|
45- if (\(!E\|E == 0\|E == NULL\|E == NI\)) {
46- ...
47- }
48|
49- assert(\(E\|E != 0\|E != NULL\|E != NI\));
50)
51
52|
53
54(
55  T V = zalloc_flags(F, \(Z_NOFAIL\|Z_NOFAIL | ...\));
56|
57  T V = kalloc_type(T, \(Z_NOFAIL\|Z_NOFAIL | ...\));
58|
59  T V = \(kalloc_data\|kalloc_flags\)(F, \(Z_NOFAIL\|Z_NOFAIL | ...\));
60|
61- T V = kalloc(sizeof(F));
62+ T V = kalloc_flags(sizeof(F), Z_WAITOK | Z_NOFAIL);
63|
64  T V = kalloc_type(T, \(Z_WAITOK\| Z_WAITOK | ...\)
65+ | Z_NOFAIL
66  );
67|
68  T V = \(kalloc_data\|kalloc_flags\)(sizeof(F), \(Z_WAITOK\| Z_WAITOK | ...\)
69+ | Z_NOFAIL
70  );
71)
72  ...
73(
74- if (\(V\|V != 0\|V != NULL\|V != NI\)) {
75  ...
76- }
77|
78- if (\(!V\|V == 0\|V == NULL\|V == NI\)) {
79- ...
80- }
81|
82- assert(\(V\|V != 0\|V != NULL\|V != NI\));
83)
84
85)
86
87// vim:ft=diff:
88