From: Alexey Dobriyan Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton --- include/linux/gfp.h | 4 ++-- include/linux/slab.h | 4 ++-- include/linux/string.h | 2 +- mm/mempool.c | 2 +- mm/slab.c | 12 +++++++----- 5 files changed, 13 insertions(+), 11 deletions(-) diff -puN include/linux/gfp.h~propagate-__nocast-annotations include/linux/gfp.h --- 25/include/linux/gfp.h~propagate-__nocast-annotations Tue Jun 28 16:45:49 2005 +++ 25-akpm/include/linux/gfp.h Tue Jun 28 16:45:49 2005 @@ -12,8 +12,8 @@ struct vm_area_struct; * GFP bitmasks.. */ /* Zone modifiers in GFP_ZONEMASK (see linux/mmzone.h - low two bits) */ -#define __GFP_DMA 0x01 -#define __GFP_HIGHMEM 0x02 +#define __GFP_DMA 0x01u +#define __GFP_HIGHMEM 0x02u /* * Action modifiers - doesn't change the zoning diff -puN include/linux/slab.h~propagate-__nocast-annotations include/linux/slab.h --- 25/include/linux/slab.h~propagate-__nocast-annotations Tue Jun 28 16:45:49 2005 +++ 25-akpm/include/linux/slab.h Tue Jun 28 16:46:54 2005 @@ -65,7 +65,7 @@ extern void *kmem_cache_alloc(kmem_cache extern void kmem_cache_free(kmem_cache_t *, void *); extern unsigned int kmem_cache_size(kmem_cache_t *); extern const char *kmem_cache_name(kmem_cache_t *); -extern kmem_cache_t *kmem_find_general_cachep(size_t size, int gfpflags); +extern kmem_cache_t *kmem_find_general_cachep(size_t size, unsigned int __nocast gfpflags); /* Size description struct for general caches. */ struct cache_sizes { @@ -105,7 +105,7 @@ extern unsigned int ksize(const void *); #ifdef CONFIG_NUMA extern void *kmem_cache_alloc_node(kmem_cache_t *, int flags, int node); -extern void *kmalloc_node(size_t size, int flags, int node); +extern void *kmalloc_node(size_t size, unsigned int __nocast flags, int node); #else /* * The definitions are macros here to allow the use of an undefined variable diff -puN include/linux/string.h~propagate-__nocast-annotations include/linux/string.h --- 25/include/linux/string.h~propagate-__nocast-annotations Tue Jun 28 16:45:49 2005 +++ 25-akpm/include/linux/string.h Tue Jun 28 16:45:49 2005 @@ -88,7 +88,7 @@ extern int memcmp(const void *,const voi extern void * memchr(const void *,int,__kernel_size_t); #endif -extern char *kstrdup(const char *s, int gfp); +extern char *kstrdup(const char *s, unsigned int __nocast gfp); #ifdef __cplusplus } diff -puN mm/mempool.c~propagate-__nocast-annotations mm/mempool.c --- 25/mm/mempool.c~propagate-__nocast-annotations Tue Jun 28 16:45:49 2005 +++ 25-akpm/mm/mempool.c Tue Jun 28 16:45:49 2005 @@ -205,7 +205,7 @@ void * mempool_alloc(mempool_t *pool, un void *element; unsigned long flags; wait_queue_t wait; - int gfp_temp; + unsigned int gfp_temp; might_sleep_if(gfp_mask & __GFP_WAIT); diff -puN mm/slab.c~propagate-__nocast-annotations mm/slab.c --- 25/mm/slab.c~propagate-__nocast-annotations Tue Jun 28 16:45:49 2005 +++ 25-akpm/mm/slab.c Tue Jun 28 16:45:49 2005 @@ -584,7 +584,8 @@ static inline struct array_cache *ac_dat return cachep->array[smp_processor_id()]; } -static inline kmem_cache_t *__find_general_cachep(size_t size, int gfpflags) +static inline kmem_cache_t *__find_general_cachep(size_t size, + unsigned int __nocast gfpflags) { struct cache_sizes *csizep = malloc_sizes; @@ -608,7 +609,8 @@ static inline kmem_cache_t *__find_gener return csizep->cs_cachep; } -kmem_cache_t *kmem_find_general_cachep(size_t size, int gfpflags) +kmem_cache_t *kmem_find_general_cachep(size_t size, + unsigned int __nocast gfpflags) { return __find_general_cachep(size, gfpflags); } @@ -2100,7 +2102,7 @@ cache_alloc_debugcheck_before(kmem_cache #if DEBUG static void * cache_alloc_debugcheck_after(kmem_cache_t *cachep, - unsigned long flags, void *objp, void *caller) + unsigned int __nocast flags, void *objp, void *caller) { if (!objp) return objp; @@ -2439,7 +2441,7 @@ got_slabp: } EXPORT_SYMBOL(kmem_cache_alloc_node); -void *kmalloc_node(size_t size, int flags, int node) +void *kmalloc_node(size_t size, unsigned int __nocast flags, int node) { kmem_cache_t *cachep; @@ -3091,7 +3093,7 @@ unsigned int ksize(const void *objp) * @s: the string to duplicate * @gfp: the GFP mask used in the kmalloc() call when allocating memory */ -char *kstrdup(const char *s, int gfp) +char *kstrdup(const char *s, unsigned int __nocast gfp) { size_t len; char *buf; _