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)
