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 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 364F0C11D00 for ; Thu, 20 Feb 2020 23:42:16 +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 07447207FD for ; Thu, 20 Feb 2020 23:42:16 +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="La4IJsdn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 07447207FD 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 9EA9A6E0E3; Thu, 20 Feb 2020 23:42:15 +0000 (UTC) Received: from mail-pj1-x1041.google.com (mail-pj1-x1041.google.com [IPv6:2607:f8b0:4864:20::1041]) by gabe.freedesktop.org (Postfix) with ESMTPS id 09BEE6E0E3 for ; Thu, 20 Feb 2020 23:42:14 +0000 (UTC) Received: by mail-pj1-x1041.google.com with SMTP id ep11so181227pjb.2 for ; Thu, 20 Feb 2020 15:42:14 -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:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=7FzECIoWmkTb4/abn5eV9Q3RdOU/PqnT/XPfJdQsEBE=; b=La4IJsdnldRGbfdjU9f/pqYDP/RLb1PwT3aUwAiXTY8MtUIsYRozdqHGvVDKOCLSRx kwsWSzgkfb7n2wrAKKbpIdJl59krWqvmkfBydZV3gWJHR3RDJPewKa8pVjremcOiFOZQ oFriUzJBwcFdgSQbFWPke8cXQqWZWx9Q8DAGY= 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:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=7FzECIoWmkTb4/abn5eV9Q3RdOU/PqnT/XPfJdQsEBE=; b=MezAYwGakPJZ86J09Ggbc/TwAhTKNZHN4jwJAZ8V85C9TGhUm77s5DZD1Y/NT7AMo/ PMUHr5+IPhDClw9hrUL+4etxtiqRwpHaXsYR4WYx4CoeymQMyZ9yrt03mNP3CYtzn06T LiGXa8SrAYjtGJyWCKx26MwSzyeozWcaGXrqCI9Wv0wALXUMKvaUpqw/TDFRrXDSmZv0 6V1BZDXzOViIRgpHiHiVGroXoHW9+UzGBbdkL99Bc9ndDJcJcvr2Ud/pBsz9acTsblEU i0XQsi6lB6THfAtm8Z5sKpeFff7P3sEJVixS1PDfdMaNMPh70E3IXm8FJcZHHFrxPxdh dN+Q== X-Gm-Message-State: APjAAAVTp3Pk8/jTmqMOyzIyfrkMIWwoOrBdjQWJTu7RcQYs4I1y8B58 0V2i4m+2L1bH8FroGZA8/vjYcw== X-Google-Smtp-Source: APXvYqwMg90ilP8hoc+lqhGNIEe4V0hc3sENaQ4Oc2P0UG4oCuJ2itQTtl4fbtfcyiDk8JW4TItdhg== X-Received: by 2002:a17:90a:8806:: with SMTP id s6mr6040144pjn.141.1582242133573; Thu, 20 Feb 2020 15:42:13 -0800 (PST) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id m15sm385729pgn.40.2020.02.20.15.42.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 15:42:12 -0800 (PST) Date: Thu, 20 Feb 2020 15:42:11 -0800 From: Kees Cook To: Jani Nikula Message-ID: <202002201541.1B5347ABAD@keescook> References: <20200220062258.68854-1-keescook@chromium.org> <877e0hv9t1.fsf@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <877e0hv9t1.fsf@intel.com> Subject: Re: [Intel-gfx] [PATCH] 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" T24gVGh1LCBGZWIgMjAsIDIwMjAgYXQgMTI6MjE6MTRQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gV2VkLCAxOSBGZWIgMjAyMCwgS2VlcyBDb29rIDxrZWVzY29va0BjaHJvbWl1bS5v cmc+IHdyb3RlOgo+ID4gVmFyaWFibGVzIGRlY2xhcmVkIGluIGEgc3dpdGNoIHN0YXRlbWVudCBi ZWZvcmUgYW55IGNhc2Ugc3RhdGVtZW50cwo+ID4gY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgaW5p dGlhbGl6ZWQgd2l0aCBjb21waWxlciBpbnN0cnVtZW50YXRpb24gKGFzCj4gPiB0aGV5IGFyZSBu b3QgcGFydCBvZiBhbnkgZXhlY3V0aW9uIGZsb3cpLiBXaXRoIEdDQydzIHByb3Bvc2VkIGF1dG9t YXRpYwo+ID4gc3RhY2sgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24gZmVhdHVyZSwgdGhpcyB0cmln Z2VycyBhIHdhcm5pbmcgKGFuZCB0aGV5Cj4gPiBkb24ndCBnZXQgaW5pdGlhbGl6ZWQpLiBDbGFu ZydzIGF1dG9tYXRpYyBzdGFjayB2YXJpYWJsZSBpbml0aWFsaXphdGlvbgo+ID4gKHZpYSBDT05G SUdfSU5JVF9TVEFDS19BTEw9eSkgZG9lc24ndCB0aHJvdyBhIHdhcm5pbmcsIGJ1dCBpdCBhbHNv Cj4gPiBkb2Vzbid0IGluaXRpYWxpemUgc3VjaCB2YXJpYWJsZXNbMV0uIE5vdGUgdGhhdCB0aGVz ZSB3YXJuaW5ncyAob3Igc2lsZW50Cj4gPiBza2lwcGluZykgaGFwcGVuIGJlZm9yZSB0aGUgZGVh ZC1zdG9yZSBlbGltaW5hdGlvbiBvcHRpbWl6YXRpb24gcGhhc2UsCj4gPiBzbyBldmVuIHdoZW4g dGhlIGF1dG9tYXRpYyBpbml0aWFsaXphdGlvbnMgYXJlIGxhdGVyIGVsaWRlZCBpbiBmYXZvciBv Zgo+ID4gZGlyZWN0IGluaXRpYWxpemF0aW9ucywgdGhlIHdhcm5pbmdzIHJlbWFpbi4KPiA+Cj4g PiBUbyBhdm9pZCB0aGVzZSBwcm9ibGVtcywgbW92ZSBzdWNoIHZhcmlhYmxlcyBpbnRvIHRoZSAi Y2FzZSIgd2hlcmUKPiA+IHRoZXkncmUgdXNlZCBvciBsaWZ0IHRoZW0gdXAgaW50byB0aGUgbWFp biBmdW5jdGlvbiBib2R5Lgo+ID4KPiA+IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jOiBJbiBmdW5jdGlvbiDigJhjaGVja19kaWdpdGFsX3BvcnRfY29uZmxpY3Rz 4oCZOgo+ID4gZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmM6MTI5 NjM6MTc6IHdhcm5pbmc6IHN0YXRlbWVudCB3aWxsIG5ldmVyIGJlIGV4ZWN1dGVkIFstV3N3aXRj aC11bnJlYWNoYWJsZV0KPiA+IDEyOTYzIHwgICAgdW5zaWduZWQgaW50IHBvcnRfbWFzazsKPiA+ ICAgICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgo+ID4KPiA+IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmM6IEluIGZ1bmN0aW9uIOKAmHZsdl9nZXRfZmlmb19zaXpl4oCZOgo+ ID4gZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYzo0NzQ6Nzogd2FybmluZzogc3RhdGVt ZW50IHdpbGwgbmV2ZXIgYmUgZXhlY3V0ZWQgWy1Xc3dpdGNoLXVucmVhY2hhYmxlXQo+ID4gICA0 NzQgfCAgIHUzMiBkc3BhcmIsIGRzcGFyYjIsIGRzcGFyYjM7Cj4gPiAgICAgICB8ICAgICAgIF5+ fn5+fgo+ID4gZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYzogSW4gZnVuY3Rpb24g4oCY dmx2X2F0b21pY191cGRhdGVfZmlmb+KAmToKPiA+IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmM6MTk5Nzo3OiB3YXJuaW5nOiBzdGF0ZW1lbnQgd2lsbCBuZXZlciBiZSBleGVjdXRlZCBb LVdzd2l0Y2gtdW5yZWFjaGFibGVdCj4gPiAgMTk5NyB8ICAgdTMyIGRzcGFyYiwgZHNwYXJiMiwg ZHNwYXJiMzsKPiA+ICAgICAgIHwgICAgICAgXn5+fn5+Cj4gPgo+ID4gWzFdIGh0dHBzOi8vYnVn cy5sbHZtLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ5MTYKPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBL ZWVzIENvb2sgPGtlZXNjb29rQGNocm9taXVtLm9yZz4KPiAKPiBSZXZpZXdlZC1ieTogSmFuaSBO aWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KClRoYW5rcyEKCj4gCj4gSWYgeW91IGxvb2sg YXQgaTkxNS9NYWtlZmlsZSwgeW91J2xsIHNlZSB0aGF0IHdlIGRvbid0IHNoeSBhd2F5IGZyb20K PiBlbmFibGluZyBsb3RzIG9mIGV4dHJhIHdhcm5pbmdzLCBhbmQgd2UgcnVuIG91ciBDSSB3aXRo IC1XZXJyb3IgdG8ga2VlcAo+IGl0IGNsZWFuLiBJdCBkb2VzIG5vdCBzZWVtIGxpa2UgLVdzd2l0 Y2gtdW5yZWFjaGFibGUgZG9lcyBtZSBhbnkgZ29vZCwKPiB0aG91Z2guLi4gaXMgaXQgbmV3PwoK SXQncyBhbHJlYWR5IGVuYWJsZWQgYnkgZGVmYXVsdCwgYnV0IHRoZSBHQ0MgZmVhdHVyZSB0aGF0 IHR3ZWFrcyBpdApkb2Vzbid0IGV4aXN0IHlldC4gQnV0IGl0IHBvaW50cyBvdXQgYSBwcm9ibGVt IHRoYXQgZXhpc3RzIGZvciBDbGFuZwp0b2RheSwgYnV0IENsYW5nIGRvZXNuJ3QgYWN0dWFsbHkg d2FybiBvbiAoeWV0KS4gU28gdGhpcyBpcyBhIGZpeCB0bwphdm9pZCB0aGUgc2lsZW50IENsYW5n IHByb2JsZW0gYW5kIGZpeCBmdXR1cmUgd2FybmluZ3MgYmVmb3JlIHRoZXkKaGFwcGVuLgoKLUtl ZXMKCj4gCj4gQlIsCj4gSmFuaS4KPiAKPiAKPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIHwgICAgNiArKysrLS0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAgICAgICB8ICAgIDQgKystLQo+ID4gIDIgZmls ZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiBpbmRleCAwNjRk ZDk5YmJjNDkuLmM4MjljZDI2Zjk5ZSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTEyOTYwLDE0ICsxMjk2MCwxNSBAQCBz dGF0aWMgYm9vbCBjaGVja19kaWdpdGFsX3BvcnRfY29uZmxpY3RzKHN0cnVjdCBpbnRlbF9hdG9t aWNfc3RhdGUgKnN0YXRlKQo+ID4gIAkJV0FSTl9PTighY29ubmVjdG9yX3N0YXRlLT5jcnRjKTsK PiA+ICAKPiA+ICAJCXN3aXRjaCAoZW5jb2Rlci0+dHlwZSkgewo+ID4gLQkJCXVuc2lnbmVkIGlu dCBwb3J0X21hc2s7Cj4gPiAgCQljYXNlIElOVEVMX09VVFBVVF9EREk6Cj4gPiAgCQkJaWYgKFdB Uk5fT04oIUhBU19EREkodG9faTkxNShkZXYpKSkpCj4gPiAgCQkJCWJyZWFrOwo+ID4gIAkJCS8q IGVsc2UsIGZhbGwgdGhyb3VnaCAqLwo+ID4gIAkJY2FzZSBJTlRFTF9PVVRQVVRfRFA6Cj4gPiAg CQljYXNlIElOVEVMX09VVFBVVF9IRE1JOgo+ID4gLQkJY2FzZSBJTlRFTF9PVVRQVVRfRURQOgo+ ID4gKwkJY2FzZSBJTlRFTF9PVVRQVVRfRURQOiB7Cj4gPiArCQkJdW5zaWduZWQgaW50IHBvcnRf bWFzazsKPiA+ICsKPiA+ICAJCQlwb3J0X21hc2sgPSAxIDw8IGVuY29kZXItPnBvcnQ7Cj4gPiAg Cj4gPiAgCQkJLyogdGhlIHNhbWUgcG9ydCBtdXN0bid0IGFwcGVhciBtb3JlIHRoYW4gb25jZSAq Lwo+ID4gQEAgLTEyOTc2LDYgKzEyOTc3LDcgQEAgc3RhdGljIGJvb2wgY2hlY2tfZGlnaXRhbF9w b3J0X2NvbmZsaWN0cyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKPiA+ICAKPiA+ ICAJCQl1c2VkX3BvcnRzIHw9IHBvcnRfbWFzazsKPiA+ICAJCQlicmVhazsKPiA+ICsJCX0KPiA+ ICAJCWNhc2UgSU5URUxfT1VUUFVUX0RQX01TVDoKPiA+ICAJCQl1c2VkX21zdF9wb3J0cyB8PQo+ ID4gIAkJCQkxIDw8IGVuY29kZXItPnBvcnQ7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+ IGluZGV4IGJkMmQzMGVjYzAzMC4uMTdkODgzMzc4N2M0IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYwo+ID4gQEAgLTQ2OSw5ICs0NjksOSBAQCBzdGF0aWMgdm9pZCB2bHZfZ2V0X2Zp Zm9fc2l6ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiA+ICAJc3RydWN0 IHZsdl9maWZvX3N0YXRlICpmaWZvX3N0YXRlID0gJmNydGNfc3RhdGUtPndtLnZsdi5maWZvX3N0 YXRlOwo+ID4gIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4gPiAgCWludCBzcHJpdGUw X3N0YXJ0LCBzcHJpdGUxX3N0YXJ0Owo+ID4gKwl1MzIgZHNwYXJiLCBkc3BhcmIyLCBkc3BhcmIz Owo+ID4gIAo+ID4gIAlzd2l0Y2ggKHBpcGUpIHsKPiA+IC0JCXUzMiBkc3BhcmIsIGRzcGFyYjIs IGRzcGFyYjM7Cj4gPiAgCWNhc2UgUElQRV9BOgo+ID4gIAkJZHNwYXJiID0gSTkxNV9SRUFEKERT UEFSQik7Cj4gPiAgCQlkc3BhcmIyID0gSTkxNV9SRUFEKERTUEFSQjIpOwo+ID4gQEAgLTE5Njks NiArMTk2OSw3IEBAIHN0YXRpYyB2b2lkIHZsdl9hdG9taWNfdXBkYXRlX2ZpZm8oc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gPiAgCWNvbnN0IHN0cnVjdCB2bHZfZmlmb19zdGF0 ZSAqZmlmb19zdGF0ZSA9Cj4gPiAgCQkmY3J0Y19zdGF0ZS0+d20udmx2LmZpZm9fc3RhdGU7Cj4g PiAgCWludCBzcHJpdGUwX3N0YXJ0LCBzcHJpdGUxX3N0YXJ0LCBmaWZvX3NpemU7Cj4gPiArCXUz MiBkc3BhcmIsIGRzcGFyYjIsIGRzcGFyYjM7Cj4gPiAgCj4gPiAgCWlmICghY3J0Y19zdGF0ZS0+ Zmlmb19jaGFuZ2VkKQo+ID4gIAkJcmV0dXJuOwo+ID4gQEAgLTE5OTQsNyArMTk5NSw2IEBAIHN0 YXRpYyB2b2lkIHZsdl9hdG9taWNfdXBkYXRlX2ZpZm8oc3RydWN0IGludGVsX2F0b21pY19zdGF0 ZSAqc3RhdGUsCj4gPiAgCXNwaW5fbG9jaygmdW5jb3JlLT5sb2NrKTsKPiA+ICAKPiA+ICAJc3dp dGNoIChjcnRjLT5waXBlKSB7Cj4gPiAtCQl1MzIgZHNwYXJiLCBkc3BhcmIyLCBkc3BhcmIzOwo+ ID4gIAljYXNlIFBJUEVfQToKPiA+ICAJCWRzcGFyYiA9IGludGVsX3VuY29yZV9yZWFkX2Z3KHVu Y29yZSwgRFNQQVJCKTsKPiA+ICAJCWRzcGFyYjIgPSBpbnRlbF91bmNvcmVfcmVhZF9mdyh1bmNv cmUsIERTUEFSQjIpOwo+ID4KPiAKPiAtLSAKPiBKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3Vy Y2UgR3JhcGhpY3MgQ2VudGVyCgotLSAKS2VlcyBDb29rCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo= 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 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 6D723C11D24 for ; Thu, 20 Feb 2020 23:42:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3A4E8208E4 for ; Thu, 20 Feb 2020 23:42:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="La4IJsdn" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729441AbgBTXmP (ORCPT ); Thu, 20 Feb 2020 18:42:15 -0500 Received: from mail-pj1-f68.google.com ([209.85.216.68]:51467 "EHLO mail-pj1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729392AbgBTXmO (ORCPT ); Thu, 20 Feb 2020 18:42:14 -0500 Received: by mail-pj1-f68.google.com with SMTP id fa20so183026pjb.1 for ; Thu, 20 Feb 2020 15:42:14 -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:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=7FzECIoWmkTb4/abn5eV9Q3RdOU/PqnT/XPfJdQsEBE=; b=La4IJsdnldRGbfdjU9f/pqYDP/RLb1PwT3aUwAiXTY8MtUIsYRozdqHGvVDKOCLSRx kwsWSzgkfb7n2wrAKKbpIdJl59krWqvmkfBydZV3gWJHR3RDJPewKa8pVjremcOiFOZQ oFriUzJBwcFdgSQbFWPke8cXQqWZWx9Q8DAGY= 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:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=7FzECIoWmkTb4/abn5eV9Q3RdOU/PqnT/XPfJdQsEBE=; b=Wwnug/3G1eOm1KBzzkS6TkElvP0ZPV7Dp4S3MW2B+ZoEvOzWoYUEnnRj8sYsnKwG0Y FaK3MK6L56rKDVxlZLxdhytlFwJ7St2kDd0EQfWGJpXKUMrB7HpTTgCeh06OZyMECP7k kgVYlRmUs4x/ZLJWcMP+9/R/E11SiheSWPFzZKJ56wAwxjmmbmIOTXKtQ2beGMaZs0ac 9INZO+6is2EIjJsU3JgqPiareR7gefn23xmchQNegl2TJKXYzclb42lwljpMDeh4fAQT lE1hCYJbnJkR4rNqoptgnINJ7qCJnPj/VOvLemK78gLc1WweBgFGNFZvELrDoaNpX5wv BW8Q== X-Gm-Message-State: APjAAAUW+QSuZMalTysvP3RFYECPaTE03tL0vEBWLCEIkU/Le9jAT4Hs 6RkPk/g2Q/tI1BNNyEDyex6Kjg== X-Google-Smtp-Source: APXvYqwMg90ilP8hoc+lqhGNIEe4V0hc3sENaQ4Oc2P0UG4oCuJ2itQTtl4fbtfcyiDk8JW4TItdhg== X-Received: by 2002:a17:90a:8806:: with SMTP id s6mr6040144pjn.141.1582242133573; Thu, 20 Feb 2020 15:42:13 -0800 (PST) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id m15sm385729pgn.40.2020.02.20.15.42.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 15:42:12 -0800 (PST) Date: Thu, 20 Feb 2020 15:42:11 -0800 From: Kees Cook To: Jani Nikula Cc: Joonas Lahtinen , Rodrigo Vivi , Alexander Potapenko , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/i915: Distribute switch variables for initialization Message-ID: <202002201541.1B5347ABAD@keescook> References: <20200220062258.68854-1-keescook@chromium.org> <877e0hv9t1.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <877e0hv9t1.fsf@intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 20, 2020 at 12:21:14PM +0200, Jani Nikula wrote: > On Wed, 19 Feb 2020, Kees Cook wrote: > > 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 > > Reviewed-by: Jani Nikula Thanks! > > If you look at i915/Makefile, you'll see that we don't shy away from > enabling lots of extra warnings, and we run our CI with -Werror to keep > it clean. It does not seem like -Wswitch-unreachable does me any good, > though... is it new? It's already enabled by default, but the GCC feature that tweaks it doesn't exist yet. But it points out a problem that exists for Clang today, but Clang doesn't actually warn on (yet). So this is a fix to avoid the silent Clang problem and fix future warnings before they happen. -Kees > > BR, > Jani. > > > > --- > > drivers/gpu/drm/i915/display/intel_display.c | 6 ++++-- > > drivers/gpu/drm/i915/intel_pm.c | 4 ++-- > > 2 files changed, 6 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > > index 064dd99bbc49..c829cd26f99e 100644 > > --- a/drivers/gpu/drm/i915/display/intel_display.c > > +++ b/drivers/gpu/drm/i915/display/intel_display.c > > @@ -12960,14 +12960,15 @@ 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; > > /* else, fall through */ > > case INTEL_OUTPUT_DP: > > case INTEL_OUTPUT_HDMI: > > - case INTEL_OUTPUT_EDP: > > + case INTEL_OUTPUT_EDP: { > > + unsigned int port_mask; > > + > > port_mask = 1 << encoder->port; > > > > /* the same port mustn't appear more than once */ > > @@ -12976,6 +12977,7 @@ static bool check_digital_port_conflicts(struct intel_atomic_state *state) > > > > used_ports |= port_mask; > > break; > > + } > > case INTEL_OUTPUT_DP_MST: > > used_mst_ports |= > > 1 << encoder->port; > > 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); > > > > -- > Jani Nikula, Intel Open Source Graphics Center -- Kees Cook