diff --git a/Makefile b/Makefile index 2edfc960260c..2a8331ee439d 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 32 -EXTRAVERSION = .66 +EXTRAVERSION = .67 NAME = Man-Eating Seals of Antiquity # *DOCUMENTATION* diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 5339f066234b..d1e2895bb63c 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -2136,7 +2136,7 @@ void tcp_send_fin(struct sock *sk) */ if (tskb && (tcp_send_head(sk) || tcp_memory_pressure)) { coalesce: - TCP_SKB_CB(skb)->flags |= TCPCB_FLAG_FIN; + TCP_SKB_CB(tskb)->flags |= TCPCB_FLAG_FIN; TCP_SKB_CB(tskb)->end_seq++; tp->write_seq++; if (!tcp_send_head(sk)) { diff --git a/net/socket.c b/net/socket.c index a838a67dd77d..806b36512205 100644 --- a/net/socket.c +++ b/net/socket.c @@ -1903,15 +1903,12 @@ SYSCALL_DEFINE3(sendmsg, int, fd, struct msghdr __user *, msg, unsigned, flags) int fput_needed; err = -EFAULT; - if (MSG_CMSG_COMPAT & flags) { - if (get_compat_msghdr(&msg_sys, msg_compat)) - return -EFAULT; - } - else { + if (MSG_CMSG_COMPAT & flags) + err = get_compat_msghdr(&msg_sys, msg_compat); + else err = copy_msghdr_from_user(&msg_sys, msg); - if (err) - return err; - } + if (err) + return err; sock = sockfd_lookup_light(fd, &err, &fput_needed); if (!sock) @@ -2016,15 +2013,12 @@ SYSCALL_DEFINE3(recvmsg, int, fd, struct msghdr __user *, msg, struct sockaddr __user *uaddr; int __user *uaddr_len; - if (MSG_CMSG_COMPAT & flags) { - if (get_compat_msghdr(&msg_sys, msg_compat)) - return -EFAULT; - } - else { + if (MSG_CMSG_COMPAT & flags) + err = get_compat_msghdr(&msg_sys, msg_compat); + else err = copy_msghdr_from_user(&msg_sys, msg); - if (err) - return err; - } + if (err) + return err; sock = sockfd_lookup_light(fd, &err, &fput_needed); if (!sock)