1*7f904d7eSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only 21fc524d7SSean O. Stalley/// 31fc524d7SSean O. Stalley/// Use *_pool_zalloc rather than *_pool_alloc followed by memset with 0 41fc524d7SSean O. Stalley/// 5*7f904d7eSThomas Gleixner// Copyright: (C) 2015 Intel Corp. 61fc524d7SSean O. Stalley// Options: --no-includes --include-headers 71fc524d7SSean O. Stalley// 81fc524d7SSean O. Stalley// Keywords: dma_pool_zalloc, pci_pool_zalloc 91fc524d7SSean O. Stalley// 101fc524d7SSean O. Stalley 111fc524d7SSean O. Stalleyvirtual context 121fc524d7SSean O. Stalleyvirtual patch 131fc524d7SSean O. Stalleyvirtual org 141fc524d7SSean O. Stalleyvirtual report 151fc524d7SSean O. Stalley 161fc524d7SSean O. Stalley//---------------------------------------------------------- 171fc524d7SSean O. Stalley// For context mode 181fc524d7SSean O. Stalley//---------------------------------------------------------- 191fc524d7SSean O. Stalley 201fc524d7SSean O. Stalley@depends on context@ 211fc524d7SSean O. Stalleyexpression x; 221fc524d7SSean O. Stalleystatement S; 231fc524d7SSean O. Stalley@@ 241fc524d7SSean O. Stalley 251fc524d7SSean O. Stalley* x = \(dma_pool_alloc\|pci_pool_alloc\)(...); 261fc524d7SSean O. Stalley if ((x==NULL) || ...) S 271fc524d7SSean O. Stalley* memset(x,0, ...); 281fc524d7SSean O. Stalley 291fc524d7SSean O. Stalley//---------------------------------------------------------- 301fc524d7SSean O. Stalley// For patch mode 311fc524d7SSean O. Stalley//---------------------------------------------------------- 321fc524d7SSean O. Stalley 331fc524d7SSean O. Stalley@depends on patch@ 341fc524d7SSean O. Stalleyexpression x; 351fc524d7SSean O. Stalleyexpression a,b,c; 361fc524d7SSean O. Stalleystatement S; 371fc524d7SSean O. Stalley@@ 381fc524d7SSean O. Stalley 391fc524d7SSean O. Stalley- x = dma_pool_alloc(a,b,c); 401fc524d7SSean O. Stalley+ x = dma_pool_zalloc(a,b,c); 411fc524d7SSean O. Stalley if ((x==NULL) || ...) S 421fc524d7SSean O. Stalley- memset(x,0,...); 431fc524d7SSean O. Stalley 441fc524d7SSean O. Stalley@depends on patch@ 451fc524d7SSean O. Stalleyexpression x; 461fc524d7SSean O. Stalleyexpression a,b,c; 471fc524d7SSean O. Stalleystatement S; 481fc524d7SSean O. Stalley@@ 491fc524d7SSean O. Stalley 501fc524d7SSean O. Stalley- x = pci_pool_alloc(a,b,c); 511fc524d7SSean O. Stalley+ x = pci_pool_zalloc(a,b,c); 521fc524d7SSean O. Stalley if ((x==NULL) || ...) S 531fc524d7SSean O. Stalley- memset(x,0,...); 541fc524d7SSean O. Stalley 551fc524d7SSean O. Stalley//---------------------------------------------------------- 561fc524d7SSean O. Stalley// For org and report mode 571fc524d7SSean O. Stalley//---------------------------------------------------------- 581fc524d7SSean O. Stalley 591fc524d7SSean O. Stalley@r depends on org || report@ 601fc524d7SSean O. Stalleyexpression x; 611fc524d7SSean O. Stalleyexpression a,b,c; 621fc524d7SSean O. Stalleystatement S; 631fc524d7SSean O. Stalleyposition p; 641fc524d7SSean O. Stalley@@ 651fc524d7SSean O. Stalley 661fc524d7SSean O. Stalley x = @p\(dma_pool_alloc\|pci_pool_alloc\)(a,b,c); 671fc524d7SSean O. Stalley if ((x==NULL) || ...) S 681fc524d7SSean O. Stalley memset(x,0, ...); 691fc524d7SSean O. Stalley 701fc524d7SSean O. Stalley@script:python depends on org@ 711fc524d7SSean O. Stalleyp << r.p; 721fc524d7SSean O. Stalleyx << r.x; 731fc524d7SSean O. Stalley@@ 741fc524d7SSean O. Stalley 751fc524d7SSean O. Stalleymsg="%s" % (x) 761fc524d7SSean O. Stalleymsg_safe=msg.replace("[","@(").replace("]",")") 771fc524d7SSean O. Stalleycoccilib.org.print_todo(p[0], msg_safe) 781fc524d7SSean O. Stalley 791fc524d7SSean O. Stalley@script:python depends on report@ 801fc524d7SSean O. Stalleyp << r.p; 811fc524d7SSean O. Stalleyx << r.x; 821fc524d7SSean O. Stalley@@ 831fc524d7SSean O. Stalley 841fc524d7SSean O. Stalleymsg="WARNING: *_pool_zalloc should be used for %s, instead of *_pool_alloc/memset" % (x) 851fc524d7SSean O. Stalleycoccilib.report.print_report(p[0], msg) 86