rem: curr->cache_size = curr->nr_slabs * curr->pages_per_slab * page_size;
add: curr->cache_size = (unsigned long)curr->nr_slabs * curr->pages_per_slab * page_size;
context: static int parse_slabinfo20(struct slab_info **list, struct slab_stat *stats,				FILE *f){	struct slab_info *curr = NULL, *prev = NULL;	char buffer[SLABINFO_LINE_LEN];	int entries = 0;	int page_size = getpagesize();	stats->min_obj_size = INT_MAX;	stats->max_obj_size = 0;	while (fgets(buffer, SLABINFO_LINE_LEN, f)) {		int assigned;		if (buffer[0] == '#')			continue;			curr = get_slabnode();		if (!curr)			break;		if (entries++ == 0)			*list = curr;		else			prev->next = curr;		assigned = sscanf(buffer, "%" STRINGIFY(SLAB_INFO_NAME_LEN)				"s %d %d %d %d %d : tunables %*d %*d %*d : \				slabdata %d %d %*d", curr->name, 				&curr->nr_active_objs, &curr->nr_objs, 				&curr->obj_size, &curr->objs_per_slab,				&curr->pages_per_slab, &curr->nr_active_slabs,				&curr->nr_slabs);		if (assigned < 8) {			fprintf(stderr, "unrecognizable data in slabinfo!\n");			curr = NULL;			break;		}		if (curr->obj_size < stats->min_obj_size)			stats->min_obj_size = curr->obj_size;		if (curr->obj_size > stats->max_obj_size)			stats->max_obj_size = curr->obj_size;		curr->cache_size = curr->nr_slabs * curr->pages_per_slab *			page_size;		if (curr->nr_objs) {			curr->use = 100 * curr->nr_active_objs / curr->nr_objs;			stats->nr_active_caches++;		} else			curr->use = 0;		stats->nr_objs += curr->nr_objs;		stats->nr_active_objs += curr->nr_active_objs;		stats->total_size += curr->nr_objs * curr->obj_size;		stats->active_size += curr->nr_active_objs * curr->obj_size;		stats->nr_pages += curr->nr_slabs * curr->pages_per_slab;		stats->nr_slabs += curr->nr_slabs;		stats->nr_active_slabs += curr->nr_active_slabs;		prev = curr;	}	if (!curr) {		fprintf(stderr, "\rerror reading slabinfo!\n");		return 1;	}	curr->next = NULL;	stats->nr_caches = entries;	if (stats->nr_objs)		stats->avg_obj_size = stats->total_size / stats->nr_objs;	return 0;}