netfilter: fix wrong byte order in nf_ct_seqadj_set internal information

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Fri Nov 22 17:59:06 EST 2013


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=23dfe136e2bf8d9ea1095704c535368a9bc721da
Commit:     23dfe136e2bf8d9ea1095704c535368a9bc721da
Parent:     c1898c4c295b735c05af4c09664993fd8f257c2b
Author:     Phil Oester <kernel at linuxace.com>
AuthorDate: Sat Nov 16 20:37:46 2013 -0800
Committer:  Pablo Neira Ayuso <pablo at netfilter.org>
CommitDate: Mon Nov 18 12:53:40 2013 +0100

    netfilter: fix wrong byte order in nf_ct_seqadj_set internal information
    
    In commit 41d73ec053d2, sequence number adjustments were moved to a
    separate file. Unfortunately, the sequence numbers that are stored
    in the nf_ct_seqadj structure are expressed in host byte order. The
    necessary ntohl call was removed when the call to adjust_tcp_sequence
    was collapsed into nf_ct_seqadj_set. This broke the FTP NAT helper.
    Fix it by adding back the byte order conversions.
    
    Reported-by: Dawid Stawiarski <dawid.stawiarski at netart.pl>
    Signed-off-by: Phil Oester <kernel at linuxace.com>
    Signed-off-by: Pablo Neira Ayuso <pablo at netfilter.org>
---
 net/netfilter/nf_conntrack_seqadj.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/netfilter/nf_conntrack_seqadj.c b/net/netfilter/nf_conntrack_seqadj.c
index 5f9bfd0..17c1bcb 100644
--- a/net/netfilter/nf_conntrack_seqadj.c
+++ b/net/netfilter/nf_conntrack_seqadj.c
@@ -41,8 +41,8 @@ int nf_ct_seqadj_set(struct nf_conn *ct, enum ip_conntrack_info ctinfo,
 	spin_lock_bh(&ct->lock);
 	this_way = &seqadj->seq[dir];
 	if (this_way->offset_before == this_way->offset_after ||
-	    before(this_way->correction_pos, seq)) {
-		this_way->correction_pos = seq;
+	    before(this_way->correction_pos, ntohl(seq))) {
+		this_way->correction_pos = ntohl(seq);
 		this_way->offset_before	 = this_way->offset_after;
 		this_way->offset_after	+= off;
 	}



More information about the linux-mtd-cvs mailing list