From patchwork Fri Jun 17 09:55:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102166 Delivered-To: patch@linaro.org Received: by 10.140.28.4 with SMTP id 4csp192753qgy; Fri, 17 Jun 2016 02:54:28 -0700 (PDT) X-Received: by 10.67.7.199 with SMTP id de7mr1533588pad.94.1466157268078; Fri, 17 Jun 2016 02:54:28 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r1si23123080paa.198.2016.06.17.02.54.27; Fri, 17 Jun 2016 02:54:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755422AbcFQJyZ (ORCPT + 30 others); Fri, 17 Jun 2016 05:54:25 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:62240 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753279AbcFQJyX (ORCPT ); Fri, 17 Jun 2016 05:54:23 -0400 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue102) with ESMTPA (Nemesis) id 0LwpxI-1bT53c2CBk-016Skw; Fri, 17 Jun 2016 11:54:12 +0200 From: Arnd Bergmann To: David Howells Cc: Arnd Bergmann , "David S. Miller" , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] rxrpc: fix uninitialized variable use Date: Fri, 17 Jun 2016 11:55:22 +0200 Message-Id: <20160617095555.1696781-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:m4PTTG6dcUDN7v9xeUvXPdZPpC06TfzwgHvmnCjr7YbfBt1mL71 uNfQU6k8sBnc5+Dwicwm82F83FjylYNQEN701Nqi9F6KuHgxxvgzgcG4VNg116EwFzjPGls 98mhPUj8tJv6H3tGMxXoSL/PSy7wcpnhR6kdXliYFMT4r9nhQqnjeQc3EyARMGAIfnBkcYX FGiJJ3wkfPcecnJagvL+Q== X-UI-Out-Filterresults: notjunk:1; V01:K0:zZfDLgvQxFY=:EPxbkzf7nnKzKiZLMPQ7zf HZw9O4Mb1Sji6UB0qlrQihsVOyT+nou0+HgRgLfGQzfnD0LkJyXbNTZvyqFGMGCTfkbq+xmQe 5s36itNZXN3nzxVQ5sGWdnqrFu0A8WR6DC3uAdVnHexY32EI4/w4BKFoKggHpSb9RmIySkN3L X7WwCqgSkEuN7gW1pO1U4EDsZCOTX7ps1KH+pNMuNIyiBa4u+EQXvcN2nVDrMruptr/fS+/TK D+BxfrwsFqTR3UQcaCwdpEg5pp/zb4VV4Z/0Lz3tdiw6RDUGaTpzQNO6c4rif94vYkaqiB0zy pn5pd4osROnz/jNTW/8I+B7qvbwfqpONVGjbMisGFq+0rH9oFV+hyIBVs/QnCfz3fXth3ypFX Pzkj0vz+dz2eg8YXqpKksBUNu93HwFTNhteyNAWVKw13eyBeDPwU4G15pQ+nHSp1L9bdVmNkm xoM+2Q35o8Jw6BQfzAHzwfQhcv35IQF6fEIb8XIXYndbElehwR0T59AWPg100WHhs+jU3UQ1b 08Nw+4JR488+gQnXUuCQjbLwTwGtTf6GDZ8J+Yu41+kZu0qvbuqsZUtx4pdwX4BT6GL9sCUuv tmgQDLOwkR6k4rWVVmxUu6jLwhvzVMEnkxraREwRE1L5ZTV4btwBWF7W8z2yMGV8HWClV+OZi ACS94TbY7g7BV86iBMO3a8PDhZXZsfsieSoI+7f6JiwAsBkWfNecE07SujJ5p8jwGVG0= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hashing the peer key was introduced for AF_INET, but gcc warns about the rxrpc_peer_hash_key function returning uninitialized data for any other value of srx->transport.family: net/rxrpc/peer_object.c: In function 'rxrpc_peer_hash_key': net/rxrpc/peer_object.c:57:15: error: 'p' may be used uninitialized in this function [-Werror=maybe-uninitialized] Assuming that nothing else can be set here, this changes the function to just return zero in case of an unknown address family. Fixes: be6e6707f6ee ("rxrpc: Rework peer object handling to use hash table and RCU") Signed-off-by: Arnd Bergmann --- This showed up today in linux-next, no idea if my patch is the right solution for the problem, so please review carefully. net/rxrpc/peer_object.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.9.0 diff --git a/net/rxrpc/peer_object.c b/net/rxrpc/peer_object.c index faf222c21698..5ab89295c36c 100644 --- a/net/rxrpc/peer_object.c +++ b/net/rxrpc/peer_object.c @@ -50,6 +50,8 @@ static unsigned long rxrpc_peer_hash_key(struct rxrpc_local *local, size = sizeof(srx->transport.sin.sin_addr); p = (u16 *)&srx->transport.sin.sin_addr; break; + default: + return 0; } /* Step through the peer address in 16-bit portions for speed */