From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 025D6C11D00 for ; Fri, 21 Feb 2020 00:05:23 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BD5D3208CD for ; Fri, 21 Feb 2020 00:05:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="VxH0eWQX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BD5D3208CD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3A5A46E154; Fri, 21 Feb 2020 00:05:22 +0000 (UTC) Received: from mail-pg1-x543.google.com (mail-pg1-x543.google.com [IPv6:2607:f8b0:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6E84E6EE86 for ; Fri, 21 Feb 2020 00:05:20 +0000 (UTC) Received: by mail-pg1-x543.google.com with SMTP id d6so64691pgn.5 for ; Thu, 20 Feb 2020 16:05:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :content-transfer-encoding; bh=cG6xfIMmhv4aUUzpLxwO6dmYGKiY4JsX+x1sscFIGBo=; b=VxH0eWQXgXV0A37NybzLS45Q1yg3sL2CN8bQswEwr6dJAyeajhuIUPnyWxKhXAoack zLheja1zuHdZKtgTRHPqCMlR6riEI0p0ke+O5Re9d9vv1A/qKQvcc5qnOfwkolKwtX5o BQ5VEXseArBchh2+vdkPOSwrPuRlA/q1ovt0M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:content-transfer-encoding; bh=cG6xfIMmhv4aUUzpLxwO6dmYGKiY4JsX+x1sscFIGBo=; b=DtgRibfyBdb941R7OuP0DrGwfP+mZgHReepsidXSpISk//l69QBlcwE+kLO8ASkvK7 ER4Ai9YJmCXnz0h7kB1/3+8OZK0taEFiHAPGNYo07aBXzHoJhjNkAHnbF41/pB2HR0rZ H5qpyTEgof94S1SH5IWpYBDKG9efiXK1KYdbs1KpysJfWA7uhnJcDThcB1MD9EG+cqYi Cr4YGJiThDw9xw6SyNk0BHp/KJ1k8lmfGuciPrpoyFq8QFrVmkL0pg+7Kd2Si0gTpS02 CFvpOtzkKX/J8ArOTS7ZyKpwnvl/fc1MUTg/bGWOr1WZOJzDIgtQwGo6Kt0MVSan1VZs 8SRg== X-Gm-Message-State: APjAAAXdDJBmxv3o1s3S86t5v76NB1v649Y8IHQT2C0uobY7JjOSixho XYe0qUxFU5GsMolHDuhSW9ZneA== X-Google-Smtp-Source: APXvYqwWrrCqyu+iKf6CKoTvIQXFlxyK58QKsqtU8gZfU9zUdaxuG26kbF1OKSnBPVnJHm/N4i6Ckw== X-Received: by 2002:a63:7802:: with SMTP id t2mr34514449pgc.352.1582243519903; Thu, 20 Feb 2020 16:05:19 -0800 (PST) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id d3sm688647pfn.113.2020.02.20.16.05.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 16:05:18 -0800 (PST) Date: Thu, 20 Feb 2020 16:05:17 -0800 From: Kees Cook To: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi Message-ID: <202002201602.92CADF7D@keescook> MIME-Version: 1.0 Content-Disposition: inline Subject: [Intel-gfx] [PATCH v2] drm/i915: Distribute switch variables for initialization X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org, Alexander Potapenko , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" VmFyaWFibGVzIGRlY2xhcmVkIGluIGEgc3dpdGNoIHN0YXRlbWVudCBiZWZvcmUgYW55IGNhc2Ug c3RhdGVtZW50cwpjYW5ub3QgYmUgYXV0b21hdGljYWxseSBpbml0aWFsaXplZCB3aXRoIGNvbXBp bGVyIGluc3RydW1lbnRhdGlvbiAoYXMKdGhleSBhcmUgbm90IHBhcnQgb2YgYW55IGV4ZWN1dGlv biBmbG93KS4gV2l0aCBHQ0MncyBwcm9wb3NlZCBhdXRvbWF0aWMKc3RhY2sgdmFyaWFibGUgaW5p dGlhbGl6YXRpb24gZmVhdHVyZSwgdGhpcyB0cmlnZ2VycyBhIHdhcm5pbmcgKGFuZCB0aGV5CmRv bid0IGdldCBpbml0aWFsaXplZCkuIENsYW5nJ3MgYXV0b21hdGljIHN0YWNrIHZhcmlhYmxlIGlu aXRpYWxpemF0aW9uCih2aWEgQ09ORklHX0lOSVRfU1RBQ0tfQUxMPXkpIGRvZXNuJ3QgdGhyb3cg YSB3YXJuaW5nLCBidXQgaXQgYWxzbwpkb2Vzbid0IGluaXRpYWxpemUgc3VjaCB2YXJpYWJsZXNb MV0uIE5vdGUgdGhhdCB0aGVzZSB3YXJuaW5ncyAob3Igc2lsZW50CnNraXBwaW5nKSBoYXBwZW4g YmVmb3JlIHRoZSBkZWFkLXN0b3JlIGVsaW1pbmF0aW9uIG9wdGltaXphdGlvbiBwaGFzZSwKc28g ZXZlbiB3aGVuIHRoZSBhdXRvbWF0aWMgaW5pdGlhbGl6YXRpb25zIGFyZSBsYXRlciBlbGlkZWQg aW4gZmF2b3Igb2YKZGlyZWN0IGluaXRpYWxpemF0aW9ucywgdGhlIHdhcm5pbmdzIHJlbWFpbi4K ClRvIGF2b2lkIHRoZXNlIHByb2JsZW1zLCBtb3ZlIHN1Y2ggdmFyaWFibGVzIGludG8gdGhlICJj YXNlIiB3aGVyZQp0aGV5J3JlIHVzZWQgb3IgbGlmdCB0aGVtIHVwIGludG8gdGhlIG1haW4gZnVu Y3Rpb24gYm9keS4KCmRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5j OiBJbiBmdW5jdGlvbiDigJhjaGVja19kaWdpdGFsX3BvcnRfY29uZmxpY3Rz4oCZOgpkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYzoxMjk2MzoxNzogd2FybmluZzog c3RhdGVtZW50IHdpbGwgbmV2ZXIgYmUgZXhlY3V0ZWQgWy1Xc3dpdGNoLXVucmVhY2hhYmxlXQox Mjk2MyB8ICAgIHVuc2lnbmVkIGludCBwb3J0X21hc2s7CiAgICAgIHwgICAgICAgICAgICAgICAg IF5+fn5+fn5+fgoKZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYzogSW4gZnVuY3Rpb24g 4oCYdmx2X2dldF9maWZvX3NpemXigJk6CmRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmM6 NDc0Ojc6IHdhcm5pbmc6IHN0YXRlbWVudCB3aWxsIG5ldmVyIGJlIGV4ZWN1dGVkIFstV3N3aXRj aC11bnJlYWNoYWJsZV0KICA0NzQgfCAgIHUzMiBkc3BhcmIsIGRzcGFyYjIsIGRzcGFyYjM7CiAg ICAgIHwgICAgICAgXn5+fn5+CmRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmM6IEluIGZ1 bmN0aW9uIOKAmHZsdl9hdG9taWNfdXBkYXRlX2ZpZm/igJk6CmRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmM6MTk5Nzo3OiB3YXJuaW5nOiBzdGF0ZW1lbnQgd2lsbCBuZXZlciBiZSBleGVj dXRlZCBbLVdzd2l0Y2gtdW5yZWFjaGFibGVdCiAxOTk3IHwgICB1MzIgZHNwYXJiLCBkc3BhcmIy LCBkc3BhcmIzOwogICAgICB8ICAgICAgIF5+fn5+fgoKWzFdIGh0dHBzOi8vYnVncy5sbHZtLm9y Zy9zaG93X2J1Zy5jZ2k/aWQ9NDQ5MTYKClNpZ25lZC1vZmYtYnk6IEtlZXMgQ29vayA8a2Vlc2Nv b2tAY2hyb21pdW0ub3JnPgotLS0KdjI6IHJlbW92ZSBwb3J0X21hc2sgZW50aXJlbHkgKFZpbGxl IFN5cmrDpGzDpCkKdjE6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwvMjAyMDAyMjAwNjIy NTguNjg4NTQtMS1rZWVzY29va0BjaHJvbWl1bS5vcmcKLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyB8IDcgKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYyAgICAgICAgICAgICAgfCA0ICsrLS0KIDIgZmlsZXMgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMDY0ZGQ5OWJiYzQ5Li41ZjhjNjE5MzJlODIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC0xMjk2 MCw3ICsxMjk2MCw2IEBAIHN0YXRpYyBib29sIGNoZWNrX2RpZ2l0YWxfcG9ydF9jb25mbGljdHMo c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCVdBUk5fT04oIWNvbm5lY3Rvcl9z dGF0ZS0+Y3J0Yyk7CiAKIAkJc3dpdGNoIChlbmNvZGVyLT50eXBlKSB7Ci0JCQl1bnNpZ25lZCBp bnQgcG9ydF9tYXNrOwogCQljYXNlIElOVEVMX09VVFBVVF9EREk6CiAJCQlpZiAoV0FSTl9PTigh SEFTX0RESSh0b19pOTE1KGRldikpKSkKIAkJCQlicmVhazsKQEAgLTEyOTY4LDEzICsxMjk2Nywx MSBAQCBzdGF0aWMgYm9vbCBjaGVja19kaWdpdGFsX3BvcnRfY29uZmxpY3RzKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQljYXNlIElOVEVMX09VVFBVVF9EUDoKIAkJY2FzZSBJ TlRFTF9PVVRQVVRfSERNSToKIAkJY2FzZSBJTlRFTF9PVVRQVVRfRURQOgotCQkJcG9ydF9tYXNr ID0gMSA8PCBlbmNvZGVyLT5wb3J0OwotCiAJCQkvKiB0aGUgc2FtZSBwb3J0IG11c3RuJ3QgYXBw ZWFyIG1vcmUgdGhhbiBvbmNlICovCi0JCQlpZiAodXNlZF9wb3J0cyAmIHBvcnRfbWFzaykKKwkJ CWlmICh1c2VkX3BvcnRzICYgQklUKGVuY29kZXItPnBvcnQpKQogCQkJCXJldCA9IGZhbHNlOwog Ci0JCQl1c2VkX3BvcnRzIHw9IHBvcnRfbWFzazsKKwkJCXVzZWRfcG9ydHMgfD0gQklUKGVuY29k ZXItPnBvcnQpOwogCQkJYnJlYWs7CiAJCWNhc2UgSU5URUxfT1VUUFVUX0RQX01TVDoKIAkJCXVz ZWRfbXN0X3BvcnRzIHw9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCBiZDJkMzBlY2MwMzAu LjE3ZDg4MzM3ODdjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0u YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC00NjksOSArNDY5LDkg QEAgc3RhdGljIHZvaWQgdmx2X2dldF9maWZvX3NpemUoc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCiAJc3RydWN0IHZsdl9maWZvX3N0YXRlICpmaWZvX3N0YXRlID0gJmNydGNf c3RhdGUtPndtLnZsdi5maWZvX3N0YXRlOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsK IAlpbnQgc3ByaXRlMF9zdGFydCwgc3ByaXRlMV9zdGFydDsKKwl1MzIgZHNwYXJiLCBkc3BhcmIy LCBkc3BhcmIzOwogCiAJc3dpdGNoIChwaXBlKSB7Ci0JCXUzMiBkc3BhcmIsIGRzcGFyYjIsIGRz cGFyYjM7CiAJY2FzZSBQSVBFX0E6CiAJCWRzcGFyYiA9IEk5MTVfUkVBRChEU1BBUkIpOwogCQlk c3BhcmIyID0gSTkxNV9SRUFEKERTUEFSQjIpOwpAQCAtMTk2OSw2ICsxOTY5LDcgQEAgc3RhdGlj IHZvaWQgdmx2X2F0b21pY191cGRhdGVfZmlmbyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSwKIAljb25zdCBzdHJ1Y3Qgdmx2X2ZpZm9fc3RhdGUgKmZpZm9fc3RhdGUgPQogCQkmY3J0 Y19zdGF0ZS0+d20udmx2LmZpZm9fc3RhdGU7CiAJaW50IHNwcml0ZTBfc3RhcnQsIHNwcml0ZTFf c3RhcnQsIGZpZm9fc2l6ZTsKKwl1MzIgZHNwYXJiLCBkc3BhcmIyLCBkc3BhcmIzOwogCiAJaWYg KCFjcnRjX3N0YXRlLT5maWZvX2NoYW5nZWQpCiAJCXJldHVybjsKQEAgLTE5OTQsNyArMTk5NSw2 IEBAIHN0YXRpYyB2b2lkIHZsdl9hdG9taWNfdXBkYXRlX2ZpZm8oc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqc3RhdGUsCiAJc3Bpbl9sb2NrKCZ1bmNvcmUtPmxvY2spOwogCiAJc3dpdGNoIChj cnRjLT5waXBlKSB7Ci0JCXUzMiBkc3BhcmIsIGRzcGFyYjIsIGRzcGFyYjM7CiAJY2FzZSBQSVBF X0E6CiAJCWRzcGFyYiA9IGludGVsX3VuY29yZV9yZWFkX2Z3KHVuY29yZSwgRFNQQVJCKTsKIAkJ ZHNwYXJiMiA9IGludGVsX3VuY29yZV9yZWFkX2Z3KHVuY29yZSwgRFNQQVJCMik7Ci0tIAoyLjIw LjEKCgotLSAKS2VlcyBDb29rCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18673C11D25 for ; Fri, 21 Feb 2020 00:05:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E1DE6208CD for ; Fri, 21 Feb 2020 00:05:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="VxH0eWQX" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729417AbgBUAFW (ORCPT ); Thu, 20 Feb 2020 19:05:22 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:33807 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729353AbgBUAFW (ORCPT ); Thu, 20 Feb 2020 19:05:22 -0500 Received: by mail-pf1-f196.google.com with SMTP id i6so248124pfc.1 for ; Thu, 20 Feb 2020 16:05:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :content-transfer-encoding; bh=cG6xfIMmhv4aUUzpLxwO6dmYGKiY4JsX+x1sscFIGBo=; b=VxH0eWQXgXV0A37NybzLS45Q1yg3sL2CN8bQswEwr6dJAyeajhuIUPnyWxKhXAoack zLheja1zuHdZKtgTRHPqCMlR6riEI0p0ke+O5Re9d9vv1A/qKQvcc5qnOfwkolKwtX5o BQ5VEXseArBchh2+vdkPOSwrPuRlA/q1ovt0M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:content-transfer-encoding; bh=cG6xfIMmhv4aUUzpLxwO6dmYGKiY4JsX+x1sscFIGBo=; b=l5IKFAUiPU25fb19HJ7eDGlK8HXuX7Mhe8VLY3KqiD8wdXGRnXQyAr/EM+y2vywape 3xEZM06/o5qUxMjA838X27wpYLYImkfJtM2soQEWV9+TLJ9PWwd2sikCLVAeX8MVet4R gwkG+GGaOLGpJ/QQ5VU+bocfpUKdbhDDQSAs9Bch1vHaWEpqNAyO5pTuiFWxVDc2FlQj qVpQyk10uyO343METNzz8CKz+fRbnzj5nSFndFkoRfn2CrB5ucd6QnH4MMA+7VTieEnA e1UDBWfBC9SSdTYecfLxrsnEmFEhiP/ZXBp5M2XsqEKP8Gu2dUo0RJ6ejqbTkAusoXtd XKLw== X-Gm-Message-State: APjAAAU2bKCr5GKHkpoNJdRJyGdt2168Chtaxik98JJmGrJtORV0/xnO 8TktEQCWL8CKKIfOIqsLFYrCFw== X-Google-Smtp-Source: APXvYqwWrrCqyu+iKf6CKoTvIQXFlxyK58QKsqtU8gZfU9zUdaxuG26kbF1OKSnBPVnJHm/N4i6Ckw== X-Received: by 2002:a63:7802:: with SMTP id t2mr34514449pgc.352.1582243519903; Thu, 20 Feb 2020 16:05:19 -0800 (PST) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id d3sm688647pfn.113.2020.02.20.16.05.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 16:05:18 -0800 (PST) Date: Thu, 20 Feb 2020 16:05:17 -0800 From: Kees Cook To: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi Cc: Alexander Potapenko , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] drm/i915: Distribute switch variables for initialization Message-ID: <202002201602.92CADF7D@keescook> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Variables declared in a switch statement before any case statements cannot be automatically initialized with compiler instrumentation (as they are not part of any execution flow). With GCC's proposed automatic stack variable initialization feature, this triggers a warning (and they don't get initialized). Clang's automatic stack variable initialization (via CONFIG_INIT_STACK_ALL=y) doesn't throw a warning, but it also doesn't initialize such variables[1]. Note that these warnings (or silent skipping) happen before the dead-store elimination optimization phase, so even when the automatic initializations are later elided in favor of direct initializations, the warnings remain. To avoid these problems, move such variables into the "case" where they're used or lift them up into the main function body. drivers/gpu/drm/i915/display/intel_display.c: In function ‘check_digital_port_conflicts’: drivers/gpu/drm/i915/display/intel_display.c:12963:17: warning: statement will never be executed [-Wswitch-unreachable] 12963 | unsigned int port_mask; | ^~~~~~~~~ drivers/gpu/drm/i915/intel_pm.c: In function ‘vlv_get_fifo_size’: drivers/gpu/drm/i915/intel_pm.c:474:7: warning: statement will never be executed [-Wswitch-unreachable] 474 | u32 dsparb, dsparb2, dsparb3; | ^~~~~~ drivers/gpu/drm/i915/intel_pm.c: In function ‘vlv_atomic_update_fifo’: drivers/gpu/drm/i915/intel_pm.c:1997:7: warning: statement will never be executed [-Wswitch-unreachable] 1997 | u32 dsparb, dsparb2, dsparb3; | ^~~~~~ [1] https://bugs.llvm.org/show_bug.cgi?id=44916 Signed-off-by: Kees Cook --- v2: remove port_mask entirely (Ville Syrjälä) v1: https://lore.kernel.org/lkml/20200220062258.68854-1-keescook@chromium.org --- drivers/gpu/drm/i915/display/intel_display.c | 7 ++----- drivers/gpu/drm/i915/intel_pm.c | 4 ++-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 064dd99bbc49..5f8c61932e82 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -12960,7 +12960,6 @@ static bool check_digital_port_conflicts(struct intel_atomic_state *state) WARN_ON(!connector_state->crtc); switch (encoder->type) { - unsigned int port_mask; case INTEL_OUTPUT_DDI: if (WARN_ON(!HAS_DDI(to_i915(dev)))) break; @@ -12968,13 +12967,11 @@ static bool check_digital_port_conflicts(struct intel_atomic_state *state) case INTEL_OUTPUT_DP: case INTEL_OUTPUT_HDMI: case INTEL_OUTPUT_EDP: - port_mask = 1 << encoder->port; - /* the same port mustn't appear more than once */ - if (used_ports & port_mask) + if (used_ports & BIT(encoder->port)) ret = false; - used_ports |= port_mask; + used_ports |= BIT(encoder->port); break; case INTEL_OUTPUT_DP_MST: used_mst_ports |= diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index bd2d30ecc030..17d8833787c4 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -469,9 +469,9 @@ static void vlv_get_fifo_size(struct intel_crtc_state *crtc_state) struct vlv_fifo_state *fifo_state = &crtc_state->wm.vlv.fifo_state; enum pipe pipe = crtc->pipe; int sprite0_start, sprite1_start; + u32 dsparb, dsparb2, dsparb3; switch (pipe) { - u32 dsparb, dsparb2, dsparb3; case PIPE_A: dsparb = I915_READ(DSPARB); dsparb2 = I915_READ(DSPARB2); @@ -1969,6 +1969,7 @@ static void vlv_atomic_update_fifo(struct intel_atomic_state *state, const struct vlv_fifo_state *fifo_state = &crtc_state->wm.vlv.fifo_state; int sprite0_start, sprite1_start, fifo_size; + u32 dsparb, dsparb2, dsparb3; if (!crtc_state->fifo_changed) return; @@ -1994,7 +1995,6 @@ static void vlv_atomic_update_fifo(struct intel_atomic_state *state, spin_lock(&uncore->lock); switch (crtc->pipe) { - u32 dsparb, dsparb2, dsparb3; case PIPE_A: dsparb = intel_uncore_read_fw(uncore, DSPARB); dsparb2 = intel_uncore_read_fw(uncore, DSPARB2); -- 2.20.1 -- Kees Cook