diff options
-rw-r--r-- | include/linux/bootmem.h | 16 | ||||
-rw-r--r-- | include/linux/device.h | 12 | ||||
-rw-r--r-- | include/linux/kernel.h | 4 | ||||
-rw-r--r-- | include/linux/mempool.h | 3 | ||||
-rw-r--r-- | include/linux/slab.h | 16 | ||||
-rw-r--r-- | include/linux/string.h | 2 |
6 files changed, 27 insertions, 26 deletions
diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h index 35b22f94d2d2..f9be32691718 100644 --- a/include/linux/bootmem.h +++ b/include/linux/bootmem.h | |||
@@ -83,34 +83,34 @@ extern void *__alloc_bootmem(unsigned long size, | |||
83 | unsigned long goal); | 83 | unsigned long goal); |
84 | extern void *__alloc_bootmem_nopanic(unsigned long size, | 84 | extern void *__alloc_bootmem_nopanic(unsigned long size, |
85 | unsigned long align, | 85 | unsigned long align, |
86 | unsigned long goal); | 86 | unsigned long goal) __malloc; |
87 | extern void *__alloc_bootmem_node(pg_data_t *pgdat, | 87 | extern void *__alloc_bootmem_node(pg_data_t *pgdat, |
88 | unsigned long size, | 88 | unsigned long size, |
89 | unsigned long align, | 89 | unsigned long align, |
90 | unsigned long goal); | 90 | unsigned long goal) __malloc; |
91 | void *__alloc_bootmem_node_high(pg_data_t *pgdat, | 91 | void *__alloc_bootmem_node_high(pg_data_t *pgdat, |
92 | unsigned long size, | 92 | unsigned long size, |
93 | unsigned long align, | 93 | unsigned long align, |
94 | unsigned long goal); | 94 | unsigned long goal) __malloc; |
95 | extern void *__alloc_bootmem_node_nopanic(pg_data_t *pgdat, | 95 | extern void *__alloc_bootmem_node_nopanic(pg_data_t *pgdat, |
96 | unsigned long size, | 96 | unsigned long size, |
97 | unsigned long align, | 97 | unsigned long align, |
98 | unsigned long goal); | 98 | unsigned long goal) __malloc; |
99 | void *___alloc_bootmem_node_nopanic(pg_data_t *pgdat, | 99 | void *___alloc_bootmem_node_nopanic(pg_data_t *pgdat, |
100 | unsigned long size, | 100 | unsigned long size, |
101 | unsigned long align, | 101 | unsigned long align, |
102 | unsigned long goal, | 102 | unsigned long goal, |
103 | unsigned long limit); | 103 | unsigned long limit) __malloc; |
104 | extern void *__alloc_bootmem_low(unsigned long size, | 104 | extern void *__alloc_bootmem_low(unsigned long size, |
105 | unsigned long align, | 105 | unsigned long align, |
106 | unsigned long goal); | 106 | unsigned long goal) __malloc; |
107 | void *__alloc_bootmem_low_nopanic(unsigned long size, | 107 | void *__alloc_bootmem_low_nopanic(unsigned long size, |
108 | unsigned long align, | 108 | unsigned long align, |
109 | unsigned long goal); | 109 | unsigned long goal) __malloc; |
110 | extern void *__alloc_bootmem_low_node(pg_data_t *pgdat, | 110 | extern void *__alloc_bootmem_low_node(pg_data_t *pgdat, |
111 | unsigned long size, | 111 | unsigned long size, |
112 | unsigned long align, | 112 | unsigned long align, |
113 | unsigned long goal); | 113 | unsigned long goal) __malloc; |
114 | 114 | ||
115 | #ifdef CONFIG_NO_BOOTMEM | 115 | #ifdef CONFIG_NO_BOOTMEM |
116 | /* We are using top down, so it is safe to use 0 here */ | 116 | /* We are using top down, so it is safe to use 0 here */ |
diff --git a/include/linux/device.h b/include/linux/device.h index b130304f9b1b..ca90ad8bcd61 100644 --- a/include/linux/device.h +++ b/include/linux/device.h | |||
@@ -609,14 +609,14 @@ typedef int (*dr_match_t)(struct device *dev, void *res, void *match_data); | |||
609 | 609 | ||
610 | #ifdef CONFIG_DEBUG_DEVRES | 610 | #ifdef CONFIG_DEBUG_DEVRES |
611 | extern void *__devres_alloc_node(dr_release_t release, size_t size, gfp_t gfp, | 611 | extern void *__devres_alloc_node(dr_release_t release, size_t size, gfp_t gfp, |
612 | int nid, const char *name); | 612 | int nid, const char *name) __malloc; |
613 | #define devres_alloc(release, size, gfp) \ | 613 | #define devres_alloc(release, size, gfp) \ |
614 | __devres_alloc_node(release, size, gfp, NUMA_NO_NODE, #release) | 614 | __devres_alloc_node(release, size, gfp, NUMA_NO_NODE, #release) |
615 | #define devres_alloc_node(release, size, gfp, nid) \ | 615 | #define devres_alloc_node(release, size, gfp, nid) \ |
616 | __devres_alloc_node(release, size, gfp, nid, #release) | 616 | __devres_alloc_node(release, size, gfp, nid, #release) |
617 | #else | 617 | #else |
618 | extern void *devres_alloc_node(dr_release_t release, size_t size, gfp_t gfp, | 618 | extern void *devres_alloc_node(dr_release_t release, size_t size, gfp_t gfp, |
619 | int nid); | 619 | int nid) __malloc; |
620 | static inline void *devres_alloc(dr_release_t release, size_t size, gfp_t gfp) | 620 | static inline void *devres_alloc(dr_release_t release, size_t size, gfp_t gfp) |
621 | { | 621 | { |
622 | return devres_alloc_node(release, size, gfp, NUMA_NO_NODE); | 622 | return devres_alloc_node(release, size, gfp, NUMA_NO_NODE); |
@@ -648,12 +648,12 @@ extern void devres_remove_group(struct device *dev, void *id); | |||
648 | extern int devres_release_group(struct device *dev, void *id); | 648 | extern int devres_release_group(struct device *dev, void *id); |
649 | 649 | ||
650 | /* managed devm_k.alloc/kfree for device drivers */ | 650 | /* managed devm_k.alloc/kfree for device drivers */ |
651 | extern void *devm_kmalloc(struct device *dev, size_t size, gfp_t gfp); | 651 | extern void *devm_kmalloc(struct device *dev, size_t size, gfp_t gfp) __malloc; |
652 | extern __printf(3, 0) | 652 | extern __printf(3, 0) |
653 | char *devm_kvasprintf(struct device *dev, gfp_t gfp, const char *fmt, | 653 | char *devm_kvasprintf(struct device *dev, gfp_t gfp, const char *fmt, |
654 | va_list ap); | 654 | va_list ap) __malloc; |
655 | extern __printf(3, 4) | 655 | extern __printf(3, 4) |
656 | char *devm_kasprintf(struct device *dev, gfp_t gfp, const char *fmt, ...); | 656 | char *devm_kasprintf(struct device *dev, gfp_t gfp, const char *fmt, ...) __malloc; |
657 | static inline void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp) | 657 | static inline void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp) |
658 | { | 658 | { |
659 | return devm_kmalloc(dev, size, gfp | __GFP_ZERO); | 659 | return devm_kmalloc(dev, size, gfp | __GFP_ZERO); |
@@ -671,7 +671,7 @@ static inline void *devm_kcalloc(struct device *dev, | |||
671 | return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO); | 671 | return devm_kmalloc_array(dev, n, size, flags | __GFP_ZERO); |
672 | } | 672 | } |
673 | extern void devm_kfree(struct device *dev, void *p); | 673 | extern void devm_kfree(struct device *dev, void *p); |
674 | extern char *devm_kstrdup(struct device *dev, const char *s, gfp_t gfp); | 674 | extern char *devm_kstrdup(struct device *dev, const char *s, gfp_t gfp) __malloc; |
675 | extern void *devm_kmemdup(struct device *dev, const void *src, size_t len, | 675 | extern void *devm_kmemdup(struct device *dev, const void *src, size_t len, |
676 | gfp_t gfp); | 676 | gfp_t gfp); |
677 | 677 | ||
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 2f7775e229b0..cc7398287fdd 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -412,9 +412,9 @@ extern __printf(3, 4) | |||
412 | int scnprintf(char *buf, size_t size, const char *fmt, ...); | 412 | int scnprintf(char *buf, size_t size, const char *fmt, ...); |
413 | extern __printf(3, 0) | 413 | extern __printf(3, 0) |
414 | int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); | 414 | int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); |
415 | extern __printf(2, 3) | 415 | extern __printf(2, 3) __malloc |
416 | char *kasprintf(gfp_t gfp, const char *fmt, ...); | 416 | char *kasprintf(gfp_t gfp, const char *fmt, ...); |
417 | extern __printf(2, 0) | 417 | extern __printf(2, 0) __malloc |
418 | char *kvasprintf(gfp_t gfp, const char *fmt, va_list args); | 418 | char *kvasprintf(gfp_t gfp, const char *fmt, va_list args); |
419 | extern __printf(2, 0) | 419 | extern __printf(2, 0) |
420 | const char *kvasprintf_const(gfp_t gfp, const char *fmt, va_list args); | 420 | const char *kvasprintf_const(gfp_t gfp, const char *fmt, va_list args); |
diff --git a/include/linux/mempool.h b/include/linux/mempool.h index 69b6951e8fd2..b1086c936507 100644 --- a/include/linux/mempool.h +++ b/include/linux/mempool.h | |||
@@ -5,6 +5,7 @@ | |||
5 | #define _LINUX_MEMPOOL_H | 5 | #define _LINUX_MEMPOOL_H |
6 | 6 | ||
7 | #include <linux/wait.h> | 7 | #include <linux/wait.h> |
8 | #include <linux/compiler.h> | ||
8 | 9 | ||
9 | struct kmem_cache; | 10 | struct kmem_cache; |
10 | 11 | ||
@@ -31,7 +32,7 @@ extern mempool_t *mempool_create_node(int min_nr, mempool_alloc_t *alloc_fn, | |||
31 | 32 | ||
32 | extern int mempool_resize(mempool_t *pool, int new_min_nr); | 33 | extern int mempool_resize(mempool_t *pool, int new_min_nr); |
33 | extern void mempool_destroy(mempool_t *pool); | 34 | extern void mempool_destroy(mempool_t *pool); |
34 | extern void * mempool_alloc(mempool_t *pool, gfp_t gfp_mask); | 35 | extern void *mempool_alloc(mempool_t *pool, gfp_t gfp_mask) __malloc; |
35 | extern void mempool_free(void *element, mempool_t *pool); | 36 | extern void mempool_free(void *element, mempool_t *pool); |
36 | 37 | ||
37 | /* | 38 | /* |
diff --git a/include/linux/slab.h b/include/linux/slab.h index 508bd827e6dc..aeb3e6d00a66 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h | |||
@@ -315,8 +315,8 @@ static __always_inline int kmalloc_index(size_t size) | |||
315 | } | 315 | } |
316 | #endif /* !CONFIG_SLOB */ | 316 | #endif /* !CONFIG_SLOB */ |
317 | 317 | ||
318 | void *__kmalloc(size_t size, gfp_t flags) __assume_kmalloc_alignment; | 318 | void *__kmalloc(size_t size, gfp_t flags) __assume_kmalloc_alignment __malloc; |
319 | void *kmem_cache_alloc(struct kmem_cache *, gfp_t flags) __assume_slab_alignment; | 319 | void *kmem_cache_alloc(struct kmem_cache *, gfp_t flags) __assume_slab_alignment __malloc; |
320 | void kmem_cache_free(struct kmem_cache *, void *); | 320 | void kmem_cache_free(struct kmem_cache *, void *); |
321 | 321 | ||
322 | /* | 322 | /* |
@@ -339,8 +339,8 @@ static __always_inline void kfree_bulk(size_t size, void **p) | |||
339 | } | 339 | } |
340 | 340 | ||
341 | #ifdef CONFIG_NUMA | 341 | #ifdef CONFIG_NUMA |
342 | void *__kmalloc_node(size_t size, gfp_t flags, int node) __assume_kmalloc_alignment; | 342 | void *__kmalloc_node(size_t size, gfp_t flags, int node) __assume_kmalloc_alignment __malloc; |
343 | void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node) __assume_slab_alignment; | 343 | void *kmem_cache_alloc_node(struct kmem_cache *, gfp_t flags, int node) __assume_slab_alignment __malloc; |
344 | #else | 344 | #else |
345 | static __always_inline void *__kmalloc_node(size_t size, gfp_t flags, int node) | 345 | static __always_inline void *__kmalloc_node(size_t size, gfp_t flags, int node) |
346 | { | 346 | { |
@@ -354,12 +354,12 @@ static __always_inline void *kmem_cache_alloc_node(struct kmem_cache *s, gfp_t f | |||
354 | #endif | 354 | #endif |
355 | 355 | ||
356 | #ifdef CONFIG_TRACING | 356 | #ifdef CONFIG_TRACING |
357 | extern void *kmem_cache_alloc_trace(struct kmem_cache *, gfp_t, size_t) __assume_slab_alignment; | 357 | extern void *kmem_cache_alloc_trace(struct kmem_cache *, gfp_t, size_t) __assume_slab_alignment __malloc; |
358 | 358 | ||
359 | #ifdef CONFIG_NUMA | 359 | #ifdef CONFIG_NUMA |
360 | extern void *kmem_cache_alloc_node_trace(struct kmem_cache *s, | 360 | extern void *kmem_cache_alloc_node_trace(struct kmem_cache *s, |
361 | gfp_t gfpflags, | 361 | gfp_t gfpflags, |
362 | int node, size_t size) __assume_slab_alignment; | 362 | int node, size_t size) __assume_slab_alignment __malloc; |
363 | #else | 363 | #else |
364 | static __always_inline void * | 364 | static __always_inline void * |
365 | kmem_cache_alloc_node_trace(struct kmem_cache *s, | 365 | kmem_cache_alloc_node_trace(struct kmem_cache *s, |
@@ -392,10 +392,10 @@ kmem_cache_alloc_node_trace(struct kmem_cache *s, | |||
392 | } | 392 | } |
393 | #endif /* CONFIG_TRACING */ | 393 | #endif /* CONFIG_TRACING */ |
394 | 394 | ||
395 | extern void *kmalloc_order(size_t size, gfp_t flags, unsigned int order) __assume_page_alignment; | 395 | extern void *kmalloc_order(size_t size, gfp_t flags, unsigned int order) __assume_page_alignment __malloc; |
396 | 396 | ||
397 | #ifdef CONFIG_TRACING | 397 | #ifdef CONFIG_TRACING |
398 | extern void *kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order) __assume_page_alignment; | 398 | extern void *kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order) __assume_page_alignment __malloc; |
399 | #else | 399 | #else |
400 | static __always_inline void * | 400 | static __always_inline void * |
401 | kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order) | 401 | kmalloc_order_trace(size_t size, gfp_t flags, unsigned int order) |
diff --git a/include/linux/string.h b/include/linux/string.h index d3993a79a325..26b6f6a66f83 100644 --- a/include/linux/string.h +++ b/include/linux/string.h | |||
@@ -119,7 +119,7 @@ char *strreplace(char *s, char old, char new); | |||
119 | 119 | ||
120 | extern void kfree_const(const void *x); | 120 | extern void kfree_const(const void *x); |
121 | 121 | ||
122 | extern char *kstrdup(const char *s, gfp_t gfp); | 122 | extern char *kstrdup(const char *s, gfp_t gfp) __malloc; |
123 | extern const char *kstrdup_const(const char *s, gfp_t gfp); | 123 | extern const char *kstrdup_const(const char *s, gfp_t gfp); |
124 | extern char *kstrndup(const char *s, size_t len, gfp_t gfp); | 124 | extern char *kstrndup(const char *s, size_t len, gfp_t gfp); |
125 | extern void *kmemdup(const void *src, size_t len, gfp_t gfp); | 125 | extern void *kmemdup(const void *src, size_t len, gfp_t gfp); |