Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp909855imu; Wed, 23 Jan 2019 07:46:14 -0800 (PST) X-Google-Smtp-Source: ALg8bN4WXC82riAvRlzjzGe/d7yojQ0VbcdyCrc3IbyPdZmq9/Oof5TYbSjJ+A1YR5H1q5qrrgsI X-Received: by 2002:a62:7504:: with SMTP id q4mr2396671pfc.180.1548258374606; Wed, 23 Jan 2019 07:46:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548258374; cv=none; d=google.com; s=arc-20160816; b=H9EcDfhf2klv9K2iymwJ74Lx+A3fCNtO9dEa+Dc++a+5M5hJSNlr2gjPv8pxXd1mx6 PiEpAFu09Q212rLMaoFnZjZljTdJKkOCH1MM0EaVybFWVwHszqQSlkU53wVvyyEEmOOp X5z5KnYRZeR4hVanvdOp6mQiQbFvMkx5OPDgEWP2BTf/xQZqpV9QC3lZhTQKJGtA69Yw 4B7eU8nCBG+7bGOn9zDWJ7pLUKJBA9OiMMtj7kQECjmWubjO5HTG9mQyHdD+8tLl0N3L 1jPvIaEqWjoIwTOPYrXthbVClvYxwWHI2hG1zYkARu50aUXTwIvWY6/tMXzlCJirnGzO v48A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:references:organization:in-reply-to:subject:cc:to :from; bh=m7EWa4h9xpwOb91wBhC5XwF6lUuWVKg5SJWv55E++4w=; b=olR13KQ4AfdpkLUhVCwKeArUwdmxB2vwFr1nWRY3YTvc17v7br+pzCptPVB7JBveY1 arwWbe2zhMfYCZs42T4WSys/HZAF52zDFx+8A7M+zjnhqDri+aJqhQjM8A7U7+kfLbTO yE45ckrZU+L4zKTNb+vLgamql47KEeJdAhX1o0ZoeFaAFLM/rJj9J1J22xvowBls+33P gLxmzRxRdugWLSHmuDC4akY+31yGuzz2O7NjYEg04rOW5hzY7fQu+vdgUHvSfTYwioCp lDYnlpzkLrqjdl+2sD1ABWAImX4UunVDmszTFztt+idopudzRjwXB6pWqlHRzJyYLmAe HzVA== ARC-Authentication-Results: i=1; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d189si19469455pgc.393.2019.01.23.07.45.58; Wed, 23 Jan 2019 07:46:14 -0800 (PST) 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726852AbfAWPor convert rfc822-to-8bit (ORCPT + 99 others); Wed, 23 Jan 2019 10:44:47 -0500 Received: from mga06.intel.com ([134.134.136.31]:53707 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726790AbfAWPoq (ORCPT ); Wed, 23 Jan 2019 10:44:46 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Jan 2019 07:44:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,511,1539673200"; d="scan'208";a="140646916" Received: from jnikula-mobl3.fi.intel.com (HELO localhost) ([10.237.66.172]) by fmsmga001.fm.intel.com with ESMTP; 23 Jan 2019 07:44:31 -0800 From: Jani Nikula To: Edwin Zimmerman , 'Greg KH' , 'Kees Cook' Cc: dev@openvswitch.org, 'Ard Biesheuvel' , netdev@vger.kernel.org, intel-gfx@lists.freedesktop.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-security-module@vger.kernel.org, kernel-hardening@lists.openwall.com, intel-wired-lan@lists.osuosl.org, linux-fsdevel@vger.kernel.org, xen-devel@lists.xenproject.org, 'Laura Abbott' , linux-kbuild@vger.kernel.org, 'Alexander Popov' Subject: RE: [Intel-gfx] [PATCH 1/3] treewide: Lift switch variables out of switches In-Reply-To: <000001d4b32a$845e06e0$8d1a14a0$@211mainstreet.net> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20190123110349.35882-1-keescook@chromium.org> <20190123110349.35882-2-keescook@chromium.org> <20190123115829.GA31385@kroah.com> <874l9z31c5.fsf@intel.com> <000001d4b32a$845e06e0$8d1a14a0$@211mainstreet.net> Date: Wed, 23 Jan 2019 17:46:14 +0200 Message-ID: <87va2f1int.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 23 Jan 2019, Edwin Zimmerman wrote: > On Wed, 23 Jan 2019, Jani Nikula wrote: >> On Wed, 23 Jan 2019, Greg KH wrote: >> > On Wed, Jan 23, 2019 at 03:03:47AM -0800, Kees Cook wrote: >> >> Variables declared in a switch statement before any case statements >> >> cannot be initialized, so move all instances out of the switches. >> >> After this, future always-initialized stack variables will work >> >> and not throw warnings like this: >> >> >> >> fs/fcntl.c: In function ‘send_sigio_to_task’: >> >> fs/fcntl.c:738:13: warning: statement will never be executed [-Wswitch-unreachable] >> >> siginfo_t si; >> >> ^~ >> > >> > That's a pain, so this means we can't have any new variables in { } >> > scope except for at the top of a function? >> > >> > That's going to be a hard thing to keep from happening over time, as >> > this is valid C :( >> >> Not all valid C is meant to be used! ;) > > Very true. The other thing to keep in mind is the burden of enforcing > a prohibition on a valid C construct like this. It seems to me that > patch reviewers and maintainers have enough to do without forcing them > to watch for variable declarations in switch statements. Automating > this prohibition, should it be accepted, seems like a good idea to me. Considering that the treewide diffstat to fix this is: 18 files changed, 45 insertions(+), 46 deletions(-) and using the gcc plugin in question will trigger the switch-unreachable warning, I think we're good. There'll probably be the occasional declarations that pass through, and will get fixed afterwards. BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center