From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 12/23] drm/i915: Sanitize the TypeC connect/detect sequences Date: Tue, 25 Jun 2019 16:42:01 +0300 Message-ID: <20190625134201.GC5942@intel.com> References: <20190620140600.11357-1-imre.deak@intel.com> <20190620140600.11357-13-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3C5416E0F2 for ; Tue, 25 Jun 2019 13:42:05 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190620140600.11357-13-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdW4gMjAsIDIwMTkgYXQgMDU6MDU6NDlQTSArMDMwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IE1ha2UgdGhlIG9yZGVyIGR1cmluZyBkZXRlY3Rpb24gbW9yZSBjb25zaXN0ZW50OiBmaXJz dCByZXNldCB0aGUgVHlwZUMKPiBwb3J0IG1vZGUgaWYgbmVlZGVkIChhZGRpbmcgbmV3IGhlbHBl cnMgZm9yIHRoaXMpLCB0aGVuIGRldGVjdCBhbnkKPiBjb25uZWN0ZWQgc2luay4KPiAKPiBUbyBj aGVjayBpZiBhIHBvcnQgbW9kZSByZXNldCBpcyBuZWVkZWQgZGV0ZXJtaW5lIGZpcnN0IHRoZSB0 YXJnZXQgcG9ydAo+IG1vZGUgYmFzZWQgb24gdGhlIGxpdmUgc3RhdHVzIGlmIGEgc2luayBpcyBh bHJlYWR5IGNvbm5lY3RlZCBvciB0aGUKPiBQSFkgc3RhdHVzIGNvbXBsZXRlIGZsYWcgb3RoZXJ3 aXNlLgo+IAo+IEFkZCBhIFdBUk4gaW4gbGVnYWN5IG1vZGUgaWYgdW5leHBlY3RlZGx5IHdlIGNh bid0IHNldCB0aGUgdW5zYWZlIG1vZGUKPiBvciBpZiB0aGUgRklBIGRvZXNuJ3QgcHJvdmlkZSB0 aGUgNCBsYW5lcyByZXF1aXJlZC4KPiAKPiBDYzogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9z ZS5zb3V6YUBpbnRlbC5jb20+Cj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVs LmNvbT4KPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gQ2M6 IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gU2lnbmVk LW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMgfCA5NiArKysrKysrKysrKystLS0tLS0t LS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCA0OSBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90 Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jCj4gaW5kZXggZmZm ZTRjNGE2NjAyLi5lZDIyNTNiMjFiMDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF90Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF90Yy5jCj4gQEAgLTE3Miw0MSArMTcyLDQzIEBAIHN0YXRpYyBib29sIGljbF90Y19w aHlfc2V0X3NhZmVfbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwKPiAg ICogd2lsbCByZXF1aXJlIGEgbG90IG9mIGNvb3JkaW5hdGlvbiB3aXRoIHVzZXIgc3BhY2UgYW5k IHRob3JvdWdoIHRlc3RpbmcgZm9yCj4gICAqIHRoZSBleHRyYSBwb3NzaWJsZSBjYXNlcy4KPiAg ICovCj4gLXN0YXRpYyBib29sIGljbF90Y19waHlfY29ubmVjdChzdHJ1Y3QgaW50ZWxfZGlnaXRh bF9wb3J0ICpkaWdfcG9ydCkKPiArc3RhdGljIHZvaWQgaWNsX3RjX3BoeV9jb25uZWN0KHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ICB7Cj4gLQl1MzIgbGl2ZV9zdGF0dXNf bWFzazsKPiAtCj4gLQlpZiAoZGlnX3BvcnQtPnRjX21vZGUgIT0gVENfUE9SVF9MRUdBQ1kgJiYK PiAtCSAgICBkaWdfcG9ydC0+dGNfbW9kZSAhPSBUQ19QT1JUX0RQX0FMVCkKPiAtCQlyZXR1cm4g dHJ1ZTsKPiAtCj4gIAlpZiAoIWljbF90Y19waHlfc3RhdHVzX2NvbXBsZXRlKGRpZ19wb3J0KSkg ewo+ICAJCURSTV9ERUJVR19LTVMoIlBvcnQgJXM6IFBIWSBub3QgcmVhZHlcbiIsCj4gIAkJCSAg ICAgIGRpZ19wb3J0LT50Y19wb3J0X25hbWUpOwo+IC0JCVdBUk5fT04oZGlnX3BvcnQtPnRjX2xl Z2FjeV9wb3J0KTsKCkFyZSB3ZSBleHBlY3RpbmcgbGVnYWN5IHBvcnRzIHRvIGluZGljYXRlICJu b3QgY29tcGxldGUiPwoKPiAtCQlyZXR1cm4gZmFsc2U7Cj4gKwkJZ290byBvdXRfc2V0X3RidF9h bHRfbW9kZTsKPiAgCX0KPiAgCj4gLQlpZiAoIWljbF90Y19waHlfc2V0X3NhZmVfbW9kZShkaWdf cG9ydCwgZmFsc2UpKQo+IC0JCXJldHVybiBmYWxzZTsKPiArCWlmICghaWNsX3RjX3BoeV9zZXRf c2FmZV9tb2RlKGRpZ19wb3J0LCBmYWxzZSkgJiYKPiArCSAgICAhV0FSTl9PTihkaWdfcG9ydC0+ dGNfbGVnYWN5X3BvcnQpKQo+ICsJCWdvdG8gb3V0X3NldF90YnRfYWx0X21vZGU7Cj4gIAo+IC0J aWYgKGRpZ19wb3J0LT50Y19tb2RlID09IFRDX1BPUlRfTEVHQUNZKQo+IC0JCXJldHVybiB0cnVl Owo+ICsJaWYgKGRpZ19wb3J0LT50Y19sZWdhY3lfcG9ydCkgewo+ICsJCVdBUk5fT04oaW50ZWxf dGNfcG9ydF9maWFfbWF4X2xhbmVfY291bnQoZGlnX3BvcnQpICE9IDQpOwo+ICsJCWRpZ19wb3J0 LT50Y19tb2RlID0gVENfUE9SVF9MRUdBQ1k7Cj4gIAo+IC0JbGl2ZV9zdGF0dXNfbWFzayA9IHRj X3BvcnRfbGl2ZV9zdGF0dXNfbWFzayhkaWdfcG9ydCk7Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICAK PiAgCS8qCj4gIAkgKiBOb3cgd2UgaGF2ZSB0byByZS1jaGVjayB0aGUgbGl2ZSBzdGF0ZSwgaW4g Y2FzZSB0aGUgcG9ydCByZWNlbnRseQo+ICAJICogYmVjYW1lIGRpc2Nvbm5lY3RlZC4gTm90IG5l Y2Vzc2FyeSBmb3IgbGVnYWN5IG1vZGUuCj4gIAkgKi8KPiAtCWlmICghKGxpdmVfc3RhdHVzX21h c2sgJiBCSVQoVENfUE9SVF9EUF9BTFQpKSkgewo+ICsJaWYgKCEodGNfcG9ydF9saXZlX3N0YXR1 c19tYXNrKGRpZ19wb3J0KSAmIEJJVChUQ19QT1JUX0RQX0FMVCkpKSB7Cj4gIAkJRFJNX0RFQlVH X0tNUygiUG9ydCAlczogUEhZIHN1ZGRlbiBkaXNjb25uZWN0XG4iLAo+ICAJCQkgICAgICBkaWdf cG9ydC0+dGNfcG9ydF9uYW1lKTsKPiAtCQlpY2xfdGNfcGh5X2Rpc2Nvbm5lY3QoZGlnX3BvcnQp Owo+IC0JCXJldHVybiBmYWxzZTsKPiArCQlnb3RvIG91dF9zZXRfc2FmZV9tb2RlOwo+ICAJfQo+ ICAKPiAtCXJldHVybiB0cnVlOwo+ICsJZGlnX3BvcnQtPnRjX21vZGUgPSBUQ19QT1JUX0RQX0FM VDsKPiArCj4gKwlyZXR1cm47Cj4gKwo+ICtvdXRfc2V0X3NhZmVfbW9kZToKPiArCWljbF90Y19w aHlfc2V0X3NhZmVfbW9kZShkaWdfcG9ydCwgdHJ1ZSk7Cj4gK291dF9zZXRfdGJ0X2FsdF9tb2Rl Ogo+ICsJZGlnX3BvcnQtPnRjX21vZGUgPSBUQ19QT1JUX1RCVF9BTFQ7Cj4gIH0KPiAgCj4gIC8q Cj4gQEAgLTIyNywyNyArMjI5LDM3IEBAIHZvaWQgaWNsX3RjX3BoeV9kaXNjb25uZWN0KHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQo+ICAJZGVmYXVsdDoKPiAgCQlNSVNTSU5H X0NBU0UoZGlnX3BvcnQtPnRjX21vZGUpOwo+ICAJfQo+ICt9Cj4gIAo+IC0JRFJNX0RFQlVHX0tN UygiUG9ydCAlczogbW9kZSAlcyBkaXNjb25uZWN0ZWRcbiIsCj4gLQkJICAgICAgZGlnX3BvcnQt PnRjX3BvcnRfbmFtZSwKPiAtCQkgICAgICB0Y19wb3J0X21vZGVfbmFtZShkaWdfcG9ydC0+dGNf bW9kZSkpOwo+ICtzdGF0aWMgZW51bSB0Y19wb3J0X21vZGUKPiAraW50ZWxfdGNfcG9ydF9nZXRf dGFyZ2V0X21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4gK3sKPiAr CXUzMiBsaXZlX3N0YXR1c19tYXNrID0gdGNfcG9ydF9saXZlX3N0YXR1c19tYXNrKGRpZ19wb3J0 KTsKPiArCj4gKwlpZiAobGl2ZV9zdGF0dXNfbWFzaykKPiArCQlyZXR1cm4gZmxzKGxpdmVfc3Rh dHVzX21hc2spIC0gMTsKPiArCj4gKwlyZXR1cm4gaWNsX3RjX3BoeV9zdGF0dXNfY29tcGxldGUo ZGlnX3BvcnQpICYmCj4gKwkgICAgICAgZGlnX3BvcnQtPnRjX2xlZ2FjeV9wb3J0ID8gVENfUE9S VF9MRUdBQ1kgOgo+ICsJCQkJCSAgVENfUE9SVF9UQlRfQUxUOwo+ICB9Cj4gIAo+IC1zdGF0aWMg dm9pZCBpY2xfdXBkYXRlX3RjX3BvcnRfdHlwZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4gLQkJCQkgICAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3Bv cnQsCj4gLQkJCQkgICAgdTMyIGxpdmVfc3RhdHVzX21hc2spCj4gK3N0YXRpYyB2b2lkIGludGVs X3RjX3BvcnRfcmVzZXRfbW9kZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkK PiAgewo+IC0JZW51bSB0Y19wb3J0X21vZGUgb2xkX21vZGUgPSBpbnRlbF9kaWdfcG9ydC0+dGNf bW9kZTsKPiArCWVudW0gdGNfcG9ydF9tb2RlIG9sZF90Y19tb2RlID0gZGlnX3BvcnQtPnRjX21v ZGU7Cj4gIAo+IC0JaWYgKCFsaXZlX3N0YXR1c19tYXNrKQo+IC0JCXJldHVybjsKPiArCWljbF90 Y19waHlfZGlzY29ubmVjdChkaWdfcG9ydCk7Cj4gKwlpY2xfdGNfcGh5X2Nvbm5lY3QoZGlnX3Bv cnQpOwo+ICAKPiAtCWludGVsX2RpZ19wb3J0LT50Y19tb2RlID0gZmxzKGxpdmVfc3RhdHVzX21h c2spIC0gMTsKPiArCURSTV9ERUJVR19LTVMoIlBvcnQgJXM6IFRDIHBvcnQgbW9kZSByZXNldCAo JXMgLT4gJXMpXG4iLAo+ICsJCSAgICAgIGRpZ19wb3J0LT50Y19wb3J0X25hbWUsCj4gKwkJICAg ICAgdGNfcG9ydF9tb2RlX25hbWUob2xkX3RjX21vZGUpLAo+ICsJCSAgICAgIHRjX3BvcnRfbW9k ZV9uYW1lKGRpZ19wb3J0LT50Y19tb2RlKSk7Cj4gK30KPiAgCj4gLQlpZiAob2xkX21vZGUgIT0g aW50ZWxfZGlnX3BvcnQtPnRjX21vZGUpCj4gLQkJRFJNX0RFQlVHX0tNUygiUG9ydCAlczogcG9y dCBoYXMgbW9kZSAlc1xuIiwKPiAtCQkJICAgICAgaW50ZWxfZGlnX3BvcnQtPnRjX3BvcnRfbmFt ZSwKPiAtCQkJICAgICAgdGNfcG9ydF9tb2RlX25hbWUoaW50ZWxfZGlnX3BvcnQtPnRjX21vZGUp KTsKPiArc3RhdGljIGJvb2wgaW50ZWxfdGNfcG9ydF9uZWVkc19yZXNldChzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkKPiArewo+ICsJcmV0dXJuIGludGVsX3RjX3BvcnRfZ2V0 X3RhcmdldF9tb2RlKGRpZ19wb3J0KSAhPSBkaWdfcG9ydC0+dGNfbW9kZTsKPiAgfQo+ICAKPiAg LyoKPiBAQCAtMjYyLDI0ICsyNzQsMTAgQEAgc3RhdGljIHZvaWQgaWNsX3VwZGF0ZV90Y19wb3J0 X3R5cGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAgKi8KPiAgYm9vbCBp bnRlbF90Y19wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9y dCkKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk aWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gLQl1MzIgbGl2ZV9zdGF0dXNfbWFzayA9IHRjX3Bv cnRfbGl2ZV9zdGF0dXNfbWFzayhkaWdfcG9ydCk7Cj4gLQo+IC0JLyoKPiAtCSAqIFRoZSBzcGVj IHNheXMgd2Ugc2hvdWxkbid0IGJlIHVzaW5nIHRoZSBJU1IgYml0cyBmb3IgZGV0ZWN0aW5nCj4g LQkgKiBiZXR3ZWVuIFRDIGFuZCBUQlQuIFdlIHNob3VsZCB1c2UgREZMRVhEUFNQLgo+IC0JICov Cj4gLQlpZiAoIWxpdmVfc3RhdHVzX21hc2sgJiYgIWRpZ19wb3J0LT50Y19sZWdhY3lfcG9ydCkg ewo+IC0JCWljbF90Y19waHlfZGlzY29ubmVjdChkaWdfcG9ydCk7Cj4gLQo+IC0JCXJldHVybiBm YWxzZTsKPiAtCX0KPiAtCj4gLQlpY2xfdXBkYXRlX3RjX3BvcnRfdHlwZShkZXZfcHJpdiwgZGln X3BvcnQsIGxpdmVfc3RhdHVzX21hc2spOwo+IC0JaWYgKCFpY2xfdGNfcGh5X2Nvbm5lY3QoZGln X3BvcnQpKQo+IC0JCXJldHVybiBmYWxzZTsKPiArCWlmIChpbnRlbF90Y19wb3J0X25lZWRzX3Jl c2V0KGRpZ19wb3J0KSkKPiArCQlpbnRlbF90Y19wb3J0X3Jlc2V0X21vZGUoZGlnX3BvcnQpOwo+ ICAKPiAtCXJldHVybiB0cnVlOwo+ICsJcmV0dXJuIHRjX3BvcnRfbGl2ZV9zdGF0dXNfbWFzayhk aWdfcG9ydCkgJiBCSVQoZGlnX3BvcnQtPnRjX21vZGUpOwo+ICB9Cj4gIAo+ICB2b2lkIGludGVs X3RjX3BvcnRfaW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwgYm9vbCBp c19sZWdhY3kpCj4gLS0gCj4gMi4xNy4xCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==