aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-04-06 11:34:06 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-04-06 11:34:06 -0400
commitcb4361c1dc29cd870f664c004b1817106fbce0fa (patch)
treec31533210d738c9074b21b8f31fe0399b39545f0 /net/ipv4
parent309361e09ca9e9670dc8664e5d14125bf82078af (diff)
parentfb9e2d887243499b8d28efcf80821c4f6a092395 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits) smc91c92_cs: fix the problem of "Unable to find hardware address" r8169: clean up my printk uglyness net: Hook up cxgb4 to Kconfig and Makefile cxgb4: Add main driver file and driver Makefile cxgb4: Add remaining driver headers and L2T management cxgb4: Add packet queues and packet DMA code cxgb4: Add HW and FW support code cxgb4: Add register, message, and FW definitions netlabel: Fix several rcu_dereference() calls used without RCU read locks bonding: fix potential deadlock in bond_uninit() net: check the length of the socket address passed to connect(2) stmmac: add documentation for the driver. stmmac: fix kconfig for crc32 build error be2net: fix bug in vlan rx path for big endian architecture be2net: fix flashing on big endian architectures be2net: fix a bug in flashing the redboot section bonding: bond_xmit_roundrobin() fix drivers/net: Add missing unlock net: gianfar - align BD ring size console messages net: gianfar - initialize per-queue statistics ...
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/af_inet.c5
-rw-r--r--net/ipv4/tcp.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 2ed85714540f..f71357422380 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -531,6 +531,8 @@ int inet_dgram_connect(struct socket *sock, struct sockaddr * uaddr,
531{ 531{
532 struct sock *sk = sock->sk; 532 struct sock *sk = sock->sk;
533 533
534 if (addr_len < sizeof(uaddr->sa_family))
535 return -EINVAL;
534 if (uaddr->sa_family == AF_UNSPEC) 536 if (uaddr->sa_family == AF_UNSPEC)
535 return sk->sk_prot->disconnect(sk, flags); 537 return sk->sk_prot->disconnect(sk, flags);
536 538
@@ -574,6 +576,9 @@ int inet_stream_connect(struct socket *sock, struct sockaddr *uaddr,
574 int err; 576 int err;
575 long timeo; 577 long timeo;
576 578
579 if (addr_len < sizeof(uaddr->sa_family))
580 return -EINVAL;
581
577 lock_sock(sk); 582 lock_sock(sk);
578 583
579 if (uaddr->sa_family == AF_UNSPEC) { 584 if (uaddr->sa_family == AF_UNSPEC) {
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 7a1f1d78893f..0f8caf64caa3 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1369,6 +1369,7 @@ int tcp_read_sock(struct sock *sk, read_descriptor_t *desc,
1369 sk_eat_skb(sk, skb, 0); 1369 sk_eat_skb(sk, skb, 0);
1370 if (!desc->count) 1370 if (!desc->count)
1371 break; 1371 break;
1372 tp->copied_seq = seq;
1372 } 1373 }
1373 tp->copied_seq = seq; 1374 tp->copied_seq = seq;
1374 1375