On Tuesday 15 July 2014 16:45:51 Ley Foon Tan wrote: > +void *module_alloc(unsigned long size) > +{ > + if (size == 0) > + return NULL; > + return kmalloc(size, GFP_KERNEL); > +} > + > +/* Free memory returned from module_alloc */ > +void module_free(struct module *mod, void *module_region) > +{ > + kfree(module_region); > +} Any particular reason for defining these to use kmalloc rather than the default vmalloc based functions? Note that kmalloc is more limited in size and won't work if the memory is fragmented, while vmalloc has a small overhead on some architectures due to TLB pressure, but only if the normal kernel memory is able to use huge pages. > +void module_arch_cleanup(struct module *mod) > +{ > +} This is not needed at all. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html