From f794ab04ed5cd59d45e9a0a2940181b62cd4fb19 Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Mon, 9 Jun 2008 15:58:39 -0700 Subject: [PATCH] --- yaml --- r: 102703 b: refs/heads/master c: 31d8519c9cf87e9d8a0cc5b9734fda02af66d7e2 h: refs/heads/master i: 102701: b284cc7df5f6e8ce42deb29595244a4dbcb4c032 102699: 49622af00f41867c65447ae0a280659f958763e8 102695: 8294569118bbce3b14745a5bf3d4b35c807a1ce2 102687: cb01e13c23654463bdd6a95eeb941cc17a0b947e v: v3 --- [refs] | 2 +- trunk/net/netfilter/nf_conntrack_extend.c | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 420e3c0726d0..c0eb7c30ffb9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 17e6e59f0a1d7188d783c15dc3ccebd95a0840cd +refs/heads/master: 31d8519c9cf87e9d8a0cc5b9734fda02af66d7e2 diff --git a/trunk/net/netfilter/nf_conntrack_extend.c b/trunk/net/netfilter/nf_conntrack_extend.c index bcc19fa4ed1e..ba1c4915e9eb 100644 --- a/trunk/net/netfilter/nf_conntrack_extend.c +++ b/trunk/net/netfilter/nf_conntrack_extend.c @@ -88,13 +88,11 @@ void *__nf_ct_ext_add(struct nf_conn *ct, enum nf_ct_ext_id id, gfp_t gfp) 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;