#define NR_MEMCG_NODE_STAT_ITEMS ARRAY_SIZE(memcg_node_stat_items)
 #define MEMCG_VMSTAT_SIZE (NR_MEMCG_NODE_STAT_ITEMS + \
                           ARRAY_SIZE(memcg_stat_items))
-#define IS_INVALID(index) ((index) == U8_MAX)
+#define BAD_STAT_IDX(index) ((u32)(index) >= U8_MAX)
 static u8 mem_cgroup_stats_index[MEMCG_NR_STAT] __read_mostly;
 
 static void init_memcg_stats(void)
                return node_page_state(lruvec_pgdat(lruvec), idx);
 
        i = memcg_stats_index(idx);
-       if (WARN_ONCE(IS_INVALID(i), "%s: missing stat item %d\n", __func__, idx))
+       if (WARN_ONCE(BAD_STAT_IDX(i), "%s: missing stat item %d\n", __func__, idx))
                return 0;
 
        pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec);
                return node_page_state(lruvec_pgdat(lruvec), idx);
 
        i = memcg_stats_index(idx);
-       if (WARN_ONCE(IS_INVALID(i), "%s: missing stat item %d\n", __func__, idx))
+       if (WARN_ONCE(BAD_STAT_IDX(i), "%s: missing stat item %d\n", __func__, idx))
                return 0;
 
        pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec);
        long x;
        int i = memcg_stats_index(idx);
 
-       if (WARN_ONCE(IS_INVALID(i), "%s: missing stat item %d\n", __func__, idx))
+       if (WARN_ONCE(BAD_STAT_IDX(i), "%s: missing stat item %d\n", __func__, idx))
                return 0;
 
        x = READ_ONCE(memcg->vmstats->state[i]);
        if (mem_cgroup_disabled())
                return;
 
-       if (WARN_ONCE(IS_INVALID(i), "%s: missing stat item %d\n", __func__, idx))
+       if (WARN_ONCE(BAD_STAT_IDX(i), "%s: missing stat item %d\n", __func__, idx))
                return;
 
        __this_cpu_add(memcg->vmstats_percpu->state[i], val);
        long x;
        int i = memcg_stats_index(idx);
 
-       if (WARN_ONCE(IS_INVALID(i), "%s: missing stat item %d\n", __func__, idx))
+       if (WARN_ONCE(BAD_STAT_IDX(i), "%s: missing stat item %d\n", __func__, idx))
                return 0;
 
        x = READ_ONCE(memcg->vmstats->state_local[i]);
        struct mem_cgroup *memcg;
        int i = memcg_stats_index(idx);
 
-       if (WARN_ONCE(IS_INVALID(i), "%s: missing stat item %d\n", __func__, idx))
+       if (WARN_ONCE(BAD_STAT_IDX(i), "%s: missing stat item %d\n", __func__, idx))
                return;
 
        pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec);
        if (mem_cgroup_disabled())
                return;
 
-       if (WARN_ONCE(IS_INVALID(i), "%s: missing stat item %d\n", __func__, idx))
+       if (WARN_ONCE(BAD_STAT_IDX(i), "%s: missing stat item %d\n", __func__, idx))
                return;
 
        memcg_stats_lock();
 {
        int i = memcg_events_index(event);
 
-       if (WARN_ONCE(IS_INVALID(i), "%s: missing stat item %d\n", __func__, event))
+       if (WARN_ONCE(BAD_STAT_IDX(i), "%s: missing stat item %d\n", __func__, event))
                return 0;
 
        return READ_ONCE(memcg->vmstats->events[i]);
 {
        int i = memcg_events_index(event);
 
-       if (WARN_ONCE(IS_INVALID(i), "%s: missing stat item %d\n", __func__, event))
+       if (WARN_ONCE(BAD_STAT_IDX(i), "%s: missing stat item %d\n", __func__, event))
                return 0;
 
        return READ_ONCE(memcg->vmstats->events_local[i]);