Fixes the following sparse warnings: include/trace/events/*: sparse: cast to restricted gfp_t include/trace/events/*: sparse: restricted gfp_t degrades to integer gfp_t type is bitwise and requires __force attributes for any casts.
Showing the changes to include (6 of 7 files). Show all
Unified · Split
| @@ -367,7 +367,7 @@ static inline int gfp_migratetype(const gfp_t gfp_flags) · 366 unmodified lines | |||
| 367 | return MIGRATE_UNMOVABLE; | 367 | return MIGRATE_UNMOVABLE; |
| 368 | 368 | ||
| 369 | /* Group based on mobility */ | 369 | /* Group based on mobility */ |
| 370 | return (gfp_flags & GFP_MOVABLE_MASK) >> GFP_MOVABLE_SHIFT; | 370 | return (__force unsigned long)(gfp_flags & GFP_MOVABLE_MASK) >> GFP_MOVABLE_SHIFT; |
| 371 | } | 371 | } |
| 372 | #undef GFP_MOVABLE_MASK | 372 | #undef GFP_MOVABLE_MASK |
| 373 | #undef GFP_MOVABLE_SHIFT | 373 | #undef GFP_MOVABLE_SHIFT |
| @@ -1344,13 +1344,13 @@ TRACE_EVENT(alloc_extent_state, · 1343 unmodified lines | |||
| 1344 | 1344 | ||
| 1345 | TP_STRUCT__entry( | 1345 | TP_STRUCT__entry( |
| 1346 | __field(const struct extent_state *, state) | 1346 | __field(const struct extent_state *, state) |
| 1347 | __field(gfp_t, mask) | 1347 | __field(unsigned long, mask) |
| 1348 | __field(const void*, ip) | 1348 | __field(const void*, ip) |
| 1349 | ), | 1349 | ), |
| 1350 | 1350 | ||
| 1351 | TP_fast_assign( | 1351 | TP_fast_assign( |
| 1352 | __entry->state = state, | 1352 | __entry->state = state, |
| 1353 | __entry->mask = mask, | 1353 | __entry->mask = (__force unsigned long)mask, |
| 1354 | __entry->ip = (const void *)IP | 1354 | __entry->ip = (const void *)IP |
| 1355 | ), | 1355 | ), |
| 1356 | 1356 | ||
| @@ -162,13 +162,13 @@ TRACE_EVENT(mm_compaction_try_to_compact_pages, · 161 unmodified lines | |||
| 162 | 162 | ||
| 163 | TP_STRUCT__entry( | 163 | TP_STRUCT__entry( |
| 164 | __field(int, order) | 164 | __field(int, order) |
| 165 | __field(gfp_t, gfp_mask) | 165 | __field(unsigned long, gfp_mask) |
| 166 | __field(int, prio) | 166 | __field(int, prio) |
| 167 | ), | 167 | ), |
| 168 | 168 | ||
| 169 | TP_fast_assign( | 169 | TP_fast_assign( |
| 170 | __entry->order = order; | 170 | __entry->order = order; |
| 171 | __entry->gfp_mask = gfp_mask; | 171 | __entry->gfp_mask = (__force unsigned long)gfp_mask; |
| 172 | __entry->prio = prio; | 172 | __entry->prio = prio; |
| 173 | ), | 173 | ), |
| 174 | 174 | ||
| @@ -24,7 +24,7 @@ DECLARE_EVENT_CLASS(kmem_alloc, · 23 unmodified lines | |||
| 24 | __field( const void *, ptr ) | 24 | __field( const void *, ptr ) |
| 25 | __field( size_t, bytes_req ) | 25 | __field( size_t, bytes_req ) |
| 26 | __field( size_t, bytes_alloc ) | 26 | __field( size_t, bytes_alloc ) |
| 27 | __field( gfp_t, gfp_flags ) | 27 | __field( unsigned long, gfp_flags ) |
| 28 | ), | 28 | ), |
| 29 | 29 | ||
| 30 | TP_fast_assign( | 30 | TP_fast_assign( |
| @@ -32,7 +32,7 @@ DECLARE_EVENT_CLASS(kmem_alloc, · 1 unmodified line | |||
| 32 | __entry->ptr = ptr; | 32 | __entry->ptr = ptr; |
| 33 | __entry->bytes_req = bytes_req; | 33 | __entry->bytes_req = bytes_req; |
| 34 | __entry->bytes_alloc = bytes_alloc; | 34 | __entry->bytes_alloc = bytes_alloc; |
| 35 | __entry->gfp_flags = gfp_flags; | 35 | __entry->gfp_flags = (__force unsigned long)gfp_flags; |
| 36 | ), | 36 | ), |
| 37 | 37 | ||
| 38 | TP_printk("call_site=%pS ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s", | 38 | TP_printk("call_site=%pS ptr=%p bytes_req=%zu bytes_alloc=%zu gfp_flags=%s", |
| @@ -75,7 +75,7 @@ DECLARE_EVENT_CLASS(kmem_alloc_node, · 36 unmodified lines | |||
| 75 | __field( const void *, ptr ) | 75 | __field( const void *, ptr ) |
| 76 | __field( size_t, bytes_req ) | 76 | __field( size_t, bytes_req ) |
| 77 | __field( size_t, bytes_alloc ) | 77 | __field( size_t, bytes_alloc ) |
| 78 | __field( gfp_t, gfp_flags ) | 78 | __field( unsigned long, gfp_flags ) |
| 79 | __field( int, node ) | 79 | __field( int, node ) |
| 80 | ), | 80 | ), |
| 81 | 81 | ||
| @@ -84,7 +84,7 @@ DECLARE_EVENT_CLASS(kmem_alloc_node, · 2 unmodified lines | |||
| 84 | __entry->ptr = ptr; | 84 | __entry->ptr = ptr; |
| 85 | __entry->bytes_req = bytes_req; | 85 | __entry->bytes_req = bytes_req; |
| 86 | __entry->bytes_alloc = bytes_alloc; | 86 | __entry->bytes_alloc = bytes_alloc; |
| 87 | __entry->gfp_flags = gfp_flags; | 87 | __entry->gfp_flags = (__force unsigned long)gfp_flags; |
| 88 | __entry->node = node; | 88 | __entry->node = node; |
| 89 | ), | 89 | ), |
| 90 | 90 | ||
| @@ -208,14 +208,14 @@ TRACE_EVENT(mm_page_alloc, · 117 unmodified lines | |||
| 208 | TP_STRUCT__entry( | 208 | TP_STRUCT__entry( |
| 209 | __field( unsigned long, pfn ) | 209 | __field( unsigned long, pfn ) |
| 210 | __field( unsigned int, order ) | 210 | __field( unsigned int, order ) |
| 211 | __field( gfp_t, gfp_flags ) | 211 | __field( unsigned long, gfp_flags ) |
| 212 | __field( int, migratetype ) | 212 | __field( int, migratetype ) |
| 213 | ), | 213 | ), |
| 214 | 214 | ||
| 215 | TP_fast_assign( | 215 | TP_fast_assign( |
| 216 | __entry->pfn = page ? page_to_pfn(page) : -1UL; | 216 | __entry->pfn = page ? page_to_pfn(page) : -1UL; |
| 217 | __entry->order = order; | 217 | __entry->order = order; |
| 218 | __entry->gfp_flags = gfp_flags; | 218 | __entry->gfp_flags = (__force unsigned long)gfp_flags; |
| 219 | __entry->migratetype = migratetype; | 219 | __entry->migratetype = migratetype; |
| 220 | ), | 220 | ), |
| 221 | 221 | ||
| @@ -14,48 +14,48 @@ · 13 unmodified lines | |||
| 14 | */ | 14 | */ |
| 15 | 15 | ||
| 16 | #define __def_gfpflag_names \ | 16 | #define __def_gfpflag_names \ |
| 17 | {(unsigned long)GFP_TRANSHUGE, "GFP_TRANSHUGE"}, \ | 17 | {(__force unsigned long)GFP_TRANSHUGE, "GFP_TRANSHUGE"}, \ |
| 18 | {(unsigned long)GFP_TRANSHUGE_LIGHT, "GFP_TRANSHUGE_LIGHT"}, \ | 18 | {(__force unsigned long)GFP_TRANSHUGE_LIGHT, "GFP_TRANSHUGE_LIGHT"}, \ |
| 19 | {(unsigned long)GFP_HIGHUSER_MOVABLE, "GFP_HIGHUSER_MOVABLE"},\ | 19 | {(__force unsigned long)GFP_HIGHUSER_MOVABLE, "GFP_HIGHUSER_MOVABLE"},\ |
| 20 | {(unsigned long)GFP_HIGHUSER, "GFP_HIGHUSER"}, \ | 20 | {(__force unsigned long)GFP_HIGHUSER, "GFP_HIGHUSER"}, \ |
| 21 | {(unsigned long)GFP_USER, "GFP_USER"}, \ | 21 | {(__force unsigned long)GFP_USER, "GFP_USER"}, \ |
| 22 | {(unsigned long)GFP_KERNEL_ACCOUNT, "GFP_KERNEL_ACCOUNT"}, \ | 22 | {(__force unsigned long)GFP_KERNEL_ACCOUNT, "GFP_KERNEL_ACCOUNT"}, \ |
| 23 | {(unsigned long)GFP_KERNEL, "GFP_KERNEL"}, \ | 23 | {(__force unsigned long)GFP_KERNEL, "GFP_KERNEL"}, \ |
| 24 | {(unsigned long)GFP_NOFS, "GFP_NOFS"}, \ | 24 | {(__force unsigned long)GFP_NOFS, "GFP_NOFS"}, \ |
| 25 | {(unsigned long)GFP_ATOMIC, "GFP_ATOMIC"}, \ | 25 | {(__force unsigned long)GFP_ATOMIC, "GFP_ATOMIC"}, \ |
| 26 | {(unsigned long)GFP_NOIO, "GFP_NOIO"}, \ | 26 | {(__force unsigned long)GFP_NOIO, "GFP_NOIO"}, \ |
| 27 | {(unsigned long)GFP_NOWAIT, "GFP_NOWAIT"}, \ | 27 | {(__force unsigned long)GFP_NOWAIT, "GFP_NOWAIT"}, \ |
| 28 | {(unsigned long)GFP_DMA, "GFP_DMA"}, \ | 28 | {(__force unsigned long)GFP_DMA, "GFP_DMA"}, \ |
| 29 | {(unsigned long)__GFP_HIGHMEM, "__GFP_HIGHMEM"}, \ | 29 | {(__force unsigned long)__GFP_HIGHMEM, "__GFP_HIGHMEM"}, \ |
| 30 | {(unsigned long)GFP_DMA32, "GFP_DMA32"}, \ | 30 | {(__force unsigned long)GFP_DMA32, "GFP_DMA32"}, \ |
| 31 | {(unsigned long)__GFP_HIGH, "__GFP_HIGH"}, \ | 31 | {(__force unsigned long)__GFP_HIGH, "__GFP_HIGH"}, \ |
| 32 | {(unsigned long)__GFP_ATOMIC, "__GFP_ATOMIC"}, \ | 32 | {(__force unsigned long)__GFP_ATOMIC, "__GFP_ATOMIC"}, \ |
| 33 | {(unsigned long)__GFP_IO, "__GFP_IO"}, \ | 33 | {(__force unsigned long)__GFP_IO, "__GFP_IO"}, \ |
| 34 | {(unsigned long)__GFP_FS, "__GFP_FS"}, \ | 34 | {(__force unsigned long)__GFP_FS, "__GFP_FS"}, \ |
| 35 | {(unsigned long)__GFP_NOWARN, "__GFP_NOWARN"}, \ | 35 | {(__force unsigned long)__GFP_NOWARN, "__GFP_NOWARN"}, \ |
| 36 | {(unsigned long)__GFP_RETRY_MAYFAIL, "__GFP_RETRY_MAYFAIL"}, \ | 36 | {(__force unsigned long)__GFP_RETRY_MAYFAIL, "__GFP_RETRY_MAYFAIL"}, \ |
| 37 | {(unsigned long)__GFP_NOFAIL, "__GFP_NOFAIL"}, \ | 37 | {(__force unsigned long)__GFP_NOFAIL, "__GFP_NOFAIL"}, \ |
| 38 | {(unsigned long)__GFP_NORETRY, "__GFP_NORETRY"}, \ | 38 | {(__force unsigned long)__GFP_NORETRY, "__GFP_NORETRY"}, \ |
| 39 | {(unsigned long)__GFP_COMP, "__GFP_COMP"}, \ | 39 | {(__force unsigned long)__GFP_COMP, "__GFP_COMP"}, \ |
| 40 | {(unsigned long)__GFP_ZERO, "__GFP_ZERO"}, \ | 40 | {(__force unsigned long)__GFP_ZERO, "__GFP_ZERO"}, \ |
| 41 | {(unsigned long)__GFP_NOMEMALLOC, "__GFP_NOMEMALLOC"}, \ | 41 | {(__force unsigned long)__GFP_NOMEMALLOC, "__GFP_NOMEMALLOC"}, \ |
| 42 | {(unsigned long)__GFP_MEMALLOC, "__GFP_MEMALLOC"}, \ | 42 | {(__force unsigned long)__GFP_MEMALLOC, "__GFP_MEMALLOC"}, \ |
| 43 | {(unsigned long)__GFP_HARDWALL, "__GFP_HARDWALL"}, \ | 43 | {(__force unsigned long)__GFP_HARDWALL, "__GFP_HARDWALL"}, \ |
| 44 | {(unsigned long)__GFP_THISNODE, "__GFP_THISNODE"}, \ | 44 | {(__force unsigned long)__GFP_THISNODE, "__GFP_THISNODE"}, \ |
| 45 | {(unsigned long)__GFP_RECLAIMABLE, "__GFP_RECLAIMABLE"}, \ | 45 | {(__force unsigned long)__GFP_RECLAIMABLE, "__GFP_RECLAIMABLE"}, \ |
| 46 | {(unsigned long)__GFP_MOVABLE, "__GFP_MOVABLE"}, \ | 46 | {(__force unsigned long)__GFP_MOVABLE, "__GFP_MOVABLE"}, \ |
| 47 | {(unsigned long)__GFP_ACCOUNT, "__GFP_ACCOUNT"}, \ | 47 | {(__force unsigned long)__GFP_ACCOUNT, "__GFP_ACCOUNT"}, \ |
| 48 | {(unsigned long)__GFP_WRITE, "__GFP_WRITE"}, \ | 48 | {(__force unsigned long)__GFP_WRITE, "__GFP_WRITE"}, \ |
| 49 | {(unsigned long)__GFP_RECLAIM, "__GFP_RECLAIM"}, \ | 49 | {(__force unsigned long)__GFP_RECLAIM, "__GFP_RECLAIM"}, \ |
| 50 | {(unsigned long)__GFP_DIRECT_RECLAIM, "__GFP_DIRECT_RECLAIM"},\ | 50 | {(__force unsigned long)__GFP_DIRECT_RECLAIM, "__GFP_DIRECT_RECLAIM"},\ |
| 51 | {(unsigned long)__GFP_KSWAPD_RECLAIM, "__GFP_KSWAPD_RECLAIM"},\ | 51 | {(__force unsigned long)__GFP_KSWAPD_RECLAIM, "__GFP_KSWAPD_RECLAIM"},\ |
| 52 | {(unsigned long)__GFP_ZEROTAGS, "__GFP_ZEROTAGS"} \ | 52 | {(__force unsigned long)__GFP_ZEROTAGS, "__GFP_ZEROTAGS"} \ |
| 53 | 53 | ||
| 54 | #ifdef CONFIG_KASAN_HW_TAGS | 54 | #ifdef CONFIG_KASAN_HW_TAGS |
| 55 | #define __def_gfpflag_names_kasan , \ | 55 | #define __def_gfpflag_names_kasan , \ |
| 56 | {(unsigned long)__GFP_SKIP_ZERO, "__GFP_SKIP_ZERO"}, \ | 56 | {(__force unsigned long)__GFP_SKIP_ZERO, "__GFP_SKIP_ZERO"}, \ |
| 57 | {(unsigned long)__GFP_SKIP_KASAN_POISON, "__GFP_SKIP_KASAN_POISON"}, \ | 57 | {(__force unsigned long)__GFP_SKIP_KASAN_POISON, "__GFP_SKIP_KASAN_POISON"}, \ |
| 58 | {(unsigned long)__GFP_SKIP_KASAN_UNPOISON, "__GFP_SKIP_KASAN_UNPOISON"} | 58 | {(__force unsigned long)__GFP_SKIP_KASAN_UNPOISON, "__GFP_SKIP_KASAN_UNPOISON"} |
| 59 | #else | 59 | #else |
| 60 | #define __def_gfpflag_names_kasan | 60 | #define __def_gfpflag_names_kasan |
| 61 | #endif | 61 | #endif |
| @@ -96,14 +96,14 @@ TRACE_EVENT(mm_vmscan_wakeup_kswapd, · 95 unmodified lines | |||
| 96 | __field( int, nid ) | 96 | __field( int, nid ) |
| 97 | __field( int, zid ) | 97 | __field( int, zid ) |
| 98 | __field( int, order ) | 98 | __field( int, order ) |
| 99 | __field( gfp_t, gfp_flags ) | 99 | __field( unsigned long, gfp_flags ) |
| 100 | ), | 100 | ), |
| 101 | 101 | ||
| 102 | TP_fast_assign( | 102 | TP_fast_assign( |
| 103 | __entry->nid = nid; | 103 | __entry->nid = nid; |
| 104 | __entry->zid = zid; | 104 | __entry->zid = zid; |
| 105 | __entry->order = order; | 105 | __entry->order = order; |
| 106 | __entry->gfp_flags = gfp_flags; | 106 | __entry->gfp_flags = (__force unsigned long)gfp_flags; |
| 107 | ), | 107 | ), |
| 108 | 108 | ||
| 109 | TP_printk("nid=%d order=%d gfp_flags=%s", | 109 | TP_printk("nid=%d order=%d gfp_flags=%s", |
| @@ -120,12 +120,12 @@ DECLARE_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template, · 10 unmodified lines | |||
| 120 | 120 | ||
| 121 | TP_STRUCT__entry( | 121 | TP_STRUCT__entry( |
| 122 | __field( int, order ) | 122 | __field( int, order ) |
| 123 | __field( gfp_t, gfp_flags ) | 123 | __field( unsigned long, gfp_flags ) |
| 124 | ), | 124 | ), |
| 125 | 125 | ||
| 126 | TP_fast_assign( | 126 | TP_fast_assign( |
| 127 | __entry->order = order; | 127 | __entry->order = order; |
| 128 | __entry->gfp_flags = gfp_flags; | 128 | __entry->gfp_flags = (__force unsigned long)gfp_flags; |
| 129 | ), | 129 | ), |
| 130 | 130 | ||
| 131 | TP_printk("order=%d gfp_flags=%s", | 131 | TP_printk("order=%d gfp_flags=%s", |
| @@ -210,7 +210,7 @@ TRACE_EVENT(mm_shrink_slab_start, · 78 unmodified lines | |||
| 210 | __field(void *, shrink) | 210 | __field(void *, shrink) |
| 211 | __field(int, nid) | 211 | __field(int, nid) |
| 212 | __field(long, nr_objects_to_shrink) | 212 | __field(long, nr_objects_to_shrink) |
| 213 | __field(gfp_t, gfp_flags) | 213 | __field(unsigned long, gfp_flags) |
| 214 | __field(unsigned long, cache_items) | 214 | __field(unsigned long, cache_items) |
| 215 | __field(unsigned long long, delta) | 215 | __field(unsigned long long, delta) |
| 216 | __field(unsigned long, total_scan) | 216 | __field(unsigned long, total_scan) |
| @@ -222,7 +222,7 @@ TRACE_EVENT(mm_shrink_slab_start, · 5 unmodified lines | |||
| 222 | __entry->shrink = shr->scan_objects; | 222 | __entry->shrink = shr->scan_objects; |
| 223 | __entry->nid = sc->nid; | 223 | __entry->nid = sc->nid; |
| 224 | __entry->nr_objects_to_shrink = nr_objects_to_shrink; | 224 | __entry->nr_objects_to_shrink = nr_objects_to_shrink; |
| 225 | __entry->gfp_flags = sc->gfp_mask; | 225 | __entry->gfp_flags = (__force unsigned long)sc->gfp_mask; |
| 226 | __entry->cache_items = cache_items; | 226 | __entry->cache_items = cache_items; |
| 227 | __entry->delta = delta; | 227 | __entry->delta = delta; |
| 228 | __entry->total_scan = total_scan; | 228 | __entry->total_scan = total_scan; |
| @@ -446,13 +446,13 @@ TRACE_EVENT(mm_vmscan_node_reclaim_begin, · 217 unmodified lines | |||
| 446 | TP_STRUCT__entry( | 446 | TP_STRUCT__entry( |
| 447 | __field(int, nid) | 447 | __field(int, nid) |
| 448 | __field(int, order) | 448 | __field(int, order) |
| 449 | __field(gfp_t, gfp_flags) | 449 | __field(unsigned long, gfp_flags) |
| 450 | ), | 450 | ), |
| 451 | 451 | ||
| 452 | TP_fast_assign( | 452 | TP_fast_assign( |
| 453 | __entry->nid = nid; | 453 | __entry->nid = nid; |
| 454 | __entry->order = order; | 454 | __entry->order = order; |
| 455 | __entry->gfp_flags = gfp_flags; | 455 | __entry->gfp_flags = (__force unsigned long)gfp_flags; |
| 456 | ), | 456 | ), |
| 457 | 457 | ||
| 458 | TP_printk("nid=%d order=%d gfp_flags=%s", | 458 | TP_printk("nid=%d order=%d gfp_flags=%s", |