To: kaber@xxxxxxxxx [PATCH] netfilter: use krealloc() in nf_conntrack_extend.c V2 From: Pekka Enberg <penberg@xxxxxxxxxxxxxx> The ksize() API is going away because it is being abused and it doesn't even work consistenly across different allocators. Therefore, convert net/netfilter/nf_conntrack_extend.c to use krealloc(). Cc: <netfilter-devel@xxxxxxxxxxxxxxx> Cc: <netdev@xxxxxxxxxxxxxxx> Cc: Matt Mackall <mpm@xxxxxxxxxxx> Cc: Christoph Lameter <clameter@xxxxxxx> Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx> --- Patrick, please use this patch instead. The previous one did the moving unconditionally which is wrong. This one moves entries around only if krealloc() allocated a new buffer. net/netfilter/nf_conntrack_extend.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) Index: slab-2.6/net/netfilter/nf_conntrack_extend.c =================================================================== --- slab-2.6.orig/net/netfilter/nf_conntrack_extend.c 2008-05-22 21:52:12.000000000 +0300 +++ slab-2.6/net/netfilter/nf_conntrack_extend.c 2008-05-22 21:52:26.000000000 +0300 @@ -88,13 +88,11 @@ newlen = newoff + t->len; rcu_read_unlock(); - if (newlen >= ksize(ct->ext)) { - new = kmalloc(newlen, gfp); - if (!new) - return NULL; - - memcpy(new, ct->ext, ct->ext->len); + new = krealloc(ct->ext, newlen, gfp); + if (!new) + return NULL; + if (new != ct->ext) { for (i = 0; i < NF_CT_EXT_NUM; i++) { if (!nf_ct_ext_exist(ct, i)) continue; -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html