diff options
-rw-r--r-- | pfinet/ChangeLog | 6 | ||||
-rw-r--r-- | pfinet/glue-include/asm/system.h | 2 | ||||
-rw-r--r-- | pfinet/linux-src/net/ipv4/tcp_ipv4.c | 5 |
3 files changed, 11 insertions, 2 deletions
diff --git a/pfinet/ChangeLog b/pfinet/ChangeLog index 37f377c1..41949c71 100644 --- a/pfinet/ChangeLog +++ b/pfinet/ChangeLog @@ -1,3 +1,9 @@ +2006-03-15 Thomas Schwinge <tschwinge@gnu.org> + + * glue-include/asm/system.h (xchg): Fix invalid lvalue. + * linux-src/net/ipv4/tcp_ipv4.c (tcp_v4_rst_req): Don't use ?: as a + lvalue. + 2004-09-03 Alfred M. Szmidt <ams@kemisten.nu> * linux-src/net/ipv4/udp.c (udp_v4_get_port): Put empty statement diff --git a/pfinet/glue-include/asm/system.h b/pfinet/glue-include/asm/system.h index 1a5d61cd..30339b62 100644 --- a/pfinet/glue-include/asm/system.h +++ b/pfinet/glue-include/asm/system.h @@ -9,7 +9,7 @@ #define xchg(ptr, x) \ ({ \ __typeof__ (*(ptr)) *_ptr = (ptr), _x = *_ptr; \ - (uintptr_t) *_ptr = (x); _x; \ + *_ptr = (x); _x; \ }) #define mb() ((void) 0) /* memory barrier */ diff --git a/pfinet/linux-src/net/ipv4/tcp_ipv4.c b/pfinet/linux-src/net/ipv4/tcp_ipv4.c index 5eabe1b9..2364de33 100644 --- a/pfinet/linux-src/net/ipv4/tcp_ipv4.c +++ b/pfinet/linux-src/net/ipv4/tcp_ipv4.c @@ -1584,7 +1584,10 @@ static void tcp_v4_rst_req(struct sock *sk, struct sk_buff *skb) after(TCP_SKB_CB(skb)->seq, req->rcv_isn+1)) return; tcp_synq_unlink(tp, req, prev); - (req->sk ? sk->ack_backlog : tp->syn_backlog)--; + if (req->sk) + sk->ack_backlog--; + else + tp->syn_backlog--; req->class->destructor(req); tcp_openreq_free(req); |