From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: [PATCH] mellanox: fix the dport endianness in call of __inet6_lookup_established() Date: Sat, 4 Aug 2018 21:41:27 +0100 Message-ID: <20180804204127.GC15082@ZenIV.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: David Miller , netdev@vger.kernel.org To: Boris Pismenny Return-path: Received: from zeniv.linux.org.uk ([195.92.253.2]:60778 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727127AbeHDWnY (ORCPT ); Sat, 4 Aug 2018 18:43:24 -0400 Content-Disposition: inline Sender: netdev-owner@vger.kernel.org List-ID: __inet6_lookup_established() expect th->dport passed in host-endian, not net-endian. The reason is microoptimization in __inet6_lookup(), but if you use the lower-level helpers, you have to play by their rules... Signed-off-by: Al Viro --- diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.c index 92d37459850e..be137d4a9169 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls_rxtx.c @@ -328,7 +328,7 @@ static int tls_update_resync_sn(struct net_device *netdev, sk = __inet6_lookup_established(dev_net(netdev), &tcp_hashinfo, &ipv6h->saddr, th->source, - &ipv6h->daddr, th->dest, + &ipv6h->daddr, ntohs(th->dest), netdev->ifindex, 0); #endif }