diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-08 20:52:23 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-08 20:52:23 -0400 |
| commit | f6f7a6369203fa3e07efb7f35cfd81efe9f25b07 (patch) | |
| tree | 97bec9ddd999040822acf314647eaf4208213589 /scripts | |
| parent | 839fe9156fbe89c3157aa6146d22090f8cffddd8 (diff) | |
| parent | df69f52d990bd85159727bd26e819d3a6e49c666 (diff) | |
Merge branch 'akpm' (patches from Andrew)
Merge second patch-bomb from Andrew Morton:
"Almost all of the rest of MM. There was an unusually large amount of
MM material this time"
* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (141 commits)
zpool: remove no-op module init/exit
mm: zbud: constify the zbud_ops
mm: zpool: constify the zpool_ops
mm: swap: zswap: maybe_preload & refactoring
zram: unify error reporting
zsmalloc: remove null check from destroy_handle_cache()
zsmalloc: do not take class lock in zs_shrinker_count()
zsmalloc: use class->pages_per_zspage
zsmalloc: consider ZS_ALMOST_FULL as migrate source
zsmalloc: partial page ordering within a fullness_list
zsmalloc: use shrinker to trigger auto-compaction
zsmalloc: account the number of compacted pages
zsmalloc/zram: introduce zs_pool_stats api
zsmalloc: cosmetic compaction code adjustments
zsmalloc: introduce zs_can_compact() function
zsmalloc: always keep per-class stats
zsmalloc: drop unused variable `nr_to_migrate'
mm/memblock.c: fix comment in __next_mem_range()
mm/page_alloc.c: fix type information of memoryless node
memory-hotplug: fix comments in zone_spanned_pages_in_node() and zone_spanned_pages_in_node()
...
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/coccinelle/api/alloc/pool_zalloc-simple.cocci | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/scripts/coccinelle/api/alloc/pool_zalloc-simple.cocci b/scripts/coccinelle/api/alloc/pool_zalloc-simple.cocci new file mode 100644 index 000000000000..9b7eb321a025 --- /dev/null +++ b/scripts/coccinelle/api/alloc/pool_zalloc-simple.cocci | |||
| @@ -0,0 +1,84 @@ | |||
| 1 | /// | ||
| 2 | /// Use *_pool_zalloc rather than *_pool_alloc followed by memset with 0 | ||
| 3 | /// | ||
| 4 | // Copyright: (C) 2015 Intel Corp. GPLv2. | ||
| 5 | // Options: --no-includes --include-headers | ||
| 6 | // | ||
| 7 | // Keywords: dma_pool_zalloc, pci_pool_zalloc | ||
| 8 | // | ||
| 9 | |||
| 10 | virtual context | ||
| 11 | virtual patch | ||
| 12 | virtual org | ||
| 13 | virtual report | ||
| 14 | |||
| 15 | //---------------------------------------------------------- | ||
| 16 | // For context mode | ||
| 17 | //---------------------------------------------------------- | ||
| 18 | |||
| 19 | @depends on context@ | ||
| 20 | expression x; | ||
| 21 | statement S; | ||
| 22 | @@ | ||
| 23 | |||
| 24 | * x = \(dma_pool_alloc\|pci_pool_alloc\)(...); | ||
| 25 | if ((x==NULL) || ...) S | ||
| 26 | * memset(x,0, ...); | ||
| 27 | |||
| 28 | //---------------------------------------------------------- | ||
| 29 | // For patch mode | ||
| 30 | //---------------------------------------------------------- | ||
| 31 | |||
| 32 | @depends on patch@ | ||
| 33 | expression x; | ||
| 34 | expression a,b,c; | ||
| 35 | statement S; | ||
| 36 | @@ | ||
| 37 | |||
| 38 | - x = dma_pool_alloc(a,b,c); | ||
| 39 | + x = dma_pool_zalloc(a,b,c); | ||
| 40 | if ((x==NULL) || ...) S | ||
| 41 | - memset(x,0,...); | ||
| 42 | |||
| 43 | @depends on patch@ | ||
| 44 | expression x; | ||
| 45 | expression a,b,c; | ||
| 46 | statement S; | ||
| 47 | @@ | ||
| 48 | |||
| 49 | - x = pci_pool_alloc(a,b,c); | ||
| 50 | + x = pci_pool_zalloc(a,b,c); | ||
| 51 | if ((x==NULL) || ...) S | ||
| 52 | - memset(x,0,...); | ||
| 53 | |||
| 54 | //---------------------------------------------------------- | ||
| 55 | // For org and report mode | ||
| 56 | //---------------------------------------------------------- | ||
| 57 | |||
| 58 | @r depends on org || report@ | ||
| 59 | expression x; | ||
| 60 | expression a,b,c; | ||
| 61 | statement S; | ||
| 62 | position p; | ||
| 63 | @@ | ||
| 64 | |||
| 65 | x = @p\(dma_pool_alloc\|pci_pool_alloc\)(a,b,c); | ||
| 66 | if ((x==NULL) || ...) S | ||
| 67 | memset(x,0, ...); | ||
| 68 | |||
| 69 | @script:python depends on org@ | ||
| 70 | p << r.p; | ||
| 71 | x << r.x; | ||
| 72 | @@ | ||
| 73 | |||
| 74 | msg="%s" % (x) | ||
| 75 | msg_safe=msg.replace("[","@(").replace("]",")") | ||
| 76 | coccilib.org.print_todo(p[0], msg_safe) | ||
| 77 | |||
| 78 | @script:python depends on report@ | ||
| 79 | p << r.p; | ||
| 80 | x << r.x; | ||
| 81 | @@ | ||
| 82 | |||
| 83 | msg="WARNING: *_pool_zalloc should be used for %s, instead of *_pool_alloc/memset" % (x) | ||
| 84 | coccilib.report.print_report(p[0], msg) | ||
