162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/// 362306a36Sopenharmony_ci/// Use zeroing allocator rather than allocator followed by memset with 0 462306a36Sopenharmony_ci/// 562306a36Sopenharmony_ci/// This considers some simple cases that are common and easy to validate 662306a36Sopenharmony_ci/// Note in particular that there are no ...s in the rule, so all of the 762306a36Sopenharmony_ci/// matched code has to be contiguous 862306a36Sopenharmony_ci/// 962306a36Sopenharmony_ci// Confidence: High 1062306a36Sopenharmony_ci// Copyright: (C) 2009-2010 Julia Lawall, Nicolas Palix, DIKU. 1162306a36Sopenharmony_ci// Copyright: (C) 2009-2010 Gilles Muller, INRIA/LiP6. 1262306a36Sopenharmony_ci// Copyright: (C) 2017 Himanshu Jha 1362306a36Sopenharmony_ci// URL: https://coccinelle.gitlabpages.inria.fr/website 1462306a36Sopenharmony_ci// Options: --no-includes --include-headers 1562306a36Sopenharmony_ci// 1662306a36Sopenharmony_ci// Keywords: kmalloc, kzalloc 1762306a36Sopenharmony_ci// Version min: < 2.6.12 kmalloc 1862306a36Sopenharmony_ci// Version min: 2.6.14 kzalloc 1962306a36Sopenharmony_ci// 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_civirtual context 2262306a36Sopenharmony_civirtual patch 2362306a36Sopenharmony_civirtual org 2462306a36Sopenharmony_civirtual report 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci//---------------------------------------------------------- 2762306a36Sopenharmony_ci// For context mode 2862306a36Sopenharmony_ci//---------------------------------------------------------- 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci@depends on context@ 3162306a36Sopenharmony_citype T, T2; 3262306a36Sopenharmony_ciexpression x; 3362306a36Sopenharmony_ciexpression E1; 3462306a36Sopenharmony_cistatement S; 3562306a36Sopenharmony_ci@@ 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci* x = (T)\(kmalloc(E1, ...)\|vmalloc(E1)\|dma_alloc_coherent(...,E1,...)\| 3862306a36Sopenharmony_ci kmalloc_node(E1, ...)\|kmem_cache_alloc(...)\|kmem_alloc(E1, ...)\| 3962306a36Sopenharmony_ci devm_kmalloc(...,E1,...)\|kvmalloc(E1, ...)\|kvmalloc_node(E1,...)\); 4062306a36Sopenharmony_ci if ((x==NULL) || ...) S 4162306a36Sopenharmony_ci* memset((T2)x,0,E1); 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci//---------------------------------------------------------- 4462306a36Sopenharmony_ci// For patch mode 4562306a36Sopenharmony_ci//---------------------------------------------------------- 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci@depends on patch@ 4862306a36Sopenharmony_citype T, T2; 4962306a36Sopenharmony_ciexpression x; 5062306a36Sopenharmony_ciexpression E1,E2,E3,E4; 5162306a36Sopenharmony_cistatement S; 5262306a36Sopenharmony_ci@@ 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci( 5562306a36Sopenharmony_ci- x = kmalloc(E1,E2); 5662306a36Sopenharmony_ci+ x = kzalloc(E1,E2); 5762306a36Sopenharmony_ci| 5862306a36Sopenharmony_ci- x = (T *)kmalloc(E1,E2); 5962306a36Sopenharmony_ci+ x = kzalloc(E1,E2); 6062306a36Sopenharmony_ci| 6162306a36Sopenharmony_ci- x = (T)kmalloc(E1,E2); 6262306a36Sopenharmony_ci+ x = (T)kzalloc(E1,E2); 6362306a36Sopenharmony_ci| 6462306a36Sopenharmony_ci- x = vmalloc(E1); 6562306a36Sopenharmony_ci+ x = vzalloc(E1); 6662306a36Sopenharmony_ci| 6762306a36Sopenharmony_ci- x = (T *)vmalloc(E1); 6862306a36Sopenharmony_ci+ x = vzalloc(E1); 6962306a36Sopenharmony_ci| 7062306a36Sopenharmony_ci- x = (T)vmalloc(E1); 7162306a36Sopenharmony_ci+ x = (T)vzalloc(E1); 7262306a36Sopenharmony_ci| 7362306a36Sopenharmony_ci- x = kmalloc_node(E1,E2,E3); 7462306a36Sopenharmony_ci+ x = kzalloc_node(E1,E2,E3); 7562306a36Sopenharmony_ci| 7662306a36Sopenharmony_ci- x = (T *)kmalloc_node(E1,E2,E3); 7762306a36Sopenharmony_ci+ x = kzalloc_node(E1,E2,E3); 7862306a36Sopenharmony_ci| 7962306a36Sopenharmony_ci- x = (T)kmalloc_node(E1,E2,E3); 8062306a36Sopenharmony_ci+ x = (T)kzalloc_node(E1,E2,E3); 8162306a36Sopenharmony_ci| 8262306a36Sopenharmony_ci- x = kmem_cache_alloc(E3,E4); 8362306a36Sopenharmony_ci+ x = kmem_cache_zalloc(E3,E4); 8462306a36Sopenharmony_ci| 8562306a36Sopenharmony_ci- x = (T *)kmem_cache_alloc(E3,E4); 8662306a36Sopenharmony_ci+ x = kmem_cache_zalloc(E3,E4); 8762306a36Sopenharmony_ci| 8862306a36Sopenharmony_ci- x = (T)kmem_cache_alloc(E3,E4); 8962306a36Sopenharmony_ci+ x = (T)kmem_cache_zalloc(E3,E4); 9062306a36Sopenharmony_ci| 9162306a36Sopenharmony_ci- x = kmem_alloc(E1,E2); 9262306a36Sopenharmony_ci+ x = kmem_zalloc(E1,E2); 9362306a36Sopenharmony_ci| 9462306a36Sopenharmony_ci- x = (T *)kmem_alloc(E1,E2); 9562306a36Sopenharmony_ci+ x = kmem_zalloc(E1,E2); 9662306a36Sopenharmony_ci| 9762306a36Sopenharmony_ci- x = (T)kmem_alloc(E1,E2); 9862306a36Sopenharmony_ci+ x = (T)kmem_zalloc(E1,E2); 9962306a36Sopenharmony_ci| 10062306a36Sopenharmony_ci- x = devm_kmalloc(E2,E1,E3); 10162306a36Sopenharmony_ci+ x = devm_kzalloc(E2,E1,E3); 10262306a36Sopenharmony_ci| 10362306a36Sopenharmony_ci- x = (T *)devm_kmalloc(E2,E1,E3); 10462306a36Sopenharmony_ci+ x = devm_kzalloc(E2,E1,E3); 10562306a36Sopenharmony_ci| 10662306a36Sopenharmony_ci- x = (T)devm_kmalloc(E2,E1,E3); 10762306a36Sopenharmony_ci+ x = (T)devm_kzalloc(E2,E1,E3); 10862306a36Sopenharmony_ci| 10962306a36Sopenharmony_ci- x = kvmalloc(E1,E2); 11062306a36Sopenharmony_ci+ x = kvzalloc(E1,E2); 11162306a36Sopenharmony_ci| 11262306a36Sopenharmony_ci- x = (T *)kvmalloc(E1,E2); 11362306a36Sopenharmony_ci+ x = kvzalloc(E1,E2); 11462306a36Sopenharmony_ci| 11562306a36Sopenharmony_ci- x = (T)kvmalloc(E1,E2); 11662306a36Sopenharmony_ci+ x = (T)kvzalloc(E1,E2); 11762306a36Sopenharmony_ci| 11862306a36Sopenharmony_ci- x = kvmalloc_node(E1,E2,E3); 11962306a36Sopenharmony_ci+ x = kvzalloc_node(E1,E2,E3); 12062306a36Sopenharmony_ci| 12162306a36Sopenharmony_ci- x = (T *)kvmalloc_node(E1,E2,E3); 12262306a36Sopenharmony_ci+ x = kvzalloc_node(E1,E2,E3); 12362306a36Sopenharmony_ci| 12462306a36Sopenharmony_ci- x = (T)kvmalloc_node(E1,E2,E3); 12562306a36Sopenharmony_ci+ x = (T)kvzalloc_node(E1,E2,E3); 12662306a36Sopenharmony_ci) 12762306a36Sopenharmony_ci if ((x==NULL) || ...) S 12862306a36Sopenharmony_ci- memset((T2)x,0,E1); 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci@depends on patch@ 13162306a36Sopenharmony_citype T, T2; 13262306a36Sopenharmony_ciexpression x; 13362306a36Sopenharmony_ciexpression E1,E2,E3,E4; 13462306a36Sopenharmony_cistatement S; 13562306a36Sopenharmony_ci@@ 13662306a36Sopenharmony_ci x = (T)dma_alloc_coherent(E1, E2, E3, E4); 13762306a36Sopenharmony_ci if ((x==NULL) || ...) S 13862306a36Sopenharmony_ci- memset((T2)x, 0, E2); 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci//---------------------------------------------------------- 14162306a36Sopenharmony_ci// For org mode 14262306a36Sopenharmony_ci//---------------------------------------------------------- 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci@r depends on org || report@ 14562306a36Sopenharmony_citype T, T2; 14662306a36Sopenharmony_ciexpression x; 14762306a36Sopenharmony_ciexpression E1,E2; 14862306a36Sopenharmony_cistatement S; 14962306a36Sopenharmony_ciposition p; 15062306a36Sopenharmony_ci@@ 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci x = (T)kmalloc@p(E1,E2); 15362306a36Sopenharmony_ci if ((x==NULL) || ...) S 15462306a36Sopenharmony_ci memset((T2)x,0,E1); 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci@script:python depends on org@ 15762306a36Sopenharmony_cip << r.p; 15862306a36Sopenharmony_cix << r.x; 15962306a36Sopenharmony_ci@@ 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_cimsg="%s" % (x) 16262306a36Sopenharmony_cimsg_safe=msg.replace("[","@(").replace("]",")") 16362306a36Sopenharmony_cicoccilib.org.print_todo(p[0], msg_safe) 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci@script:python depends on report@ 16662306a36Sopenharmony_cip << r.p; 16762306a36Sopenharmony_cix << r.x; 16862306a36Sopenharmony_ci@@ 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_cimsg="WARNING: kzalloc should be used for %s, instead of kmalloc/memset" % (x) 17162306a36Sopenharmony_cicoccilib.report.print_report(p[0], msg) 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci//----------------------------------------------------------------- 17462306a36Sopenharmony_ci@r1 depends on org || report@ 17562306a36Sopenharmony_citype T, T2; 17662306a36Sopenharmony_ciexpression x; 17762306a36Sopenharmony_ciexpression E1; 17862306a36Sopenharmony_cistatement S; 17962306a36Sopenharmony_ciposition p; 18062306a36Sopenharmony_ci@@ 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci x = (T)vmalloc@p(E1); 18362306a36Sopenharmony_ci if ((x==NULL) || ...) S 18462306a36Sopenharmony_ci memset((T2)x,0,E1); 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci@script:python depends on org@ 18762306a36Sopenharmony_cip << r1.p; 18862306a36Sopenharmony_cix << r1.x; 18962306a36Sopenharmony_ci@@ 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_cimsg="%s" % (x) 19262306a36Sopenharmony_cimsg_safe=msg.replace("[","@(").replace("]",")") 19362306a36Sopenharmony_cicoccilib.org.print_todo(p[0], msg_safe) 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci@script:python depends on report@ 19662306a36Sopenharmony_cip << r1.p; 19762306a36Sopenharmony_cix << r1.x; 19862306a36Sopenharmony_ci@@ 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_cimsg="WARNING: vzalloc should be used for %s, instead of vmalloc/memset" % (x) 20162306a36Sopenharmony_cicoccilib.report.print_report(p[0], msg) 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ci//----------------------------------------------------------------- 20462306a36Sopenharmony_ci@r2 depends on org || report@ 20562306a36Sopenharmony_citype T, T2; 20662306a36Sopenharmony_ciexpression x; 20762306a36Sopenharmony_ciexpression E1,E2,E3,E4; 20862306a36Sopenharmony_cistatement S; 20962306a36Sopenharmony_ciposition p; 21062306a36Sopenharmony_ci@@ 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci x = (T)dma_alloc_coherent@p(E1,E2,E3,E4); 21362306a36Sopenharmony_ci if ((x==NULL) || ...) S 21462306a36Sopenharmony_ci memset((T2)x,0,E2); 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci@script:python depends on org@ 21762306a36Sopenharmony_cip << r2.p; 21862306a36Sopenharmony_cix << r2.x; 21962306a36Sopenharmony_ci@@ 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_cimsg="%s" % (x) 22262306a36Sopenharmony_cimsg_safe=msg.replace("[","@(").replace("]",")") 22362306a36Sopenharmony_cicoccilib.org.print_todo(p[0], msg_safe) 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci@script:python depends on report@ 22662306a36Sopenharmony_cip << r2.p; 22762306a36Sopenharmony_cix << r2.x; 22862306a36Sopenharmony_ci@@ 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_cimsg="WARNING: dma_alloc_coherent used in %s already zeroes out memory, so memset is not needed" % (x) 23162306a36Sopenharmony_cicoccilib.report.print_report(p[0], msg) 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci//----------------------------------------------------------------- 23462306a36Sopenharmony_ci@r3 depends on org || report@ 23562306a36Sopenharmony_citype T, T2; 23662306a36Sopenharmony_ciexpression x; 23762306a36Sopenharmony_ciexpression E1,E2,E3; 23862306a36Sopenharmony_cistatement S; 23962306a36Sopenharmony_ciposition p; 24062306a36Sopenharmony_ci@@ 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci x = (T)kmalloc_node@p(E1,E2,E3); 24362306a36Sopenharmony_ci if ((x==NULL) || ...) S 24462306a36Sopenharmony_ci memset((T2)x,0,E1); 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci@script:python depends on org@ 24762306a36Sopenharmony_cip << r3.p; 24862306a36Sopenharmony_cix << r3.x; 24962306a36Sopenharmony_ci@@ 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_cimsg="%s" % (x) 25262306a36Sopenharmony_cimsg_safe=msg.replace("[","@(").replace("]",")") 25362306a36Sopenharmony_cicoccilib.org.print_todo(p[0], msg_safe) 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci@script:python depends on report@ 25662306a36Sopenharmony_cip << r3.p; 25762306a36Sopenharmony_cix << r3.x; 25862306a36Sopenharmony_ci@@ 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_cimsg="WARNING: kzalloc_node should be used for %s, instead of kmalloc_node/memset" % (x) 26162306a36Sopenharmony_cicoccilib.report.print_report(p[0], msg) 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ci//----------------------------------------------------------------- 26462306a36Sopenharmony_ci@r4 depends on org || report@ 26562306a36Sopenharmony_citype T, T2; 26662306a36Sopenharmony_ciexpression x; 26762306a36Sopenharmony_ciexpression E1,E2,E3; 26862306a36Sopenharmony_cistatement S; 26962306a36Sopenharmony_ciposition p; 27062306a36Sopenharmony_ci@@ 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci x = (T)kmem_cache_alloc@p(E2,E3); 27362306a36Sopenharmony_ci if ((x==NULL) || ...) S 27462306a36Sopenharmony_ci memset((T2)x,0,E1); 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci@script:python depends on org@ 27762306a36Sopenharmony_cip << r4.p; 27862306a36Sopenharmony_cix << r4.x; 27962306a36Sopenharmony_ci@@ 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_cimsg="%s" % (x) 28262306a36Sopenharmony_cimsg_safe=msg.replace("[","@(").replace("]",")") 28362306a36Sopenharmony_cicoccilib.org.print_todo(p[0], msg_safe) 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci@script:python depends on report@ 28662306a36Sopenharmony_cip << r4.p; 28762306a36Sopenharmony_cix << r4.x; 28862306a36Sopenharmony_ci@@ 28962306a36Sopenharmony_ci 29062306a36Sopenharmony_cimsg="WARNING: kmem_cache_zalloc should be used for %s, instead of kmem_cache_alloc/memset" % (x) 29162306a36Sopenharmony_cicoccilib.report.print_report(p[0], msg) 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci//----------------------------------------------------------------- 29462306a36Sopenharmony_ci@r5 depends on org || report@ 29562306a36Sopenharmony_citype T, T2; 29662306a36Sopenharmony_ciexpression x; 29762306a36Sopenharmony_ciexpression E1,E2; 29862306a36Sopenharmony_cistatement S; 29962306a36Sopenharmony_ciposition p; 30062306a36Sopenharmony_ci@@ 30162306a36Sopenharmony_ci 30262306a36Sopenharmony_ci x = (T)kmem_alloc@p(E1,E2); 30362306a36Sopenharmony_ci if ((x==NULL) || ...) S 30462306a36Sopenharmony_ci memset((T2)x,0,E1); 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ci@script:python depends on org@ 30762306a36Sopenharmony_cip << r5.p; 30862306a36Sopenharmony_cix << r5.x; 30962306a36Sopenharmony_ci@@ 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_cimsg="%s" % (x) 31262306a36Sopenharmony_cimsg_safe=msg.replace("[","@(").replace("]",")") 31362306a36Sopenharmony_cicoccilib.org.print_todo(p[0], msg_safe) 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ci@script:python depends on report@ 31662306a36Sopenharmony_cip << r5.p; 31762306a36Sopenharmony_cix << r5.x; 31862306a36Sopenharmony_ci@@ 31962306a36Sopenharmony_ci 32062306a36Sopenharmony_cimsg="WARNING: kmem_zalloc should be used for %s, instead of kmem_alloc/memset" % (x) 32162306a36Sopenharmony_cicoccilib.report.print_report(p[0], msg) 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ci//----------------------------------------------------------------- 32462306a36Sopenharmony_ci@r6 depends on org || report@ 32562306a36Sopenharmony_citype T, T2; 32662306a36Sopenharmony_ciexpression x; 32762306a36Sopenharmony_ciexpression E1,E2,E3; 32862306a36Sopenharmony_cistatement S; 32962306a36Sopenharmony_ciposition p; 33062306a36Sopenharmony_ci@@ 33162306a36Sopenharmony_ci 33262306a36Sopenharmony_ci x = (T)devm_kmalloc@p(E2,E1,E3); 33362306a36Sopenharmony_ci if ((x==NULL) || ...) S 33462306a36Sopenharmony_ci memset((T2)x,0,E1); 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ci@script:python depends on org@ 33762306a36Sopenharmony_cip << r6.p; 33862306a36Sopenharmony_cix << r6.x; 33962306a36Sopenharmony_ci@@ 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_cimsg="%s" % (x) 34262306a36Sopenharmony_cimsg_safe=msg.replace("[","@(").replace("]",")") 34362306a36Sopenharmony_cicoccilib.org.print_todo(p[0], msg_safe) 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ci@script:python depends on report@ 34662306a36Sopenharmony_cip << r6.p; 34762306a36Sopenharmony_cix << r6.x; 34862306a36Sopenharmony_ci@@ 34962306a36Sopenharmony_ci 35062306a36Sopenharmony_cimsg="WARNING: devm_kzalloc should be used for %s, instead of devm_kmalloc/memset" % (x) 35162306a36Sopenharmony_cicoccilib.report.print_report(p[0], msg) 35262306a36Sopenharmony_ci 35362306a36Sopenharmony_ci//----------------------------------------------------------------- 35462306a36Sopenharmony_ci@r7 depends on org || report@ 35562306a36Sopenharmony_citype T, T2; 35662306a36Sopenharmony_ciexpression x; 35762306a36Sopenharmony_ciexpression E1,E2; 35862306a36Sopenharmony_cistatement S; 35962306a36Sopenharmony_ciposition p; 36062306a36Sopenharmony_ci@@ 36162306a36Sopenharmony_ci 36262306a36Sopenharmony_ci x = (T)kvmalloc@p(E1,E2); 36362306a36Sopenharmony_ci if ((x==NULL) || ...) S 36462306a36Sopenharmony_ci memset((T2)x,0,E1); 36562306a36Sopenharmony_ci 36662306a36Sopenharmony_ci@script:python depends on org@ 36762306a36Sopenharmony_cip << r7.p; 36862306a36Sopenharmony_cix << r7.x; 36962306a36Sopenharmony_ci@@ 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_cimsg="%s" % (x) 37262306a36Sopenharmony_cimsg_safe=msg.replace("[","@(").replace("]",")") 37362306a36Sopenharmony_cicoccilib.org.print_todo(p[0], msg_safe) 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci@script:python depends on report@ 37662306a36Sopenharmony_cip << r7.p; 37762306a36Sopenharmony_cix << r7.x; 37862306a36Sopenharmony_ci@@ 37962306a36Sopenharmony_ci 38062306a36Sopenharmony_cimsg="WARNING: kvzalloc should be used for %s, instead of kvmalloc/memset" % (x) 38162306a36Sopenharmony_cicoccilib.report.print_report(p[0], msg) 38262306a36Sopenharmony_ci 38362306a36Sopenharmony_ci//----------------------------------------------------------------- 38462306a36Sopenharmony_ci@r9 depends on org || report@ 38562306a36Sopenharmony_citype T, T2; 38662306a36Sopenharmony_ciexpression x; 38762306a36Sopenharmony_ciexpression E1,E2,E3; 38862306a36Sopenharmony_cistatement S; 38962306a36Sopenharmony_ciposition p; 39062306a36Sopenharmony_ci@@ 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ci x = (T)kvmalloc_node@p(E1,E2,E3); 39362306a36Sopenharmony_ci if ((x==NULL) || ...) S 39462306a36Sopenharmony_ci memset((T2)x,0,E1); 39562306a36Sopenharmony_ci 39662306a36Sopenharmony_ci@script:python depends on org@ 39762306a36Sopenharmony_cip << r9.p; 39862306a36Sopenharmony_cix << r9.x; 39962306a36Sopenharmony_ci@@ 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_cimsg="%s" % (x) 40262306a36Sopenharmony_cimsg_safe=msg.replace("[","@(").replace("]",")") 40362306a36Sopenharmony_cicoccilib.org.print_todo(p[0], msg_safe) 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_ci@script:python depends on report@ 40662306a36Sopenharmony_cip << r9.p; 40762306a36Sopenharmony_cix << r9.x; 40862306a36Sopenharmony_ci@@ 40962306a36Sopenharmony_ci 41062306a36Sopenharmony_cimsg="WARNING: kvzalloc_node should be used for %s, instead of kvmalloc_node/memset" % (x) 41162306a36Sopenharmony_cicoccilib.report.print_report(p[0], msg) 412