From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhigang Gong" Subject: Re: [PATCH 1/3] drm/i915: Fix command parser to validate multiple register access with the same command. Date: Tue, 2 Jun 2015 17:36:26 +0800 Message-ID: <000901d09d17$99c5f380$cd51da80$@linux.intel.com> References: <1432907055-8268-1-git-send-email-currojerez@riseup.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 7C03C6E7DC for ; Tue, 2 Jun 2015 02:36:29 -0700 (PDT) In-Reply-To: <1432907055-8268-1-git-send-email-currojerez@riseup.net> Content-Language: en-us List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: 'Francisco Jerez' , intel-gfx@lists.freedesktop.org Cc: 'Brad Volkin' List-Id: intel-gfx@lists.freedesktop.org VGhlIHBhdGNoc2V0IExHVE0gYW5kIHdvcmtzIHdlbGwgd2l0aCBiZWlnbmV0LiBUaGUgODAlKyBw ZXJmb3JtYW5jZSByZWdyZXNzaW9uIGlzc3VlIGluIGRhcmt0YWJsZSBhbHNvIGhhcyBiZWVuIGZp eGVkCmFmdGVyIHRoaXMgcGF0Y2hzZXQgYXBwbGllZCBhbmQgZW5hYmxlIHRoZSBhdG9taWMgaW4g TDMgYXQgYmVpZ25ldCBzaWRlLiBTbywKClJldmlld2VkLWJ5OiBaaGlnYW5nIEdvbmcgPHpoaWdh bmcuZ29uZ0BsaW51eC5pbnRlbC5jb20+CgpUaGFua3MsClpoaWdhbmcgR29uZy4KCj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0KPiBGcm9tOiBGcmFuY2lzY28gSmVyZXogW21haWx0bzpjdXJy b2plcmV6QHJpc2V1cC5uZXRdCj4gU2VudDogRnJpZGF5LCBNYXkgMjksIDIwMTUgOTo0NCBQTQo+ IFRvOiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gQ2M6IFZpbGxlIFN5cmrDpGzD pDsgWmhpZ2FuZyBHb25nOyBCcmFkIFZvbGtpbgo+IFN1YmplY3Q6IFtQQVRDSCAxLzNdIGRybS9p OTE1OiBGaXggY29tbWFuZCBwYXJzZXIgdG8gdmFsaWRhdGUgbXVsdGlwbGUKPiByZWdpc3RlciBh Y2Nlc3Mgd2l0aCB0aGUgc2FtZSBjb21tYW5kLgo+IAo+IFVudGlsIG5vdyB0aGUgc29mdHdhcmUg Y29tbWFuZCBjaGVja2VyIGFzc3VtZWQgdGhhdCBjb21tYW5kcyBjb3VsZCByZWFkCj4gb3Igd3Jp dGUgYXQgbW9zdCBhIHNpbmdsZSByZWdpc3RlciBwZXIgcGFja2V0LiAgVGhpcyBpcyBub3QgbmVj ZXNzYXJpbHkgdGhlIGNhc2UsCj4gTUlfTE9BRF9SRUdJU1RFUl9JTU0gZXhwZWN0cyBhIHZhcmlh YmxlLWxlbmd0aCBsaXN0IG9mIG9mZnNldC92YWx1ZSBwYWlycwo+IGFuZCB3cml0ZXMgdGhlbSBp biBzZXF1ZW5jZS4gIFRoZSBwcmV2aW91cyBjb2RlIHdvdWxkIG9ubHkgY2hlY2sgd2hldGhlcgo+ IHRoZSBmaXJzdCBlbnRyeSB3YXMgdmFsaWQsIGVmZmVjdGl2ZWx5IGFsbG93aW5nIHVzZXJzcGFj ZSB0byB3cml0ZSB1bnJlc3RyaWN0ZWQKPiByZWdpc3RlcnMgb2YgdGhlIE1NSU8gc3BhY2UgYnkg c2VuZGluZyBhIG11bHRpLXJlZ2lzdGVyIHdyaXRlIHdpdGggYSBsZWdhbCBmaXJzdAo+IHJlZ2lz dGVyLCB3aXRoIHBvdGVudGlhbCBzZWN1cml0eSBpbXBsaWNhdGlvbnMgb24gR2VuNiBhbmQgNyBo YXJkd2FyZS4KPiAKPiBGaXggaXQgYnkgZXh0ZW5kaW5nIHRoZSBkcm1faTkxNV9jbWRfZGVzY3Jp cHRvciB0YWJsZSB0byByZXByZXNlbnQKPiBtdWx0aS1yZWdpc3RlciBhY2Nlc3MgYW5kIG1ha2lu ZyB2YWxpZGF0ZV9jbWQoKSBpdGVyYXRlIGZvciBhbGwgcmVnaXN0ZXIgb2Zmc2V0cwo+IHByZXNl bnQgaW4gdGhlIGNvbW1hbmQgcGFja2V0Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IEZyYW5jaXNjbyBK ZXJleiA8Y3Vycm9qZXJlekByaXNldXAubmV0Pgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2NtZF9wYXJzZXIuYyB8IDc0Cj4gKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICB8ICA1ICsrKwo+ ICAyIGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2NtZF9wYXJzZXIuYwo+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMKPiBpbmRleCA2MWFlOGZmLi5j NGE1ZjczIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfY21kX3BhcnNl ci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jbWRfcGFyc2VyLmMKPiBAQCAt MTIzLDcgKzEyMyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfY21kX2Rlc2NyaXB0 b3IKPiBjb21tb25fY21kc1tdID0gewo+ICAJQ01EKCAgTUlfU0VNQVBIT1JFX01CT1gsICAgICAg ICAgICAgICAgIFNNSSwgICAhRiwgIDB4RkYsCj4gUiAgKSwKPiAgCUNNRCggIE1JX1NUT1JFX0RX T1JEX0lOREVYLCAgICAgICAgICAgICBTTUksICAgIUYsICAweEZGLAo+IFIgICksCj4gIAlDTUQo ICBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKSwgICAgICAgICAgU01JLCAgICFGLCAgMHhGRiwKPiBX LAo+IC0JICAgICAgLnJlZyA9IHsgLm9mZnNldCA9IDEsIC5tYXNrID0gMHgwMDdGRkZGQyB9ICAg ICAgICAgICAgICAgKSwKPiArCSAgICAgIC5yZWcgPSB7IC5vZmZzZXQgPSAxLCAubWFzayA9IDB4 MDA3RkZGRkMsIC5zdGVwID0gMiB9ICAgICksCj4gIAlDTUQoICBNSV9TVE9SRV9SRUdJU1RFUl9N RU0oMSksICAgICAgICAgU01JLCAgICFGLCAgMHhGRiwKPiBXIHwgQiwKPiAgCSAgICAgIC5yZWcg PSB7IC5vZmZzZXQgPSAxLCAubWFzayA9IDB4MDA3RkZGRkMgfSwKPiAgCSAgICAgIC5iaXRzID0g e3sKPiBAQCAtOTM5LDcgKzkzOSw3IEBAIGJvb2wgaTkxNV9uZWVkc19jbWRfcGFyc2VyKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MKPiAqcmluZykKPiAKPiAgc3RhdGljIGJvb2wgY2hlY2tfY21kKGNv bnN0IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gIAkJICAgICAgY29uc3Qgc3RydWN0 IGRybV9pOTE1X2NtZF9kZXNjcmlwdG9yICpkZXNjLAo+IC0JCSAgICAgIGNvbnN0IHUzMiAqY21k LAo+ICsJCSAgICAgIGNvbnN0IHUzMiAqY21kLCB1MzIgbGVuZ3RoLAo+ICAJCSAgICAgIGNvbnN0 IGJvb2wgaXNfbWFzdGVyLAo+ICAJCSAgICAgIGJvb2wgKm9hY29udHJvbF9zZXQpCj4gIHsKPiBA QCAtOTU1LDM4ICs5NTUsNDkgQEAgc3RhdGljIGJvb2wgY2hlY2tfY21kKGNvbnN0IHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MKPiAqcmluZywKPiAgCX0KPiAKPiAgCWlmIChkZXNjLT5mbGFncyAmIENN RF9ERVNDX1JFR0lTVEVSKSB7Cj4gLQkJdTMyIHJlZ19hZGRyID0gY21kW2Rlc2MtPnJlZy5vZmZz ZXRdICYgZGVzYy0+cmVnLm1hc2s7Cj4gLQo+ICAJCS8qCj4gLQkJICogT0FDT05UUk9MIHJlcXVp cmVzIHNvbWUgc3BlY2lhbCBoYW5kbGluZyBmb3Igd3JpdGVzLiBXZQo+IC0JCSAqIHdhbnQgdG8g bWFrZSBzdXJlIHRoYXQgYW55IGJhdGNoIHdoaWNoIGVuYWJsZXMgT0EgYWxzbwo+IC0JCSAqIGRp c2FibGVzIGl0IGJlZm9yZSB0aGUgZW5kIG9mIHRoZSBiYXRjaC4gVGhlIGdvYWwgaXMgdG8KPiAt CQkgKiBwcmV2ZW50IG9uZSBwcm9jZXNzIGZyb20gc25vb3Bpbmcgb24gdGhlIHBlcmYgZGF0YSBm cm9tCj4gLQkJICogYW5vdGhlciBwcm9jZXNzLiBUbyBkbyB0aGF0LCB3ZSBuZWVkIHRvIGNoZWNr IHRoZSB2YWx1ZQo+IC0JCSAqIHRoYXQgd2lsbCBiZSB3cml0dGVuIHRvIHRoZSByZWdpc3Rlci4g SGVuY2UsIGxpbWl0Cj4gLQkJICogT0FDT05UUk9MIHdyaXRlcyB0byBvbmx5IE1JX0xPQURfUkVH SVNURVJfSU1NCj4gY29tbWFuZHMuCj4gKwkJICogR2V0IHRoZSBkaXN0YW5jZSBiZXR3ZWVuIGlu ZGl2aWR1YWwgcmVnaXN0ZXIgb2Zmc2V0Cj4gKwkJICogZmllbGRzIGlmIHRoZSBjb21tYW5kIGNh biBwZXJmb3JtIG1vcmUgdGhhbiBvbmUKPiArCQkgKiBhY2Nlc3MgYXQgYSB0aW1lLgo+ICAJCSAq Lwo+IC0JCWlmIChyZWdfYWRkciA9PSBPQUNPTlRST0wpIHsKPiAtCQkJaWYgKGRlc2MtPmNtZC52 YWx1ZSA9PSBNSV9MT0FEX1JFR0lTVEVSX01FTSkgewo+IC0JCQkJRFJNX0RFQlVHX0RSSVZFUigi Q01EOiBSZWplY3RlZCBMUk0gdG8KPiBPQUNPTlRST0xcbiIpOwo+IC0JCQkJcmV0dXJuIGZhbHNl Owo+ICsJCWNvbnN0IHUzMiBzdGVwID0gZGVzYy0+cmVnLnN0ZXAgPyBkZXNjLT5yZWcuc3RlcCA6 IGxlbmd0aDsKPiArCQl1MzIgb2Zmc2V0Owo+ICsKPiArCQlmb3IgKG9mZnNldCA9IGRlc2MtPnJl Zy5vZmZzZXQ7IG9mZnNldCA8IGxlbmd0aDsKPiArCQkgICAgIG9mZnNldCArPSBzdGVwKSB7Cj4g KwkJCWNvbnN0IHUzMiByZWdfYWRkciA9IGNtZFtvZmZzZXRdICYgZGVzYy0+cmVnLm1hc2s7Cj4g Kwo+ICsJCQkvKgo+ICsJCQkgKiBPQUNPTlRST0wgcmVxdWlyZXMgc29tZSBzcGVjaWFsIGhhbmRs aW5nIGZvcgo+ICsJCQkgKiB3cml0ZXMuIFdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoYXQgYW55IGJh dGNoIHdoaWNoCj4gKwkJCSAqIGVuYWJsZXMgT0EgYWxzbyBkaXNhYmxlcyBpdCBiZWZvcmUgdGhl IGVuZCBvZiB0aGUKPiArCQkJICogYmF0Y2guIFRoZSBnb2FsIGlzIHRvIHByZXZlbnQgb25lIHBy b2Nlc3MgZnJvbQo+ICsJCQkgKiBzbm9vcGluZyBvbiB0aGUgcGVyZiBkYXRhIGZyb20gYW5vdGhl ciBwcm9jZXNzLiBUbyBkbwo+ICsJCQkgKiB0aGF0LCB3ZSBuZWVkIHRvIGNoZWNrIHRoZSB2YWx1 ZSB0aGF0IHdpbGwgYmUgd3JpdHRlbgo+ICsJCQkgKiB0byB0aGUgcmVnaXN0ZXIuIEhlbmNlLCBs aW1pdCBPQUNPTlRST0wgd3JpdGVzIHRvCj4gKwkJCSAqIG9ubHkgTUlfTE9BRF9SRUdJU1RFUl9J TU0gY29tbWFuZHMuCj4gKwkJCSAqLwo+ICsJCQlpZiAocmVnX2FkZHIgPT0gT0FDT05UUk9MKSB7 Cj4gKwkJCQlpZiAoZGVzYy0+Y21kLnZhbHVlID09IE1JX0xPQURfUkVHSVNURVJfTUVNKSB7Cj4g KwkJCQkJRFJNX0RFQlVHX0RSSVZFUigiQ01EOiBSZWplY3RlZCBMUk0gdG8KPiBPQUNPTlRST0xc biIpOwo+ICsJCQkJCXJldHVybiBmYWxzZTsKPiArCQkJCX0KPiArCj4gKwkJCQlpZiAoZGVzYy0+ Y21kLnZhbHVlID09IE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKQo+ICsJCQkJCSpvYWNvbnRyb2xf c2V0ID0gKGNtZFtvZmZzZXQgKyAxXSAhPSAwKTsKPiAgCQkJfQo+IAo+IC0JCQlpZiAoZGVzYy0+ Y21kLnZhbHVlID09IE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKQo+IC0JCQkJKm9hY29udHJvbF9z ZXQgPSAoY21kWzJdICE9IDApOwo+IC0JCX0KPiAtCj4gLQkJaWYgKCF2YWxpZF9yZWcocmluZy0+ cmVnX3RhYmxlLAo+IC0JCQkgICAgICAgcmluZy0+cmVnX2NvdW50LCByZWdfYWRkcikpIHsKPiAt CQkJaWYgKCFpc19tYXN0ZXIgfHwKPiAtCQkJICAgICF2YWxpZF9yZWcocmluZy0+bWFzdGVyX3Jl Z190YWJsZSwKPiAtCQkJCSAgICAgICByaW5nLT5tYXN0ZXJfcmVnX2NvdW50LAo+IC0JCQkJICAg ICAgIHJlZ19hZGRyKSkgewo+IC0JCQkJRFJNX0RFQlVHX0RSSVZFUigiQ01EOiBSZWplY3RlZCBy ZWdpc3RlciAweCUwOFggaW4KPiBjb21tYW5kOiAweCUwOFggKHJpbmc9JWQpXG4iLAo+IC0JCQkJ CQkgcmVnX2FkZHIsCj4gLQkJCQkJCSAqY21kLAo+IC0JCQkJCQkgcmluZy0+aWQpOwo+IC0JCQkJ cmV0dXJuIGZhbHNlOwo+ICsJCQlpZiAoIXZhbGlkX3JlZyhyaW5nLT5yZWdfdGFibGUsCj4gKwkJ CQkgICAgICAgcmluZy0+cmVnX2NvdW50LCByZWdfYWRkcikpIHsKPiArCQkJCWlmICghaXNfbWFz dGVyIHx8Cj4gKwkJCQkgICAgIXZhbGlkX3JlZyhyaW5nLT5tYXN0ZXJfcmVnX3RhYmxlLAo+ICsJ CQkJCSAgICAgICByaW5nLT5tYXN0ZXJfcmVnX2NvdW50LAo+ICsJCQkJCSAgICAgICByZWdfYWRk cikpIHsKPiArCQkJCQlEUk1fREVCVUdfRFJJVkVSKCJDTUQ6IFJlamVjdGVkIHJlZ2lzdGVyCj4g MHglMDhYIGluIGNvbW1hbmQ6IDB4JTA4WCAocmluZz0lZClcbiIsCj4gKwkJCQkJCQkgcmVnX2Fk ZHIsICpjbWQsCj4gKwkJCQkJCQkgcmluZy0+aWQpOwo+ICsJCQkJCXJldHVybiBmYWxzZTsKPiAr CQkJCX0KPiAgCQkJfQo+ICAJCX0KPiAgCX0KPiBAQCAtMTExMCw3ICsxMTIxLDggQEAgaW50IGk5 MTVfcGFyc2VfY21kcyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAJCQlicmVhazsK PiAgCQl9Cj4gCj4gLQkJaWYgKCFjaGVja19jbWQocmluZywgZGVzYywgY21kLCBpc19tYXN0ZXIs ICZvYWNvbnRyb2xfc2V0KSkgewo+ICsJCWlmICghY2hlY2tfY21kKHJpbmcsIGRlc2MsIGNtZCwg bGVuZ3RoLCBpc19tYXN0ZXIsCj4gKwkJCSAgICAgICAmb2Fjb250cm9sX3NldCkpIHsKPiAgCQkJ cmV0ID0gLUVJTlZBTDsKPiAgCQkJYnJlYWs7Cj4gIAkJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+IGluZGV4IDhhZTZmN2YuLjM4NTAyODggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK PiBAQCAtMjIyOCwxMCArMjIyOCwxNSBAQCBzdHJ1Y3QgZHJtX2k5MTVfY21kX2Rlc2NyaXB0b3Ig ewo+ICAJICogRGVzY3JpYmVzIHdoZXJlIHRvIGZpbmQgYSByZWdpc3RlciBhZGRyZXNzIGluIHRo ZSBjb21tYW5kIHRvIGNoZWNrCj4gIAkgKiBhZ2FpbnN0IHRoZSByaW5nJ3MgcmVnaXN0ZXIgd2hp dGVsaXN0LiBPbmx5IHZhbGlkIGlmIGZsYWdzIGhhcyB0aGUKPiAgCSAqIENNRF9ERVNDX1JFR0lT VEVSIGJpdCBzZXQuCj4gKwkgKgo+ICsJICogQSBub24temVybyBzdGVwIHZhbHVlIGltcGxpZXMg dGhhdCB0aGUgY29tbWFuZCBtYXkgYWNjZXNzIG11bHRpcGxlCj4gKwkgKiByZWdpc3RlcnMgaW4g c2VxdWVuY2UgKGUuZy4gTFJJKSwgaW4gdGhhdCBjYXNlIHN0ZXAgZ2l2ZXMgdGhlCj4gKwkgKiBk aXN0YW5jZSBpbiBkd29yZHMgYmV0d2VlbiBpbmRpdmlkdWFsIG9mZnNldCBmaWVsZHMuCj4gIAkg Ki8KPiAgCXN0cnVjdCB7Cj4gIAkJdTMyIG9mZnNldDsKPiAgCQl1MzIgbWFzazsKPiArCQl1MzIg c3RlcDsKPiAgCX0gcmVnOwo+IAo+ICAjZGVmaW5lIE1BWF9DTURfREVTQ19CSVRNQVNLUyAzCj4g LS0KPiAyLjMuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK