From patchwork Mon Sep 18 16:28:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josef Bacik X-Patchwork-Id: 815031 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=toxicpanda-com.20150623.gappssmtp.com header.i=@toxicpanda-com.20150623.gappssmtp.com header.b="ENe2GYhk"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xws1Z2WBrz9s78 for ; Tue, 19 Sep 2017 02:30:26 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932528AbdIRQaN (ORCPT ); Mon, 18 Sep 2017 12:30:13 -0400 Received: from mail-qk0-f196.google.com ([209.85.220.196]:36680 "EHLO mail-qk0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756128AbdIRQ3H (ORCPT ); Mon, 18 Sep 2017 12:29:07 -0400 Received: by mail-qk0-f196.google.com with SMTP id i14so652663qke.3 for ; Mon, 18 Sep 2017 09:29:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toxicpanda-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ODHOSh6qUo5hELVhTe8eR0nzAZGayCpVsYmm8L/WRYo=; b=ENe2GYhkGM4Il80mssfcqrqzQSZPDH2Xa0ebb06V1ZqcccFxSC7a5LpUB7IkKNefkT TZyuI+aF4S2uLsHd/tPXfxmsQBvdD/eALqo1B56G0ZjFtkz2ph33rt7QRWGodJHPyee/ 3GPxAJgQQHXqxUsWuSltwwzppZZ+J7J327QSQqO9yS6K9egg7GQxrf6dxh00Wa55dIcP 03NlT1mnNxoQLvi56oFV1JiX/uwa6lT71XHLmtogSq7U8s8S10qNvbFsFhFfybn6UXJy 7IbH+/w3C7A9z7fZQVeDkOE9Xxu/rdtFYhTL1kqqPYh1QoJYAmoTjDKJMVPmGeDHbHJI C8Ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ODHOSh6qUo5hELVhTe8eR0nzAZGayCpVsYmm8L/WRYo=; b=iIKm7kENZgOf97y8ajgoofG5iX3X/CEPewUk//zQJOIjuKvEvURFEP8/EMMLyB7JGt IGeIFi4q/pho0ltiG6tZzYM3AL1w491lhPZjMTCGY3yB9sz7aw6pU8kvM9zc5hpgJZA3 DJagBPdxuSeB97GEKYjNjmBXeJFU2O00EHy2pDq6AeDmfF8iK3dyCOLBhyz2in5CYM8c IEjujgPXz+og20JlejZMVWnxia1u5yMfokqJ0Eh+mrLwttWqoXDAKPLyA2T9y+0LFd54 LWx5yu+Ucb3144uHp7fcxylLa7yAdNoJqy7q1sWHx4YiN9yF5dma4VAoflOMOZ55xbFF Tk5w== X-Gm-Message-State: AHPjjUheXdavXGwZJzrDEwF349Qxa/ZnTTmOrnfShChshtQvZ19DH6nj +Mdpx409DprOzRj8 X-Google-Smtp-Source: AOwi7QAuxfJvy3r7jyUd57ynObSsn0+hfsRrwzMj7mgjZm7nl6+qi+hVIo0j9U+OP9IBDMjkCvJjKA== X-Received: by 10.55.167.135 with SMTP id q129mr20574530qke.311.1505752147013; Mon, 18 Sep 2017 09:29:07 -0700 (PDT) Received: from localhost ([2606:a000:4381:1201:225:22ff:feb3:e51a]) by smtp.gmail.com with ESMTPSA id k2sm5391850qth.39.2017.09.18.09.29.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Sep 2017 09:29:06 -0700 (PDT) From: josef@toxicpanda.com X-Google-Original-From: jbacik@fb.com To: davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, crobinso@redhat.com, labbott@redhat.com, kernel-team@fb.com Cc: Josef Bacik , stable@vger.kernel.org Subject: [PATCH 1/3] net: set tb->fast_sk_family Date: Mon, 18 Sep 2017 12:28:55 -0400 Message-Id: <1505752137-15522-2-git-send-email-jbacik@fb.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1505752137-15522-1-git-send-email-jbacik@fb.com> References: <1505752137-15522-1-git-send-email-jbacik@fb.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Josef Bacik We need to set the tb->fast_sk_family properly so we can use the proper comparison function for all subsequent reuseport bind requests. Cc: stable@vger.kernel.org Fixes: 637bc8bbe6c0 ("inet: reset tb->fastreuseport when adding a reuseport sk") Reported-and-tested-by: Cole Robinson Signed-off-by: Josef Bacik --- net/ipv4/inet_connection_sock.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index b9c64b40a83a..f87f4805e244 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c @@ -328,6 +328,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum) tb->fastuid = uid; tb->fast_rcv_saddr = sk->sk_rcv_saddr; tb->fast_ipv6_only = ipv6_only_sock(sk); + tb->fast_sk_family = sk->sk_family; #if IS_ENABLED(CONFIG_IPV6) tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr; #endif @@ -354,6 +355,7 @@ int inet_csk_get_port(struct sock *sk, unsigned short snum) tb->fastuid = uid; tb->fast_rcv_saddr = sk->sk_rcv_saddr; tb->fast_ipv6_only = ipv6_only_sock(sk); + tb->fast_sk_family = sk->sk_family; #if IS_ENABLED(CONFIG_IPV6) tb->fast_v6_rcv_saddr = sk->sk_v6_rcv_saddr; #endif