~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/coccinelle/api/alloc/zalloc-simple.cocci

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /scripts/coccinelle/api/alloc/zalloc-simple.cocci (Version linux-6.12-rc7) and /scripts/coccinelle/api/alloc/zalloc-simple.cocci (Version linux-2.6.32.71)


  1 // SPDX-License-Identifier: GPL-2.0-only          
  2 ///                                               
  3 /// Use zeroing allocator rather than allocato    
  4 ///                                               
  5 /// This considers some simple cases that are     
  6 /// Note in particular that there are no ...s     
  7 /// matched code has to be contiguous             
  8 ///                                               
  9 // Confidence: High                               
 10 // Copyright: (C) 2009-2010 Julia Lawall, Nico    
 11 // Copyright: (C) 2009-2010 Gilles Muller, INR    
 12 // Copyright: (C) 2017 Himanshu Jha               
 13 // URL: https://coccinelle.gitlabpages.inria.f    
 14 // Options: --no-includes --include-headers       
 15 //                                                
 16 // Keywords: kmalloc, kzalloc                     
 17 // Version min: < 2.6.12 kmalloc                  
 18 // Version min:   2.6.14 kzalloc                  
 19 //                                                
 20                                                   
 21 virtual context                                   
 22 virtual patch                                     
 23 virtual org                                       
 24 virtual report                                    
 25                                                   
 26 //--------------------------------------------    
 27 //  For context mode                              
 28 //--------------------------------------------    
 29                                                   
 30 @depends on context@                              
 31 type T, T2;                                       
 32 expression x;                                     
 33 expression E1;                                    
 34 statement S;                                      
 35 @@                                                
 36                                                   
 37 * x = (T)\(kmalloc(E1, ...)\|vmalloc(E1)\|dma_    
 38   kmalloc_node(E1, ...)\|kmem_cache_alloc(...)    
 39   devm_kmalloc(...,E1,...)\|kvmalloc(E1, ...)\    
 40   if ((x==NULL) || ...) S                         
 41 * memset((T2)x,0,E1);                             
 42                                                   
 43 //--------------------------------------------    
 44 //  For patch mode                                
 45 //--------------------------------------------    
 46                                                   
 47 @depends on patch@                                
 48 type T, T2;                                       
 49 expression x;                                     
 50 expression E1,E2,E3,E4;                           
 51 statement S;                                      
 52 @@                                                
 53                                                   
 54 (                                                 
 55 - x = kmalloc(E1,E2);                             
 56 + x = kzalloc(E1,E2);                             
 57 |                                                 
 58 - x = (T *)kmalloc(E1,E2);                        
 59 + x = kzalloc(E1,E2);                             
 60 |                                                 
 61 - x = (T)kmalloc(E1,E2);                          
 62 + x = (T)kzalloc(E1,E2);                          
 63 |                                                 
 64 - x = vmalloc(E1);                                
 65 + x = vzalloc(E1);                                
 66 |                                                 
 67 - x = (T *)vmalloc(E1);                           
 68 + x = vzalloc(E1);                                
 69 |                                                 
 70 - x = (T)vmalloc(E1);                             
 71 + x = (T)vzalloc(E1);                             
 72 |                                                 
 73 - x = kmalloc_node(E1,E2,E3);                     
 74 + x = kzalloc_node(E1,E2,E3);                     
 75 |                                                 
 76 - x = (T *)kmalloc_node(E1,E2,E3);                
 77 + x = kzalloc_node(E1,E2,E3);                     
 78 |                                                 
 79 - x = (T)kmalloc_node(E1,E2,E3);                  
 80 + x = (T)kzalloc_node(E1,E2,E3);                  
 81 |                                                 
 82 - x = kmem_cache_alloc(E3,E4);                    
 83 + x = kmem_cache_zalloc(E3,E4);                   
 84 |                                                 
 85 - x = (T *)kmem_cache_alloc(E3,E4);               
 86 + x = kmem_cache_zalloc(E3,E4);                   
 87 |                                                 
 88 - x = (T)kmem_cache_alloc(E3,E4);                 
 89 + x = (T)kmem_cache_zalloc(E3,E4);                
 90 |                                                 
 91 - x = kmem_alloc(E1,E2);                          
 92 + x = kmem_zalloc(E1,E2);                         
 93 |                                                 
 94 - x = (T *)kmem_alloc(E1,E2);                     
 95 + x = kmem_zalloc(E1,E2);                         
 96 |                                                 
 97 - x = (T)kmem_alloc(E1,E2);                       
 98 + x = (T)kmem_zalloc(E1,E2);                      
 99 |                                                 
100 - x = devm_kmalloc(E2,E1,E3);                     
101 + x = devm_kzalloc(E2,E1,E3);                     
102 |                                                 
103 - x = (T *)devm_kmalloc(E2,E1,E3);                
104 + x = devm_kzalloc(E2,E1,E3);                     
105 |                                                 
106 - x = (T)devm_kmalloc(E2,E1,E3);                  
107 + x = (T)devm_kzalloc(E2,E1,E3);                  
108 |                                                 
109 - x = kvmalloc(E1,E2);                            
110 + x = kvzalloc(E1,E2);                            
111 |                                                 
112 - x = (T *)kvmalloc(E1,E2);                       
113 + x = kvzalloc(E1,E2);                            
114 |                                                 
115 - x = (T)kvmalloc(E1,E2);                         
116 + x = (T)kvzalloc(E1,E2);                         
117 |                                                 
118 - x = kvmalloc_node(E1,E2,E3);                    
119 + x = kvzalloc_node(E1,E2,E3);                    
120 |                                                 
121 - x = (T *)kvmalloc_node(E1,E2,E3);               
122 + x = kvzalloc_node(E1,E2,E3);                    
123 |                                                 
124 - x = (T)kvmalloc_node(E1,E2,E3);                 
125 + x = (T)kvzalloc_node(E1,E2,E3);                 
126 )                                                 
127   if ((x==NULL) || ...) S                         
128 - memset((T2)x,0,E1);                             
129                                                   
130 @depends on patch@                                
131 type T, T2;                                       
132 expression x;                                     
133 expression E1,E2,E3,E4;                           
134 statement S;                                      
135 @@                                                
136   x = (T)dma_alloc_coherent(E1, E2, E3, E4);      
137   if ((x==NULL) || ...) S                         
138 - memset((T2)x, 0, E2);                           
139                                                   
140 //--------------------------------------------    
141 //  For org mode                                  
142 //--------------------------------------------    
143                                                   
144 @r depends on org || report@                      
145 type T, T2;                                       
146 expression x;                                     
147 expression E1,E2;                                 
148 statement S;                                      
149 position p;                                       
150 @@                                                
151                                                   
152  x = (T)kmalloc@p(E1,E2);                         
153  if ((x==NULL) || ...) S                          
154  memset((T2)x,0,E1);                              
155                                                   
156 @script:python depends on org@                    
157 p << r.p;                                         
158 x << r.x;                                         
159 @@                                                
160                                                   
161 msg="%s" % (x)                                    
162 msg_safe=msg.replace("[","@(").replace("]",")"    
163 coccilib.org.print_todo(p[0], msg_safe)           
164                                                   
165 @script:python depends on report@                 
166 p << r.p;                                         
167 x << r.x;                                         
168 @@                                                
169                                                   
170 msg="WARNING: kzalloc should be used for %s, i    
171 coccilib.report.print_report(p[0], msg)           
172                                                   
173 //--------------------------------------------    
174 @r1 depends on org || report@                     
175 type T, T2;                                       
176 expression x;                                     
177 expression E1;                                    
178 statement S;                                      
179 position p;                                       
180 @@                                                
181                                                   
182  x = (T)vmalloc@p(E1);                            
183  if ((x==NULL) || ...) S                          
184  memset((T2)x,0,E1);                              
185                                                   
186 @script:python depends on org@                    
187 p << r1.p;                                        
188 x << r1.x;                                        
189 @@                                                
190                                                   
191 msg="%s" % (x)                                    
192 msg_safe=msg.replace("[","@(").replace("]",")"    
193 coccilib.org.print_todo(p[0], msg_safe)           
194                                                   
195 @script:python depends on report@                 
196 p << r1.p;                                        
197 x << r1.x;                                        
198 @@                                                
199                                                   
200 msg="WARNING: vzalloc should be used for %s, i    
201 coccilib.report.print_report(p[0], msg)           
202                                                   
203 //--------------------------------------------    
204 @r2 depends on org || report@                     
205 type T, T2;                                       
206 expression x;                                     
207 expression E1,E2,E3,E4;                           
208 statement S;                                      
209 position p;                                       
210 @@                                                
211                                                   
212  x = (T)dma_alloc_coherent@p(E1,E2,E3,E4);        
213  if ((x==NULL) || ...) S                          
214  memset((T2)x,0,E2);                              
215                                                   
216 @script:python depends on org@                    
217 p << r2.p;                                        
218 x << r2.x;                                        
219 @@                                                
220                                                   
221 msg="%s" % (x)                                    
222 msg_safe=msg.replace("[","@(").replace("]",")"    
223 coccilib.org.print_todo(p[0], msg_safe)           
224                                                   
225 @script:python depends on report@                 
226 p << r2.p;                                        
227 x << r2.x;                                        
228 @@                                                
229                                                   
230 msg="WARNING: dma_alloc_coherent used in %s al    
231 coccilib.report.print_report(p[0], msg)           
232                                                   
233 //--------------------------------------------    
234 @r3 depends on org || report@                     
235 type T, T2;                                       
236 expression x;                                     
237 expression E1,E2,E3;                              
238 statement S;                                      
239 position p;                                       
240 @@                                                
241                                                   
242  x = (T)kmalloc_node@p(E1,E2,E3);                 
243  if ((x==NULL) || ...) S                          
244  memset((T2)x,0,E1);                              
245                                                   
246 @script:python depends on org@                    
247 p << r3.p;                                        
248 x << r3.x;                                        
249 @@                                                
250                                                   
251 msg="%s" % (x)                                    
252 msg_safe=msg.replace("[","@(").replace("]",")"    
253 coccilib.org.print_todo(p[0], msg_safe)           
254                                                   
255 @script:python depends on report@                 
256 p << r3.p;                                        
257 x << r3.x;                                        
258 @@                                                
259                                                   
260 msg="WARNING: kzalloc_node should be used for     
261 coccilib.report.print_report(p[0], msg)           
262                                                   
263 //--------------------------------------------    
264 @r4 depends on org || report@                     
265 type T, T2;                                       
266 expression x;                                     
267 expression E1,E2,E3;                              
268 statement S;                                      
269 position p;                                       
270 @@                                                
271                                                   
272  x = (T)kmem_cache_alloc@p(E2,E3);                
273  if ((x==NULL) || ...) S                          
274  memset((T2)x,0,E1);                              
275                                                   
276 @script:python depends on org@                    
277 p << r4.p;                                        
278 x << r4.x;                                        
279 @@                                                
280                                                   
281 msg="%s" % (x)                                    
282 msg_safe=msg.replace("[","@(").replace("]",")"    
283 coccilib.org.print_todo(p[0], msg_safe)           
284                                                   
285 @script:python depends on report@                 
286 p << r4.p;                                        
287 x << r4.x;                                        
288 @@                                                
289                                                   
290 msg="WARNING: kmem_cache_zalloc should be used    
291 coccilib.report.print_report(p[0], msg)           
292                                                   
293 //--------------------------------------------    
294 @r5 depends on org || report@                     
295 type T, T2;                                       
296 expression x;                                     
297 expression E1,E2;                                 
298 statement S;                                      
299 position p;                                       
300 @@                                                
301                                                   
302  x = (T)kmem_alloc@p(E1,E2);                      
303  if ((x==NULL) || ...) S                          
304  memset((T2)x,0,E1);                              
305                                                   
306 @script:python depends on org@                    
307 p << r5.p;                                        
308 x << r5.x;                                        
309 @@                                                
310                                                   
311 msg="%s" % (x)                                    
312 msg_safe=msg.replace("[","@(").replace("]",")"    
313 coccilib.org.print_todo(p[0], msg_safe)           
314                                                   
315 @script:python depends on report@                 
316 p << r5.p;                                        
317 x << r5.x;                                        
318 @@                                                
319                                                   
320 msg="WARNING: kmem_zalloc should be used for %    
321 coccilib.report.print_report(p[0], msg)           
322                                                   
323 //--------------------------------------------    
324 @r6 depends on org || report@                     
325 type T, T2;                                       
326 expression x;                                     
327 expression E1,E2,E3;                              
328 statement S;                                      
329 position p;                                       
330 @@                                                
331                                                   
332  x = (T)devm_kmalloc@p(E2,E1,E3);                 
333  if ((x==NULL) || ...) S                          
334  memset((T2)x,0,E1);                              
335                                                   
336 @script:python depends on org@                    
337 p << r6.p;                                        
338 x << r6.x;                                        
339 @@                                                
340                                                   
341 msg="%s" % (x)                                    
342 msg_safe=msg.replace("[","@(").replace("]",")"    
343 coccilib.org.print_todo(p[0], msg_safe)           
344                                                   
345 @script:python depends on report@                 
346 p << r6.p;                                        
347 x << r6.x;                                        
348 @@                                                
349                                                   
350 msg="WARNING: devm_kzalloc should be used for     
351 coccilib.report.print_report(p[0], msg)           
352                                                   
353 //--------------------------------------------    
354 @r7 depends on org || report@                     
355 type T, T2;                                       
356 expression x;                                     
357 expression E1,E2;                                 
358 statement S;                                      
359 position p;                                       
360 @@                                                
361                                                   
362  x = (T)kvmalloc@p(E1,E2);                        
363  if ((x==NULL) || ...) S                          
364  memset((T2)x,0,E1);                              
365                                                   
366 @script:python depends on org@                    
367 p << r7.p;                                        
368 x << r7.x;                                        
369 @@                                                
370                                                   
371 msg="%s" % (x)                                    
372 msg_safe=msg.replace("[","@(").replace("]",")"    
373 coccilib.org.print_todo(p[0], msg_safe)           
374                                                   
375 @script:python depends on report@                 
376 p << r7.p;                                        
377 x << r7.x;                                        
378 @@                                                
379                                                   
380 msg="WARNING: kvzalloc should be used for %s,     
381 coccilib.report.print_report(p[0], msg)           
382                                                   
383 //--------------------------------------------    
384 @r9 depends on org || report@                     
385 type T, T2;                                       
386 expression x;                                     
387 expression E1,E2,E3;                              
388 statement S;                                      
389 position p;                                       
390 @@                                                
391                                                   
392  x = (T)kvmalloc_node@p(E1,E2,E3);                
393  if ((x==NULL) || ...) S                          
394  memset((T2)x,0,E1);                              
395                                                   
396 @script:python depends on org@                    
397 p << r9.p;                                        
398 x << r9.x;                                        
399 @@                                                
400                                                   
401 msg="%s" % (x)                                    
402 msg_safe=msg.replace("[","@(").replace("]",")"    
403 coccilib.org.print_todo(p[0], msg_safe)           
404                                                   
405 @script:python depends on report@                 
406 p << r9.p;                                        
407 x << r9.x;                                        
408 @@                                                
409                                                   
410 msg="WARNING: kvzalloc_node should be used for    
411 coccilib.report.print_report(p[0], msg)           
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php