From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/vkms: Fix race condition around accessing frame number Date: Fri, 31 Aug 2018 10:41:40 +0200 Message-ID: <20180831084140.GO21634@phenom.ffwll.local> References: <20180823231634.GA17011@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 699F26E854 for ; Fri, 31 Aug 2018 08:41:44 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id u1-v6so8305827eds.1 for ; Fri, 31 Aug 2018 01:41:44 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180823231634.GA17011@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 T24gRnJpLCBBdWcgMjQsIDIwMTggYXQgMDI6MTY6MzRBTSArMDMwMCwgSGFuZWVuIE1vaGFtbWVk IHdyb3RlOgo+IGNydGNfc3RhdGUgaXMgYWNjZXNzZWQgYnkgYm90aCB2YmxhbmtfaGFuZGxlKCkg YW5kIHRoZSBvcmRlcmVkCj4gd29ya19zdHJ1Y3QgaGFuZGxlIHZrbXNfY3JjX3dvcmtfaGFuZGxl KCkgdG8gcmV0cmlldmUgYW5kIG9yIHVwZGF0ZQo+IHRoZSBmcmFtZSBudW1iZXIgZm9yIGNvbXB1 dGVkIENSQy4KPiAKPiBTaW5jZSB3b3JrX3N0cnVjdCBjYW4gZmFpbCwgYWRkIGZyYW1lX2VuZCB0 byBhY2NvdW50IGZvciBtaXNzaW5nIGZyYW1lCj4gbnVtYmVycy4KPiAKPiB1c2UgYXRvbWljX3Qg d2l0dGggYXBwcm9wcmlhdGUgZmxhZ3MgZm9yIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVuIGhydGlt ZXIKPiBjYWxsYmFjayBhbmQgb3JkZXJlZCB3b3JrX3N0cnVjdCBoYW5kbGUgc2luY2Ugc3Bpbmxv Y2sgY2FuJ3QgYmUgdXNlZAo+IHdpdGggd29ya19zdHJ1Y3QgaGFuZGxlIGFuZCBtdXRleCBjYW4n dCBiZSB1c2VkIHdpdGggaHJ0aW1lciBjYWxsYmFjay4KPiAKPiBUaGlzIHBhdGNoIHBhc3NlcyB0 aGUgZm9sbG93aW5nIHN1YnRlc3RzIGZyb20gaWd0IGttc19waXBlX2NyY19iYXNpYyB0ZXN0Ogo+ IGJhZC1zb3VyY2UsIHJlYWQtY3JjLXBpcGUtQSwgcmVhZC1jcmMtcGlwZS1BLWZyYW1lLXNlcXVl bmNlLAo+IG5vbmJsb2NraW5nLWNyYy1waXBlLUEsIG5vbmJsb2NraW5nLWNyYy1waXBlLUEtZnJh bWUtc2VxdWVuY2UKPiAKPiBTaWduZWQtb2ZmLWJ5OiBIYW5lZW4gTW9oYW1tZWQgPGhhbW9oYW1t ZWQuc2FAZ21haWwuY29tPgoKU28gYXRvbWljX3QgaXMgcHJvYmFibHkgdGhlIGdyZWF0ZXN0IHRy YXAgaW4gdGhlIGxpbnV4IGtlcm5lbC4gSXQgc291bmRzCmxpa2UgdGhlIHJpZ2h0IHRoaW5nLCBi dXQgaW4gOTklIG9mIGFsbCBjYXNlIHlvdSB3YW50IHRvIHVzZSBpdCBpdCBpc24ndC4KVGhlIHRy b3VibGUgaXMgdGhhdCBhdG9taWNfdCBpcyBfdmVyeV8gdW5vcmRlcmVkLCB0aGUgb25seSB0aGlu ZyBpdApndWFyYW50ZWVzIGlzIHRoYXQgYXRvbWljX3QgdHJhbnNhY3Rpb25zIHRvIHRoZSBfc2Ft ZV8gdmFyaWFibGUgYXJlCmNvbnNpc3RlbnQuIEJ1dCBhbnl0aGluZyBlbHNlIGNhbiBiZSByZW9y ZGVyZWQgYXQgd2lsbC4KClRoaXMgaXMgdmVyeSBjb25mdXNpbmcgc2luY2UgdGhlIG5ldyBDKysg YXRvbWljIHN0YW5kYXJkcyBoYXMgZnVsbHkKb3JkZXJlZCBhdG9taWNzIGFzIHRoZSBkZWZhdWx0 LCBhbmQgeW91IGV4cHJlc3NlZGx5IG5lZWQgdG8gYXNrIGZvciB0aGUKd2Vha2x5IG9yZGVyZWQg b25lcy4gSW4gbGludXggeW91IG5lZWQgdG8gc3ByaW5rbGUgZXBpYyBhbW91bnRzIG9mCnNtYl9i YXJyaWVyKiBhbmQgc2ltaWxhciB0aGluZ3MgYXJvdW5kIHRoZW0gdG8gbWFrZSBhdG9taWNfdCBi ZWhhdmUgbGlrZSBhCiJub3JtYWwiIEMrKyBhdG9taWMgdHlwZS4KCnRsZHI7IGF0b21pY190IGlz IGdvb2QgZm9yIHNwZWNpYWwgcmVmY291bnRpbmcgbmVlZHMsIHdoZW4gdGhlIG5vcm1hbApyZWZj b3VudF90IGRvZXNuJ3QgY3V0IGl0LiBOb3QgbXVjaCBlbHNlLgoKV2hhdCB1c3VhbGx5IHNob3Vs ZCBiZSBkb25lOgotIFVzZSBub3JtYWwgdTY0ICh0byBtYXRjaCB0aGUgdmJsYW5rIGNvdW50ZXIg c2l6ZSkgaW5zdGVhZCBvZiBhdG9taWNfdAogIGhlcmUuCi0gTWFrZSBzdXJlIGFsbCBhY2Nlc3Mg aXMgcHJvdGVjdCBieSBhbiBhcHByb3ByaWF0ZSBzcGlubG9jay4KCj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS92a21zL3ZrbXNfY3JjLmMgIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMgfCAxMyArKysrKysrKysr Ky0tCj4gIGRyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmggIHwgIDYgKysrKy0tCj4gIDMg ZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcmMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS92a21zL3ZrbXNfY3JjLmMKPiBpbmRleCBlZDQ3ZDY3Y2VjZDYuLjRhMWJhNWI3ODg2YSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NyYy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3ZrbXMvdmttc19jcmMuYwo+IEBAIC0zNCw2ICszNCwxNSBAQCBzdGF0aWMgdWlu dDMyX3QgX3ZrbXNfZ2V0X2NyYyhzdHJ1Y3Qgdmttc19jcmNfZGF0YSAqY3JjX2RhdGEpCj4gIAly ZXR1cm4gY3JjOwo+ICB9Cj4gIAo+ICsvKioKPiArICogdmttc19jcmNfd29ya19oYW5kbGUgLSBv cmRlcmVkIHdvcmtfc3RydWN0IHRvIGNvbXB1dGUgQ1JDCj4gKyAqCj4gKyAqIEB3b3JrOiB3b3Jr X3N0cnVjdAo+ICsgKgo+ICsgKiBXb3JrIGhhbmRsZXIgZm9yIGNvbXB1dGluZyBDUkNzLiB3b3Jr X3N0cnVjdCBzY2hlZHVsZWQgaW4KPiArICogYW4gb3JkZXJlZCB3b3JrcXVldWUgdGhhdCdzIHBl cmlvZGljYWxseSBzY2hlZHVsZWQgdG8gcnVuIGJ5Cj4gKyAqIF92YmxhbmtfaGFuZGxlKCkgYW5k IGZsdXNoZWQgYXQgdmttc19hdG9taWNfY3J0Y19kZXN0cm95X3N0YXRlKCkuCj4gKyAqLwo+ICB2 b2lkIHZrbXNfY3JjX3dvcmtfaGFuZGxlKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiAgewo+ ICAJc3RydWN0IHZrbXNfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IGNvbnRhaW5lcl9vZih3b3Jr LAo+IEBAIC00NSw4ICs1NCwxOCBAQCB2b2lkIHZrbXNfY3JjX3dvcmtfaGFuZGxlKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKPiAgCQkJCQkJb3V0cHV0KTsKPiAgCXN0cnVjdCB2a21zX2NyY19k YXRhICpwcmltYXJ5X2NyYyA9IE5VTEw7Cj4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiAt Cj4gIAl1MzIgY3JjMzIgPSAwOwo+ICsJdTMyIGZyYW1lX3N0YXJ0LCBmcmFtZV9lbmQ7Cj4gKwo+ ICsJZnJhbWVfc3RhcnQgPSBhdG9taWNfcmVhZCgmY3J0Y19zdGF0ZS0+ZnJhbWVfc3RhcnQpOwo+ ICsJZnJhbWVfZW5kID0gYXRvbWljX3JlYWQoJmNydGNfc3RhdGUtPmZyYW1lX2VuZCk7Cj4gKwkv KiBfdmJsYW5rX2hhbmRsZSgpIGhhc24ndCB1cGRhdGVkIGZyYW1lX3N0YXJ0IHlldCAqLwo+ICsJ aWYgKCFmcmFtZV9zdGFydCkgewoKSSB0aGluayBpZiB3ZSBnbyB3aXRoIHU2NCB3ZSBjYW4gaWdu b3JlIHRoZSBpc3N1ZXMgZm9yIHdyYXAtYXJyb3VuZCwgc2luY2UKdGhhdCB3aWxsIHNpbXBseSBu ZXZlciBoYXBwZW4uIEJ1dCBhIGNvbW1lbnQgd291bGQgYmUgZ29vZC4KCkFzaWRlIGZyb20gdGhl IGF0b21pY190IGlzc3VlIEkgdGhpbmsgdGhpcyBsb29rcyBnb29kLgotRGFuaWVsCgo+ICsJCXJl dHVybjsKPiArCX0gZWxzZSBpZiAoZnJhbWVfc3RhcnQgPT0gZnJhbWVfZW5kKSB7Cj4gKwkJYXRv bWljX3NldCgmY3J0Y19zdGF0ZS0+ZnJhbWVfc3RhcnQsIDApOwo+ICsJCXJldHVybjsKPiArCX0K PiAgCj4gIAlkcm1fZm9yX2VhY2hfcGxhbmUocGxhbmUsICZ2ZGV2LT5kcm0pIHsKPiAgCQlzdHJ1 Y3Qgdmttc19wbGFuZV9zdGF0ZSAqdnBsYW5lX3N0YXRlOwo+IEBAIC02Nyw3ICs4NiwxNyBAQCB2 b2lkIHZrbXNfY3JjX3dvcmtfaGFuZGxlKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiAgCWlm IChwcmltYXJ5X2NyYykKPiAgCQljcmMzMiA9IF92a21zX2dldF9jcmMocHJpbWFyeV9jcmMpOwo+ ICAKPiAtCWRybV9jcnRjX2FkZF9jcmNfZW50cnkoY3J0YywgdHJ1ZSwgY3J0Y19zdGF0ZS0+bl9m cmFtZSwgJmNyYzMyKTsKPiArCWZyYW1lX2VuZCA9IGRybV9jcnRjX2FjY3VyYXRlX3ZibGFua19j b3VudChjcnRjKTsKPiArCj4gKwkvKiBxdWV1ZV93b3JrIGNhbiBmYWlsIHRvIHNjaGVkdWxlIGNy Y193b3JrOyBhZGQgY3JjIGZvcgo+ICsJICogbWlzc2luZyBmcmFtZXMKPiArCSAqLwo+ICsJd2hp bGUgKGZyYW1lX3N0YXJ0IDw9IGZyYW1lX2VuZCkKPiArCQlkcm1fY3J0Y19hZGRfY3JjX2VudHJ5 KGNydGMsIHRydWUsIGZyYW1lX3N0YXJ0KyssICZjcmMzMik7Cj4gKwo+ICsJLyogdG8gYXZvaWQg dXNpbmcgdGhlIHNhbWUgdmFsdWUgYWdhaW4gKi8KPiArCWF0b21pY19zZXQoJmNydGNfc3RhdGUt PmZyYW1lX2VuZCwgZnJhbWVfZW5kKTsKPiArCWF0b21pY19zZXQoJmNydGNfc3RhdGUtPmZyYW1l X3N0YXJ0LCAwKTsKPiAgfQo+ICAKPiAgc3RhdGljIGludCB2a21zX2NyY19wYXJzZV9zb3VyY2Uo Y29uc3QgY2hhciAqc3JjX25hbWUsIGJvb2wgKmVuYWJsZWQpCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19j cnRjLmMKPiBpbmRleCA5ZDBiMWEzMjVhNzguLmExNzA2NzdhY2Q0NiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92 a21zL3ZrbXNfY3J0Yy5jCj4gQEAgLTIyLDggKzIyLDE3IEBAIHN0YXRpYyB2b2lkIF92Ymxhbmtf aGFuZGxlKHN0cnVjdCB2a21zX291dHB1dCAqb3V0cHV0KQo+ICAJCURSTV9FUlJPUigidmttcyBm YWlsdXJlIG9uIGhhbmRsaW5nIHZibGFuayIpOwo+ICAKPiAgCWlmIChzdGF0ZSAmJiBvdXRwdXQt PmNyY19lbmFibGVkKSB7Cj4gLQkJc3RhdGUtPm5fZnJhbWUgPSBkcm1fY3J0Y19hY2N1cmF0ZV92 YmxhbmtfY291bnQoY3J0Yyk7Cj4gLQkJcXVldWVfd29yayhvdXRwdXQtPmNyY193b3JrcSwgJnN0 YXRlLT5jcmNfd29yayk7Cj4gKwkJdTMyIGZyYW1lID0gZHJtX2NydGNfYWNjdXJhdGVfdmJsYW5r X2NvdW50KGNydGMpOwo+ICsKPiArCQkvKiB1cGRhdGUgZnJhbWVfc3RhcnQgb25seSBpZiBhIHF1 ZXVlZCB2a21zX2NyY193b3JrX2hhbmRsZSBoYXMKPiArCQkgKiByZWFkIHRoZSBkYXRhCj4gKwkJ ICovCj4gKwkJaWYgKCFhdG9taWNfcmVhZCgmc3RhdGUtPmZyYW1lX3N0YXJ0KSkKPiArCQkJYXRv bWljX3NldCgmc3RhdGUtPmZyYW1lX3N0YXJ0LCBmcmFtZSk7Cj4gKwo+ICsJCXJldCA9IHF1ZXVl X3dvcmsob3V0cHV0LT5jcmNfd29ya3EsICZzdGF0ZS0+Y3JjX3dvcmspOwo+ICsJCWlmICghcmV0 KQo+ICsJCQlEUk1fV0FSTigiZmFpbGVkIHRvIHF1ZXVlIHZrbXNfY3JjX3dvcmtfaGFuZGxlIik7 Cj4gIAl9Cj4gIAo+ICAJc3Bpbl91bmxvY2soJm91dHB1dC0+bG9jayk7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92 a21zX2Rydi5oCj4gaW5kZXggMjAxN2EyY2NjNDNkLi40YTM5NTZhMDU0OWUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS92a21zL3ZrbXNfZHJ2LmgKPiBAQCAtMzksMTIgKzM5LDE0IEBAIHN0cnVjdCB2a21zX3BsYW5l X3N0YXRlIHsKPiAgICogdmttc19jcnRjX3N0YXRlIC0gRHJpdmVyIHNwZWNpZmljIENSVEMgc3Rh dGUKPiAgICogQGJhc2U6IGJhc2UgQ1JUQyBzdGF0ZQo+ICAgKiBAY3JjX3dvcms6IHdvcmsgc3Ry dWN0IHRvIGNvbXB1dGUgYW5kIGFkZCBDUkMgZW50cmllcwo+IC0gKiBAbl9mcmFtZTogZnJhbWUg bnVtYmVyIGZvciBjb21wdXRlZCBDUkMKPiArICogQG5fZnJhbWVfc3RhcnQ6IHN0YXJ0IGZyYW1l IG51bWJlciBmb3IgY29tcHV0ZWQgQ1JDCj4gKyAqIEBuX2ZyYW1lX2VuZDogZW5kIGZyYW1lIG51 bWJlciBmb3IgY29tcHV0ZWQgQ1JDCj4gICAqLwo+ICBzdHJ1Y3Qgdmttc19jcnRjX3N0YXRlIHsK PiAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSBiYXNlOwo+ICAJc3RydWN0IHdvcmtfc3RydWN0IGNy Y193b3JrOwo+IC0JdW5zaWduZWQgaW50IG5fZnJhbWU7Cj4gKwlhdG9taWNfdCBmcmFtZV9zdGFy dDsKPiArCWF0b21pY190IGZyYW1lX2VuZDsKPiAgfTsKPiAgCj4gIHN0cnVjdCB2a21zX291dHB1 dCB7Cj4gLS0gCj4gMi4xNy4xCj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVl ciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==