The complete semantic patch used to make this transformation is as follows: (http://coccinelle.lip6.fr/). // <smpl> @@ expression ptr,cptab,cpt,size,gfp; @@ - OBD_CPT_ALLOC_GFP(ptr, cptab, cpt, size, gfp) + ptr = kzalloc_node(size, gfp, cfs_cpt_spread_node(cptab, cpt)) @@ expression ptr,cptab,cpt,size; @@ - OBD_CPT_ALLOC(ptr, cptab, cpt, size) + ptr = kzalloc_node(size, GFP_NOFS, cfs_cpt_spread_node(cptab, cpt)) @@ expression ptr,cptab,cpt; @@ - OBD_CPT_ALLOC_PTR(ptr, cptab, cpt) + ptr = kzalloc_node(sizeof(*ptr), GFP_NOFS, cfs_cpt_spread_node(cptab,cpt)) // </smpl> Note that the previously proposed patch "Add obd_cpt_alloc function" is not needed, as the transformation is done without adding a new function. These patches should be applied after the patches with subjects "Use kzalloc and kfree" and "remove unneeded null test before free". v2 makes the subject lines more uniform. -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html