On Wed, Jul 01, 2015 at 03:21:06PM -0700, Vikas Shivappa wrote: > static int __init intel_rdt_late_init(void) > { > struct cpuinfo_x86 *c = &boot_cpu_data; > + static struct clos_cbm_map *ccm; > + u32 maxid, max_cbm_len; > + size_t sizeb;
Why 'sizeb' ? 'size' is still available, right? > + int err = 0; > > - if (!cpu_has(c, X86_FEATURE_CAT_L3)) > + if (!cpu_has(c, X86_FEATURE_CAT_L3)) { > + rdt_root_group.css.ss->disabled = 1; > return -ENODEV; > + } > + maxid = c->x86_cache_max_closid; > + max_cbm_len = c->x86_cache_max_cbm_len; > + > + sizeb = BITS_TO_LONGS(maxid) * sizeof(long); > + rdtss_info.closmap = kzalloc(sizeb, GFP_KERNEL); > + if (!rdtss_info.closmap) { > + err = -ENOMEM; > + goto out_err; > + } > + > + sizeb = maxid * sizeof(struct clos_cbm_map); > + ccmap = kzalloc(sizeb, GFP_KERNEL); > + if (!ccmap) { > + kfree(rdtss_info.closmap); > + err = -ENOMEM; > + goto out_err; > + } What's the expected size of max_closid? iow, how big of an array are you in fact allocating here? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/