aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2008-02-07 20:56:34 -0500
committerDavid S. Miller <davem@davemloft.net>2008-02-07 20:56:34 -0500
commit86577c661bc01d5c4e477d74567df4470d6c5138 (patch)
treebbe853c912e959be44b61d2a3c14a761fe9226ac /include/net
parentb2155e7f70b3f058efe94c0c459db023b05057bd (diff)
[NETFILTER]: nf_conntrack: fix ct_extend ->move operation
The ->move operation has two bugs: - It is called with the same extension as source and destination, so it doesn't update the new extension. - The address of the old extension is calculated incorrectly, instead of (void *)ct->ext + ct->ext->offset[i] it uses ct->ext + ct->ext->offset[i]. Fixes a crash on x86_64 reported by Chuck Ebbert <cebbert@redhat.com> and Thomas Woerner <twoerner@redhat.com>. Tested-by: Thomas Woerner <twoerner@redhat.com> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/netfilter/nf_conntrack_extend.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/netfilter/nf_conntrack_extend.h b/include/net/netfilter/nf_conntrack_extend.h
index 73b5711faf32..49aac6323fbe 100644
--- a/include/net/netfilter/nf_conntrack_extend.h
+++ b/include/net/netfilter/nf_conntrack_extend.h
@@ -67,7 +67,7 @@ struct nf_ct_ext_type
67 void (*destroy)(struct nf_conn *ct); 67 void (*destroy)(struct nf_conn *ct);
68 /* Called when realloacted (can be NULL). 68 /* Called when realloacted (can be NULL).
69 Contents has already been moved. */ 69 Contents has already been moved. */
70 void (*move)(struct nf_conn *ct, void *old); 70 void (*move)(void *new, void *old);
71 71
72 enum nf_ct_ext_id id; 72 enum nf_ct_ext_id id;
73 73