lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 10 Apr 2015 13:58:18 +0200
From:	<erik.hugne@...csson.com>
To:	<richard.alpe@...csson.com>, <jon.maloy@...csson.com>,
	<ying.xue@...driver.com>, <netdev@...r.kernel.org>
CC:	<tipc-discussion@...ts.sourceforge.net>,
	Erik Hugne <erik.hugne@...csson.com>
Subject: [PATCH v2] tipc: don't reject messages if reversal fails

From: Erik Hugne <erik.hugne@...csson.com>

When we fail to deliver a message to a socket, it is subject to
message reversal. If the call to tipc_msg_reverse fails, we are
passing dnode uninitialized to tipc_link_xmit_skb which causes the
packet to either be dropped, or sent out to a random link. In the
worst case this leads to a link reset.
We fix this by only transmitting the message if reversal succeded.
Also, the redundant check for 'err' is removed, because if the message
was not consumed, it will always be set.

Signed-off-by: Erik Hugne <erik.hugne@...csson.com>
---
v2: err check fix according to comments from Billie Alsup

 net/tipc/socket.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index ee90d74..d215f73 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -1701,7 +1701,7 @@ static int tipc_backlog_rcv(struct sock *sk, struct sk_buff *skb)
 			atomic_add(truesize, dcnt);
 		return 0;
 	}
-	if (!err || tipc_msg_reverse(tsk_own_node(tsk), skb, &dnode, -err))
+	if (tipc_msg_reverse(tsk_own_node(tsk), skb, &dnode, -err))
 		tipc_link_xmit_skb(net, skb, dnode, tsk->portid);
 	return 0;
 }
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists