From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2] drm/vkms: Fix race condition around accessing frame number Date: Wed, 5 Sep 2018 16:03:26 +0200 Message-ID: <20180905140326.GD4929@phenom.ffwll.local> References: <20180903211743.GA2773@haneenDRM> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id A390D6E4A4 for ; Wed, 5 Sep 2018 14:03:30 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id j62-v6so6179573edd.7 for ; Wed, 05 Sep 2018 07:03:30 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180903211743.GA2773@haneenDRM> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Haneen Mohammed Cc: rodrigosiqueiramelo@gmail.com, seanpaul@chromium.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBTZXAgMDQsIDIwMTggYXQgMTI6MTg6MTdBTSArMDMwMCwgSGFuZWVuIE1vaGFtbWVk IHdyb3RlOgo+IGNydGNfc3RhdGUgaXMgYWNjZXNzZWQgYnkgYm90aCB2YmxhbmtfaGFuZGxlKCkg YW5kIHRoZSBvcmRlcmVkCj4gd29ya19zdHJ1Y3QgaGFuZGxlIHZrbXNfY3JjX3dvcmtfaGFuZGxl KCkgdG8gcmV0cmlldmUgYW5kIG9yIHVwZGF0ZQo+IHRoZSBmcmFtZSBudW1iZXIgZm9yIGNvbXB1 dGVkIENSQy4KPiAKPiBTaW5jZSB3b3JrX3N0cnVjdCBjYW4gZmFpbCwgYWRkIGZyYW1lX2VuZCB0 byBhY2NvdW50IGZvciBtaXNzaW5nIGZyYW1lCj4gbnVtYmVycy4KPiAKPiBVc2UgKGZyYW1lX1tz dGFydC9lbmRdKSBmb3Igc3luY2hyb25pemF0aW9uIGJldHdlZW4gaHJ0aW1lciBjYWxsYmFjawo+ IGFuZCBvcmRlcmVkIHdvcmtfc3RydWN0IGhhbmRsZS4KPiAKPiBUaGlzIHBhdGNoIHBhc3NlcyB0 aGUgZm9sbG93aW5nIHN1YnRlc3RzIGZyb20gaWd0IGttc19waXBlX2NyY19iYXNpYyB0ZXN0Ogo+ IGJhZC1zb3VyY2UsIHJlYWQtY3JjLXBpcGUtQSwgcmVhZC1jcmMtcGlwZS1BLWZyYW1lLXNlcXVl bmNlLAo+IG5vbmJsb2NraW5nLWNyYy1waXBlLUEsIG5vbmJsb2NraW5nLWNyYy1waXBlLUEtZnJh bWUtc2VxdWVuY2UKPiAKPiBTaWduZWQtb2ZmLWJ5OiBIYW5lZW4gTW9oYW1tZWQgPGhhbW9oYW1t ZWQuc2FAZ21haWwuY29tPgo+IC0tLQo+IHYyOgo+IC0gdXNlIHU2NCB3aXRoIHNwaW5sb2NrIGlu c3RlYWQgb2YgYXRvbWljX3QKPiAtIGFkZCBvdXQgbGFiZWwgZm9yIGNvbW1vbiBleGl0IHJvdXRp bmUgQHZrbXNfY3JjX3dvcmtfaGFuZGxlKCkKCll1cCBJIHRoaW5rIHRoYXQgbG9va3MgZ29vZCwg dGhhbmtzIGZvciB5b3VyIHBhdGNoLiBBcHBsaWVkLgoKYnR3LCBkbyB5b3Ugc3RpbGwgcGxhbiB0 byB0eXBlIHVwIGEgdmttcy5yc3QgZm9yIGRvY3VtZW50YXRpb24sIHNvIHRoYXQgd2UKY291bGQg cHV0IGEgZmV3IG9mIHRoZSB0b2RvIGl0ZW1zIHRoZXJlPyBPciBzaG91bGQgSSBkbyB0aGF0PyBO ZXh0Cm91dHJlYWNoeSByb3VuZCBzdGFydHMgc29vbiwgd2UgbmVlZCB0byBnZXQgdGhpcyByZWFk eS4KLURhbmllbAoKPiAKPiAgZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcmMuYyAgfCAzNiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vdmttcy92 a21zX2NydGMuYyB8IDE2ICsrKysrKysrKysrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS92a21zL3Zr bXNfZHJ2LmggIHwgIDggKysrKystLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMo KyksIDYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92a21z L3ZrbXNfY3JjLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NyYy5jCj4gaW5kZXggZWQ0 N2Q2N2NlY2Q2Li42OGRiNDJmMTUwODYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Zr bXMvdmttc19jcmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3JjLmMKPiBA QCAtMzQsNiArMzQsMTUgQEAgc3RhdGljIHVpbnQzMl90IF92a21zX2dldF9jcmMoc3RydWN0IHZr bXNfY3JjX2RhdGEgKmNyY19kYXRhKQo+ICAJcmV0dXJuIGNyYzsKPiAgfQo+ICAKPiArLyoqCj4g KyAqIHZrbXNfY3JjX3dvcmtfaGFuZGxlIC0gb3JkZXJlZCB3b3JrX3N0cnVjdCB0byBjb21wdXRl IENSQwo+ICsgKgo+ICsgKiBAd29yazogd29ya19zdHJ1Y3QKPiArICoKPiArICogV29yayBoYW5k bGVyIGZvciBjb21wdXRpbmcgQ1JDcy4gd29ya19zdHJ1Y3Qgc2NoZWR1bGVkIGluCj4gKyAqIGFu IG9yZGVyZWQgd29ya3F1ZXVlIHRoYXQncyBwZXJpb2RpY2FsbHkgc2NoZWR1bGVkIHRvIHJ1biBi eQo+ICsgKiBfdmJsYW5rX2hhbmRsZSgpIGFuZCBmbHVzaGVkIGF0IHZrbXNfYXRvbWljX2NydGNf ZGVzdHJveV9zdGF0ZSgpLgo+ICsgKi8KPiAgdm9pZCB2a21zX2NyY193b3JrX2hhbmRsZShzdHJ1 Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gIHsKPiAgCXN0cnVjdCB2a21zX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUgPSBjb250YWluZXJfb2Yod29yaywKPiBAQCAtNDUsOCArNTQsMTggQEAgdm9pZCB2 a21zX2NyY193b3JrX2hhbmRsZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gIAkJCQkJCW91 dHB1dCk7Cj4gIAlzdHJ1Y3Qgdmttc19jcmNfZGF0YSAqcHJpbWFyeV9jcmMgPSBOVUxMOwo+ICAJ c3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gLQo+ICAJdTMyIGNyYzMyID0gMDsKPiArCXU2NCBm cmFtZV9zdGFydCwgZnJhbWVfZW5kOwo+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiArCj4gKwlz cGluX2xvY2tfaXJxc2F2ZSgmb3V0LT5zdGF0ZV9sb2NrLCBmbGFncyk7Cj4gKwlmcmFtZV9zdGFy dCA9IGNydGNfc3RhdGUtPmZyYW1lX3N0YXJ0Owo+ICsJZnJhbWVfZW5kID0gY3J0Y19zdGF0ZS0+ ZnJhbWVfZW5kOwo+ICsJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmb3V0LT5zdGF0ZV9sb2NrLCBm bGFncyk7Cj4gKwo+ICsJLyogX3ZibGFua19oYW5kbGUoKSBoYXNuJ3QgdXBkYXRlZCBmcmFtZV9z dGFydCB5ZXQgKi8KPiArCWlmICghZnJhbWVfc3RhcnQgfHwgZnJhbWVfc3RhcnQgPT0gZnJhbWVf ZW5kKQo+ICsJCWdvdG8gb3V0Owo+ICAKPiAgCWRybV9mb3JfZWFjaF9wbGFuZShwbGFuZSwgJnZk ZXYtPmRybSkgewo+ICAJCXN0cnVjdCB2a21zX3BsYW5lX3N0YXRlICp2cGxhbmVfc3RhdGU7Cj4g QEAgLTY3LDcgKzg2LDIwIEBAIHZvaWQgdmttc19jcmNfd29ya19oYW5kbGUoc3RydWN0IHdvcmtf c3RydWN0ICp3b3JrKQo+ICAJaWYgKHByaW1hcnlfY3JjKQo+ICAJCWNyYzMyID0gX3ZrbXNfZ2V0 X2NyYyhwcmltYXJ5X2NyYyk7Cj4gIAo+IC0JZHJtX2NydGNfYWRkX2NyY19lbnRyeShjcnRjLCB0 cnVlLCBjcnRjX3N0YXRlLT5uX2ZyYW1lLCAmY3JjMzIpOwo+ICsJZnJhbWVfZW5kID0gZHJtX2Ny dGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KGNydGMpOwo+ICsKPiArCS8qIHF1ZXVlX3dvcmsgY2Fu IGZhaWwgdG8gc2NoZWR1bGUgY3JjX3dvcms7IGFkZCBjcmMgZm9yCj4gKwkgKiBtaXNzaW5nIGZy YW1lcwo+ICsJICovCj4gKwl3aGlsZSAoZnJhbWVfc3RhcnQgPD0gZnJhbWVfZW5kKQo+ICsJCWRy bV9jcnRjX2FkZF9jcmNfZW50cnkoY3J0YywgdHJ1ZSwgZnJhbWVfc3RhcnQrKywgJmNyYzMyKTsK PiArCj4gK291dDoKPiArCS8qIHRvIGF2b2lkIHVzaW5nIHRoZSBzYW1lIHZhbHVlIGZvciBmcmFt ZSBudW1iZXIgYWdhaW4gKi8KPiArCXNwaW5fbG9ja19pcnFzYXZlKCZvdXQtPnN0YXRlX2xvY2ss IGZsYWdzKTsKPiArCWNydGNfc3RhdGUtPmZyYW1lX2VuZCA9IGZyYW1lX2VuZDsKPiArCWNydGNf c3RhdGUtPmZyYW1lX3N0YXJ0ID0gMDsKPiArCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm91dC0+ c3RhdGVfbG9jaywgZmxhZ3MpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IHZrbXNfY3JjX3BhcnNl X3NvdXJjZShjb25zdCBjaGFyICpzcmNfbmFtZSwgYm9vbCAqZW5hYmxlZCkKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmtt cy92a21zX2NydGMuYwo+IGluZGV4IDlkMGIxYTMyNWE3OC4uMTc3YmJjYjM4MzA2IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3ZrbXMvdmttc19jcnRjLmMKPiBAQCAtMjIsOCArMjIsMTkgQEAgc3RhdGljIHZvaWQg X3ZibGFua19oYW5kbGUoc3RydWN0IHZrbXNfb3V0cHV0ICpvdXRwdXQpCj4gIAkJRFJNX0VSUk9S KCJ2a21zIGZhaWx1cmUgb24gaGFuZGxpbmcgdmJsYW5rIik7Cj4gIAo+ICAJaWYgKHN0YXRlICYm IG91dHB1dC0+Y3JjX2VuYWJsZWQpIHsKPiAtCQlzdGF0ZS0+bl9mcmFtZSA9IGRybV9jcnRjX2Fj Y3VyYXRlX3ZibGFua19jb3VudChjcnRjKTsKPiAtCQlxdWV1ZV93b3JrKG91dHB1dC0+Y3JjX3dv cmtxLCAmc3RhdGUtPmNyY193b3JrKTsKPiArCQl1NjQgZnJhbWUgPSBkcm1fY3J0Y19hY2N1cmF0 ZV92YmxhbmtfY291bnQoY3J0Yyk7Cj4gKwo+ICsJCS8qIHVwZGF0ZSBmcmFtZV9zdGFydCBvbmx5 IGlmIGEgcXVldWVkIHZrbXNfY3JjX3dvcmtfaGFuZGxlKCkKPiArCQkgKiBoYXMgcmVhZCB0aGUg ZGF0YQo+ICsJCSAqLwo+ICsJCXNwaW5fbG9jaygmb3V0cHV0LT5zdGF0ZV9sb2NrKTsKPiArCQlp ZiAoIXN0YXRlLT5mcmFtZV9zdGFydCkKPiArCQkJc3RhdGUtPmZyYW1lX3N0YXJ0ID0gZnJhbWU7 Cj4gKwkJc3Bpbl91bmxvY2soJm91dHB1dC0+c3RhdGVfbG9jayk7Cj4gKwo+ICsJCXJldCA9IHF1 ZXVlX3dvcmsob3V0cHV0LT5jcmNfd29ya3EsICZzdGF0ZS0+Y3JjX3dvcmspOwo+ICsJCWlmICgh cmV0KQo+ICsJCQlEUk1fV0FSTigiZmFpbGVkIHRvIHF1ZXVlIHZrbXNfY3JjX3dvcmtfaGFuZGxl Iik7Cj4gIAl9Cj4gIAo+ICAJc3Bpbl91bmxvY2soJm91dHB1dC0+bG9jayk7Cj4gQEAgLTIxMSw2 ICsyMjIsNyBAQCBpbnQgdmttc19jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3Ry dWN0IGRybV9jcnRjICpjcnRjLAo+ICAJZHJtX2NydGNfaGVscGVyX2FkZChjcnRjLCAmdmttc19j cnRjX2hlbHBlcl9mdW5jcyk7Cj4gIAo+ICAJc3Bpbl9sb2NrX2luaXQoJnZrbXNfb3V0LT5sb2Nr KTsKPiArCXNwaW5fbG9ja19pbml0KCZ2a21zX291dC0+c3RhdGVfbG9jayk7Cj4gIAo+ICAJdmtt c19vdXQtPmNyY193b3JrcSA9IGFsbG9jX29yZGVyZWRfd29ya3F1ZXVlKCJ2a21zX2NyY193b3Jr cSIsIDApOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmgKPiBpbmRleCAyMDE3YTJjY2M0M2Qu LjgwYWY2ZDNhNjVlNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Ry di5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYuaAo+IEBAIC0zOSwxMiAr MzksMTQgQEAgc3RydWN0IHZrbXNfcGxhbmVfc3RhdGUgewo+ICAgKiB2a21zX2NydGNfc3RhdGUg LSBEcml2ZXIgc3BlY2lmaWMgQ1JUQyBzdGF0ZQo+ICAgKiBAYmFzZTogYmFzZSBDUlRDIHN0YXRl Cj4gICAqIEBjcmNfd29yazogd29yayBzdHJ1Y3QgdG8gY29tcHV0ZSBhbmQgYWRkIENSQyBlbnRy aWVzCj4gLSAqIEBuX2ZyYW1lOiBmcmFtZSBudW1iZXIgZm9yIGNvbXB1dGVkIENSQwo+ICsgKiBA bl9mcmFtZV9zdGFydDogc3RhcnQgZnJhbWUgbnVtYmVyIGZvciBjb21wdXRlZCBDUkMKPiArICog QG5fZnJhbWVfZW5kOiBlbmQgZnJhbWUgbnVtYmVyIGZvciBjb21wdXRlZCBDUkMKPiAgICovCj4g IHN0cnVjdCB2a21zX2NydGNfc3RhdGUgewo+ICAJc3RydWN0IGRybV9jcnRjX3N0YXRlIGJhc2U7 Cj4gIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgY3JjX3dvcms7Cj4gLQl1bnNpZ25lZCBpbnQgbl9mcmFt ZTsKPiArCXU2NCBmcmFtZV9zdGFydDsKPiArCXU2NCBmcmFtZV9lbmQ7Cj4gIH07Cj4gIAo+ICBz dHJ1Y3Qgdmttc19vdXRwdXQgewo+IEBAIC01OSw2ICs2MSw4IEBAIHN0cnVjdCB2a21zX291dHB1 dCB7Cj4gIAlzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqY3JjX3dvcmtxOwo+ICAJLyogcHJvdGVj dHMgY29uY3VycmVudCBhY2Nlc3MgdG8gY3JjX2RhdGEgKi8KPiAgCXNwaW5sb2NrX3QgbG9jazsK PiArCS8qIHByb3RlY3RzIGNvbmN1cnJlbnQgYWNjZXNzIHRvIGNydGNfc3RhdGUgKi8KPiArCXNw aW5sb2NrX3Qgc3RhdGVfbG9jazsKPiAgfTsKPiAgCj4gIHN0cnVjdCB2a21zX2RldmljZSB7Cj4g LS0gCj4gMi4xNy4xCj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50 ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==