lkml.org 
[lkml]   [2010]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/7] Add scripts/coccinelle/alloc/drop_kmalloc_cast.cocci
    Date
    The purpose of this semantic patch is to remove
    useless casts, as mentioned in the Linux documentation.
    See Chapter 14 in Documentation/CodingStyle for more information.

    Signed-off-by: Nicolas Palix <npalix@diku.dk>
    Signed-off-by: Julia Lawall <julia@diku.dk>
    ---
    scripts/coccinelle/alloc/drop_kmalloc_cast.cocci | 67 ++++++++++++++++++++++
    1 files changed, 67 insertions(+), 0 deletions(-)
    create mode 100644 scripts/coccinelle/alloc/drop_kmalloc_cast.cocci

    diff --git a/scripts/coccinelle/alloc/drop_kmalloc_cast.cocci b/scripts/coccinelle/alloc/drop_kmalloc_cast.cocci
    new file mode 100644
    index 0000000..7d4771d
    --- /dev/null
    +++ b/scripts/coccinelle/alloc/drop_kmalloc_cast.cocci
    @@ -0,0 +1,67 @@
    +///
    +/// Casting (void *) value returned by kmalloc is useless
    +/// as mentioned in Documentation/CodingStyle, Chap 14.
    +///
    +// Confidence: High
    +// Copyright: 2009,2010 Nicolas Palix, DIKU. GPLv2.
    +// URL: http://coccinelle.lip6.fr/
    +// Options: -no_includes -include_headers
    +//
    +// Keywords: kmalloc, kzalloc, kcalloc
    +// Version min: < 2.6.12 kmalloc
    +// Version min: < 2.6.12 kcalloc
    +// Version min: 2.6.14 kzalloc
    +//
    +
    +virtual context
    +virtual patch
    +virtual org
    +virtual report
    +
    +//----------------------------------------------------------
    +// For context mode
    +//----------------------------------------------------------
    +
    +@depends on context@
    +type T;
    +@@
    +
    +* (T *)
    + \(kmalloc\|kzalloc\|kcalloc\)(...)
    +
    +//----------------------------------------------------------
    +// For patch mode
    +//----------------------------------------------------------
    +
    +@depends on patch@
    +type T;
    +@@
    +
    +- (T *)
    + \(kmalloc\|kzalloc\|kcalloc\)(...)
    +
    +//----------------------------------------------------------
    +// For org and report mode
    +//----------------------------------------------------------
    +
    +@r depends on org || report@
    +type T;
    +position p;
    +@@
    +
    + (T@p *)\(kmalloc\|kzalloc\|kcalloc\)(...)
    +
    +@script:python depends on org@
    +p << r.p;
    +t << r.T;
    +@@
    +
    +coccilib.org.print_safe_todo(p[0], t)
    +
    +@script:python depends on report@
    +p << r.p;
    +t << r.T;
    +@@
    +
    +msg="WARNING: casting value returned by k[cmz]alloc to (%s *) is useless." % (t)
    +coccilib.report.print_report(p[0], msg)
    --
    1.7.0.4


    \
     
     \ /
      Last update: 2010-06-06 17:19    [W:0.027 / U:90.956 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site