From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 2/3] drm/i915: Fix userptr deadlock with MAP_FIXED Date: Wed, 01 Jul 2015 12:14:34 +0100 Message-ID: <5593CB9A.5080401@linux.intel.com> References: <1435676470-18125-1-git-send-email-michal.winiarski@intel.com> <1435683333-17844-1-git-send-email-chris@chris-wilson.co.uk> <1435683333-17844-2-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id B8C076E53F for ; Wed, 1 Jul 2015 04:14:36 -0700 (PDT) In-Reply-To: <1435683333-17844-2-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: stable@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA2LzMwLzIwMTUgMDU6NTUgUE0sIENocmlzIFdpbHNvbiB3cm90ZToKPiBNaWNoYcWCIFdp bmlhcnNraSBmb3VuZCBhIHJlYWxseSBldmlsIHdheSB0byB0cmlnZ2VyIGEgc3RydWN0X211dGV4 Cj4gZGVhZGxvY2sgd2l0aCB1c2VycHRyLiBIZSBmb3VuZCB0aGF0IGlmIGhlIGFsbG9jYXRlZCBh IHVzZXJwdHIgYm8gYW5kCj4gdGhlbiBHVFQgbW1hcGVkIGFub3RoZXIgYm8sIG9yIGV2ZW4gaXRz ZWxmLCBhdCB0aGUgc2FtZSBhZGRyZXNzIGFzIHRoZQo+IHVzZXJwdHIgdXNpbmcgTUFQX0ZJWEVE LCBoZSBjb3VsZCB0aGVuIGNhdXNlIGEgZGVhZGxvY2sgYW55IHRpbWUgd2UgdGhlbgo+IGhhZCB0 byBpbnZhbGlkYXRlIHRoZSBHVFQgbW1hcHBpbmdzIChzbyBhdCB3aWxsKS4KPgo+IFRvIGNvdW50 ZXIgYWN0IHRoZSBkZWFkbG9jaywgd2UgbWFrZSB0aGUgb2JzZXJ2YXRpb24gdGhhdCB3aGVuIHRo ZQo+IE1BUF9GSVhFRCBpcyBtYWRlIHdlIHdvdWxkIGhhdmUgYW4gaW52YWxpZGF0ZV9yYW5nZSBl dmVudCBmb3Igb3VyCj4gb2JqZWN0LiBBZnRlciB0aGF0IHdlIHNob3VsZCBubyBsb25nZXIgYWxp YXMgd2l0aCB0aGUgcm9ndWUgbW1hcHBpbmcuIElmCj4gd2UgYXJlIHRoZW4gYWJsZSB0byBtYXJr IHRoZSBvYmplY3QgYXMgbm8gbG9uZ2VyIGluIHVzZSBhZnRlciB0aGUgZmlyc3QKPiBpbnZhbGlk YXRlLCB3ZSBkbyBub3QgbmVlZCB0byBncmFiIHRoZSBzdHJ1Y3RfbXV0ZXggZm9yIHRoZSBzdWJz ZXF1ZW50Cj4gaW52YWxpZGF0aW9ucy4KPgo+IFRoZSBwYXRjaCBtYWtlcyBvbmUgZXllLWNhdGNo aW5nIGNoYW5nZS4gVGhhdCBpcyB0aGUgcmVtb3ZhbCBzZXJpYWw9MAo+IGFmdGVyIGRldGVjdGlu ZyBhIHRvLWJlLWZyZWVkIG9iamVjdCBpbnNpZGUgdGhlIGludmFsaWRhdGUgd2Fsa2VyLiBJCj4g ZmVsdCBzZXR0aW5nIHNlcmlhbD0wIHdhcyBhIHF1ZXN0aW9uYWJsZSBwZXNzaW1pc2F0aW9uOiBp dCBkZW5pZXMgdXMgdGhlCj4gY2hhbmNlIHRvIHJldXNlIHRoZSBjdXJyZW50IGl0ZXJhdG9yIGZv ciB0aGUgbmV4dCBsb29wIChiZWZvcmUgaXQgaXMKPiBmcmVlZCkgYW5kIGJlaW5nIGV4cGxpY2l0 IG1ha2VzIHRoZSByZWFkZXIgcXVlc3Rpb24gdGhlIHZhbGlkaXR5IG9mIHRoZQo+IGxvY2tpbmcg KHNpbmNlIHRoZSBvYmplY3QtZnJlZSByYWNlIGNvdWxkIG9jY3VyIGVsc2V3aGVyZSkuIFRoZQo+ IHNlcmlhbGlzYXRpb24gb2YgdGhlIGl0ZXJhdG9yIGlzIHRocm91Z2ggdGhlIHNwaW5sb2NrLCBp ZiB0aGUgb2JqZWN0IGlzCj4gZnJlZWQgYmVmb3JlIHRoZSBuZXh0IGxvb3AgdGhlbiB0aGUgbm90 aWZpZXIuc2VyaWFsIHdpbGwgYmUgaW5jcmVtZW50ZWQKPiBhbmQgd2Ugc3RhcnQgdGhlIHdhbGsg ZnJvbSB0aGUgYmVnaW5uaW5nIGFzIHdlIGRldGVjdCB0aGUgaW52YWxpZCBjYWNoZS4KPgo+IHYy OiBHcmFtbWFyIGZpeGVzCj4gdjM6IFJlb3JkZXIgc2V0LWFjdGl2ZSBzbyB0aGF0IGl0IGlzIG9u bHkgc2V0IHdoZW4gb2JqLT5wYWdlcyBpcyBzZXQKPiAoYW5kIHNvIG5lZWRzIGNhbmNlbGxhdGlv bikuIE9ubHkgdGhlIG9yZGVyIG9mIHNldHRpbmcgb2JqLT5wYWdlcyBhbmQKPiB0aGUgYWN0aXZl LWZsYWcgaXMgY3J1Y2lhbC4gQ2FsbGluZyBndXAgYWZ0ZXIgaW52YWxpZGF0ZS1yYW5nZSBiZWdp bgo+IG1lYW5zIHRoZSB1c2VycHRyIHNlZXMgdGhlIG5ldyBzZXQgb2YgYmFja2luZyBzdG9yYWdl IChhbmQgc28gd2lsbCBub3QKPiBuZWVkIHRvIGludmFsaWRhdGUgaXRzIG5ldyBwYWdlcyksIGJ1 dCB3ZSBoYXZlIHRvIGJlIGNhcmVmdWwgbm90IHRvIHNldAo+IHRoZSBhY3RpdmUtZmxhZyBwcmlv ciB0byBzdWNjZXNzZnVsbHkgZXN0YWJsaXNoaW5nIG9iai0+cGFnZXMuCj4KPiBSZXBvcnRlZC1i eTogTWljaGHFgiBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgo+IFRlc3Rj YXNlOiBpZ3QvZ2VtX3VzZXJwdHJfYmxpdHMvbWFwLWZpeGVkKgo+IFNpZ25lZC1vZmYtYnk6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBNaWNoYcWCIFdpbmlh cnNraSA8bWljaGFsLndpbmlhcnNraUBpbnRlbC5jb20+Cj4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0 dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcKPiAt LS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYyB8IDQzICsrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDM2IGluc2Vy dGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f dXNlcnB0ci5jCj4gaW5kZXggY2IzNjdkOWY3OTA5Li5kMzIxM2ZkZWZhZmMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCj4gQEAgLTU5LDYgKzU5LDcgQEAgc3Ry dWN0IGk5MTVfbW11X29iamVjdCB7Cj4gICAJc3RydWN0IGludGVydmFsX3RyZWVfbm9kZSBpdDsK PiAgIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iajsKPiArCWJvb2wgYWN0aXZlOwo+ICAgCWJvb2wgaXNfbGluZWFyOwo+ICAgfTsKPgo+ IEBAIC0xMTQsNyArMTE1LDggQEAgcmVzdGFydDoKPgo+ICAgCQlvYmogPSBtby0+b2JqOwo+Cj4g LQkJaWYgKCFrcmVmX2dldF91bmxlc3NfemVybygmb2JqLT5iYXNlLnJlZmNvdW50KSkKPiArCQlp ZiAoIW1vLT5hY3RpdmUgfHwKPiArCQkgICAgIWtyZWZfZ2V0X3VubGVzc196ZXJvKCZvYmotPmJh c2UucmVmY291bnQpKQo+ICAgCQkJY29udGludWU7Cj4KPiAgIAkJc3Bpbl91bmxvY2soJm1uLT5s b2NrKTsKPiBAQCAtMTUxLDcgKzE1Myw4IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3VzZXJwdHJf bW5faW52YWxpZGF0ZV9yYW5nZV9zdGFydChzdHJ1Y3QgbW11X25vdGlmaWVyICpfbW4sCj4gICAJ CWVsc2UKPiAgIAkJCWl0ID0gaW50ZXJ2YWxfdHJlZV9pdGVyX2ZpcnN0KCZtbi0+b2JqZWN0cywg c3RhcnQsIGVuZCk7Cj4gICAJCWlmIChpdCAhPSBOVUxMKSB7Cj4gLQkJCW9iaiA9IGNvbnRhaW5l cl9vZihpdCwgc3RydWN0IGk5MTVfbW11X29iamVjdCwgaXQpLT5vYmo7Cj4gKwkJCXN0cnVjdCBp OTE1X21tdV9vYmplY3QgKm1vID0KPiArCQkJCWNvbnRhaW5lcl9vZihpdCwgc3RydWN0IGk5MTVf bW11X29iamVjdCwgaXQpOwo+Cj4gICAJCQkvKiBUaGUgbW11X29iamVjdCBpcyByZWxlYXNlZCBs YXRlIHdoZW4gZGVzdHJveWluZyB0aGUKPiAgIAkJCSAqIEdFTSBvYmplY3Qgc28gaXQgaXMgZW50 aXJlbHkgcG9zc2libGUgdG8gZ2FpbiBhCj4gQEAgLTE2MCwxMSArMTYzLDkgQEAgc3RhdGljIHZv aWQgaTkxNV9nZW1fdXNlcnB0cl9tbl9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KHN0cnVjdCBtbXVf bm90aWZpZXIgKl9tbiwKPiAgIAkJCSAqIHRoZSBzdHJ1Y3RfbXV0ZXggLSBhbmQgY29uc2VxdWVu dGx5IHVzZSBpdCBhZnRlciBpdAo+ICAgCQkJICogaXMgZnJlZWQgYW5kIHRoZW4gZG91YmxlIGZy ZWUgaXQuCj4gICAJCQkgKi8KPiAtCQkJaWYgKCFrcmVmX2dldF91bmxlc3NfemVybygmb2JqLT5i YXNlLnJlZmNvdW50KSkgewo+IC0JCQkJc3Bpbl91bmxvY2soJm1uLT5sb2NrKTsKPiAtCQkJCXNl cmlhbCA9IDA7Cj4gLQkJCQljb250aW51ZTsKPiAtCQkJfQo+ICsJCQlpZiAobW8tPmFjdGl2ZSAm Jgo+ICsJCQkgICAga3JlZl9nZXRfdW5sZXNzX3plcm8oJm1vLT5vYmotPmJhc2UucmVmY291bnQp KQo+ICsJCQkJb2JqID0gbW8tPm9iajsKPgo+ICAgCQkJc2VyaWFsID0gbW4tPnNlcmlhbDsKPiAg IAkJfQo+IEBAIC01NDYsNiArNTQ3LDMwIEBAIGVycjoKPiAgIH0KPgo+ICAgc3RhdGljIHZvaWQK PiArX19pOTE1X2dlbV91c2VycHRyX3NldF9hY3RpdmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaiwKPiArCQkJICAgICAgYm9vbCB2YWx1ZSkKPiArewo+ICsJLyogRHVyaW5nIG1tX2lu dmFsaWRhdGVfcmFuZ2Ugd2UgbmVlZCB0byBjYW5jZWwgYW55IHVzZXJwdHIgdGhhdAo+ICsJICog b3ZlcmxhcHMgdGhlIHJhbmdlIGJlaW5nIGludmFsaWRhdGVkLiBEb2luZyBzbyByZXF1aXJlcyB0 aGUKPiArCSAqIHN0cnVjdF9tdXRleCwgYW5kIHRoYXQgcmlza3MgcmVjdXJzaW9uLiBJbiBvcmRl ciB0byBjYXVzZQo+ICsJICogcmVjdXJzaW9uLCB0aGUgdXNlciBtdXN0IGFsaWFzIHRoZSB1c2Vy cHRyIGFkZHJlc3Mgc3BhY2Ugd2l0aAo+ICsJICogYSBHVFQgbW1hcHBpbmcgKHBvc3NpYmxlIHdp dGggYSBNQVBfRklYRUQpIC0gdGhlbiB3aGVuIHdlIGhhdmUKPiArCSAqIHRvIGludmFsaWRhdGUg dGhhdCBtbWFwaW5nLCBtbV9pbnZhbGlkYXRlX3JhbmdlIGlzIGNhbGxlZCB3aXRoCj4gKwkgKiB0 aGUgdXNlcnB0ciBhZGRyZXNzICphbmQqIHRoZSBzdHJ1Y3RfbXV0ZXggaGVsZC4gIFRvIHByZXZl bnQgdGhhdAo+ICsJICogd2Ugc2V0IGEgZmxhZyB1bmRlciB0aGUgaTkxNV9tbXVfbm90aWZpZXIg c3BpbmxvY2sgdG8gaW5kaWNhdGUKPiArCSAqIHdoZXRoZXIgdGhpcyBvYmplY3QgaXMgdmFsaWQu Cj4gKwkgKi8KPiArI2lmIGRlZmluZWQoQ09ORklHX01NVV9OT1RJRklFUikKPiArCWlmIChvYmot PnVzZXJwdHIubW11X29iamVjdCA9PSBOVUxMKQo+ICsJCXJldHVybjsKPiArCj4gKwlzcGluX2xv Y2soJm9iai0+dXNlcnB0ci5tbXVfb2JqZWN0LT5tbi0+bG9jayk7Cj4gKwlvYmotPnVzZXJwdHIu bW11X29iamVjdC0+YWN0aXZlID0gdmFsdWU7Cj4gKwlzcGluX3VubG9jaygmb2JqLT51c2VycHRy Lm1tdV9vYmplY3QtPm1uLT5sb2NrKTsKPiArI2VuZGlmCgpXb3VsZCB0aGlzIGJlIG1vcmUgb2J2 aW91cyBhcyBhdG9taWNfdD8gU2luY2UgSSBzdXNwZWN0IHNwaW5sb2NrIGlzIGp1c3QgCmZvciB0 aGUgbWVtb3J5IGJhcnJpZXIsIGlmIHRoYXQuIEhtLi4gV2hhdCBpZiB3ZSBnZXQgaW52YWxpZGF0 ZSB3aGlsZSAKZ2V0X3BhZ2VzIGlzIHJ1bm5pbmcsIGJlZm9yZSBpdCBzZXQgYWN0aXZlIGJ1dCBh ZnRlciBndXAgaGFzIHN1Y2NlZWRlZD8KCj4gKwo+ICtzdGF0aWMgdm9pZAo+ICAgX19pOTE1X2dl bV91c2VycHRyX2dldF9wYWdlc193b3JrZXIoc3RydWN0IHdvcmtfc3RydWN0ICpfd29yaykKPiAg IHsKPiAgIAlzdHJ1Y3QgZ2V0X3BhZ2VzX3dvcmsgKndvcmsgPSBjb250YWluZXJfb2YoX3dvcmss IHR5cGVvZigqd29yayksIHdvcmspOwo+IEBAIC01ODUsNiArNjEwLDcgQEAgX19pOTE1X2dlbV91 c2VycHRyX2dldF9wYWdlc193b3JrZXIoc3RydWN0IHdvcmtfc3RydWN0ICpfd29yaykKPiAgIAkJ aWYgKHBpbm5lZCA9PSBudW1fcGFnZXMpIHsKPiAgIAkJCXJldCA9IHN0X3NldF9wYWdlcygmb2Jq LT5wYWdlcywgcHZlYywgbnVtX3BhZ2VzKTsKPiAgIAkJCWlmIChyZXQgPT0gMCkgewo+ICsJCQkJ X19pOTE1X2dlbV91c2VycHRyX3NldF9hY3RpdmUob2JqLCB0cnVlKTsKPiAgIAkJCQlsaXN0X2Fk ZF90YWlsKCZvYmotPmdsb2JhbF9saXN0LCAmdG9faTkxNShkZXYpLT5tbS51bmJvdW5kX2xpc3Qp Owo+ICAgCQkJCXBpbm5lZCA9IDA7Cj4gICAJCQl9Cj4gQEAgLTY5OSw2ICs3MjUsNyBAQCBpOTE1 X2dlbV91c2VycHRyX2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ ICAgCX0gZWxzZSB7Cj4gICAJCXJldCA9IHN0X3NldF9wYWdlcygmb2JqLT5wYWdlcywgcHZlYywg bnVtX3BhZ2VzKTsKPiAgIAkJaWYgKHJldCA9PSAwKSB7Cj4gKwkJCV9faTkxNV9nZW1fdXNlcnB0 cl9zZXRfYWN0aXZlKG9iaiwgdHJ1ZSk7Cj4gICAJCQlvYmotPnVzZXJwdHIud29yayA9IE5VTEw7 Cj4gICAJCQlwaW5uZWQgPSAwOwo+ICAgCQl9Cj4gQEAgLTczMiw2ICs3NTksOCBAQCBpOTE1X2dl bV91c2VycHRyX3B1dF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+Cj4g ICAJc2dfZnJlZV90YWJsZShvYmotPnBhZ2VzKTsKPiAgIAlrZnJlZShvYmotPnBhZ2VzKTsKPiAr Cj4gKwlfX2k5MTVfZ2VtX3VzZXJwdHJfc2V0X2FjdGl2ZShvYmosIGZhbHNlKTsKPiAgIH0KPgo+ ICAgc3RhdGljIHZvaWQKPgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=