From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haneen Mohammed Subject: Re: [PATCH] drm/vkms: Fix race condition around accessing frame number Date: Sat, 1 Sep 2018 20:53:52 +0300 Message-ID: <20180901175352.GA14348@haneenDRM> References: <20180823231634.GA17011@haneenDRM> <20180831084140.GO21634@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qt0-x244.google.com (mail-qt0-x244.google.com [IPv6:2607:f8b0:400d:c0d::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id D35EF6E0A7 for ; Sat, 1 Sep 2018 17:53:55 +0000 (UTC) Received: by mail-qt0-x244.google.com with SMTP id g53-v6so17951035qtg.10 for ; Sat, 01 Sep 2018 10:53:55 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180831084140.GO21634@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: seanpaul@chromium.org, rodrigosiqueiramelo@gmail.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBBdWcgMzEsIDIwMTggYXQgMTA6NDE6NDBBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBGcmksIEF1ZyAyNCwgMjAxOCBhdCAwMjoxNjozNEFNICswMzAwLCBIYW5lZW4g TW9oYW1tZWQgd3JvdGU6Cj4gPiBjcnRjX3N0YXRlIGlzIGFjY2Vzc2VkIGJ5IGJvdGggdmJsYW5r X2hhbmRsZSgpIGFuZCB0aGUgb3JkZXJlZAo+ID4gd29ya19zdHJ1Y3QgaGFuZGxlIHZrbXNfY3Jj X3dvcmtfaGFuZGxlKCkgdG8gcmV0cmlldmUgYW5kIG9yIHVwZGF0ZQo+ID4gdGhlIGZyYW1lIG51 bWJlciBmb3IgY29tcHV0ZWQgQ1JDLgo+ID4gCj4gPiBTaW5jZSB3b3JrX3N0cnVjdCBjYW4gZmFp bCwgYWRkIGZyYW1lX2VuZCB0byBhY2NvdW50IGZvciBtaXNzaW5nIGZyYW1lCj4gPiBudW1iZXJz Lgo+ID4gCj4gPiB1c2UgYXRvbWljX3Qgd2l0dGggYXBwcm9wcmlhdGUgZmxhZ3MgZm9yIHN5bmNo cm9uaXphdGlvbiBiZXR3ZWVuIGhydGltZXIKPiA+IGNhbGxiYWNrIGFuZCBvcmRlcmVkIHdvcmtf c3RydWN0IGhhbmRsZSBzaW5jZSBzcGlubG9jayBjYW4ndCBiZSB1c2VkCj4gPiB3aXRoIHdvcmtf c3RydWN0IGhhbmRsZSBhbmQgbXV0ZXggY2FuJ3QgYmUgdXNlZCB3aXRoIGhydGltZXIgY2FsbGJh Y2suCj4gPiAKPiA+IFRoaXMgcGF0Y2ggcGFzc2VzIHRoZSBmb2xsb3dpbmcgc3VidGVzdHMgZnJv bSBpZ3Qga21zX3BpcGVfY3JjX2Jhc2ljIHRlc3Q6Cj4gPiBiYWQtc291cmNlLCByZWFkLWNyYy1w aXBlLUEsIHJlYWQtY3JjLXBpcGUtQS1mcmFtZS1zZXF1ZW5jZSwKPiA+IG5vbmJsb2NraW5nLWNy Yy1waXBlLUEsIG5vbmJsb2NraW5nLWNyYy1waXBlLUEtZnJhbWUtc2VxdWVuY2UKPiA+IAo+ID4g U2lnbmVkLW9mZi1ieTogSGFuZWVuIE1vaGFtbWVkIDxoYW1vaGFtbWVkLnNhQGdtYWlsLmNvbT4K PiAKPiBTbyBhdG9taWNfdCBpcyBwcm9iYWJseSB0aGUgZ3JlYXRlc3QgdHJhcCBpbiB0aGUgbGlu dXgga2VybmVsLiBJdCBzb3VuZHMKPiBsaWtlIHRoZSByaWdodCB0aGluZywgYnV0IGluIDk5JSBv ZiBhbGwgY2FzZSB5b3Ugd2FudCB0byB1c2UgaXQgaXQgaXNuJ3QuCj4gVGhlIHRyb3VibGUgaXMg dGhhdCBhdG9taWNfdCBpcyBfdmVyeV8gdW5vcmRlcmVkLCB0aGUgb25seSB0aGluZyBpdAo+IGd1 YXJhbnRlZXMgaXMgdGhhdCBhdG9taWNfdCB0cmFuc2FjdGlvbnMgdG8gdGhlIF9zYW1lXyB2YXJp YWJsZSBhcmUKPiBjb25zaXN0ZW50LiBCdXQgYW55dGhpbmcgZWxzZSBjYW4gYmUgcmVvcmRlcmVk IGF0IHdpbGwuCj4gCj4gVGhpcyBpcyB2ZXJ5IGNvbmZ1c2luZyBzaW5jZSB0aGUgbmV3IEMrKyBh dG9taWMgc3RhbmRhcmRzIGhhcyBmdWxseQo+IG9yZGVyZWQgYXRvbWljcyBhcyB0aGUgZGVmYXVs dCwgYW5kIHlvdSBleHByZXNzZWRseSBuZWVkIHRvIGFzayBmb3IgdGhlCj4gd2Vha2x5IG9yZGVy ZWQgb25lcy4gSW4gbGludXggeW91IG5lZWQgdG8gc3ByaW5rbGUgZXBpYyBhbW91bnRzIG9mCj4g c21iX2JhcnJpZXIqIGFuZCBzaW1pbGFyIHRoaW5ncyBhcm91bmQgdGhlbSB0byBtYWtlIGF0b21p Y190IGJlaGF2ZSBsaWtlIGEKPiAibm9ybWFsIiBDKysgYXRvbWljIHR5cGUuCj4gCj4gdGxkcjsg YXRvbWljX3QgaXMgZ29vZCBmb3Igc3BlY2lhbCByZWZjb3VudGluZyBuZWVkcywgd2hlbiB0aGUg bm9ybWFsCj4gcmVmY291bnRfdCBkb2Vzbid0IGN1dCBpdC4gTm90IG11Y2ggZWxzZS4KPiAKPiBX aGF0IHVzdWFsbHkgc2hvdWxkIGJlIGRvbmU6Cj4gLSBVc2Ugbm9ybWFsIHU2NCAodG8gbWF0Y2gg dGhlIHZibGFuayBjb3VudGVyIHNpemUpIGluc3RlYWQgb2YgYXRvbWljX3QKPiAgIGhlcmUuCj4g LSBNYWtlIHN1cmUgYWxsIGFjY2VzcyBpcyBwcm90ZWN0IGJ5IGFuIGFwcHJvcHJpYXRlIHNwaW5s b2NrLgo+IAoKSSBzZWUsIHRoYW5rcyBmb3IgdGhlIGV4cGxhbmF0aW9uIQoKaG0gd291bGQgdGhl IHBhdGNoIGJlIGZpbmUgaWYgSSBqdXN0IHN3aXRjaCBhdG9taWNfdCB0byB1NjQgd2l0aG91dAp1 c2luZyBzcGlubG9jaz8gc2luY2UgdGhhdCB3b24ndCBiZSBwb3NzaWJsZSB3aXRoIHRoZSB3b3Jr X3N0cnVjdC4KClRoYW5rcywKSGFuZWVuCgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3Zr bXMvdmttc19jcmMuYyAgfCAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ID4g IGRyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jIHwgMTMgKysrKysrKysrKystLQo+ID4g IGRyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmggIHwgIDYgKysrKy0tCj4gPiAgMyBmaWxl cyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcmMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS92a21zL3ZrbXNfY3JjLmMKPiA+IGluZGV4IGVkNDdkNjdjZWNkNi4uNGExYmE1Yjc4ODZhIDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcmMuYwo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcmMuYwo+ID4gQEAgLTM0LDYgKzM0LDE1IEBAIHN0 YXRpYyB1aW50MzJfdCBfdmttc19nZXRfY3JjKHN0cnVjdCB2a21zX2NyY19kYXRhICpjcmNfZGF0 YSkKPiA+ICAJcmV0dXJuIGNyYzsKPiA+ICB9Cj4gPiAgCj4gPiArLyoqCj4gPiArICogdmttc19j cmNfd29ya19oYW5kbGUgLSBvcmRlcmVkIHdvcmtfc3RydWN0IHRvIGNvbXB1dGUgQ1JDCj4gPiAr ICoKPiA+ICsgKiBAd29yazogd29ya19zdHJ1Y3QKPiA+ICsgKgo+ID4gKyAqIFdvcmsgaGFuZGxl ciBmb3IgY29tcHV0aW5nIENSQ3MuIHdvcmtfc3RydWN0IHNjaGVkdWxlZCBpbgo+ID4gKyAqIGFu IG9yZGVyZWQgd29ya3F1ZXVlIHRoYXQncyBwZXJpb2RpY2FsbHkgc2NoZWR1bGVkIHRvIHJ1biBi eQo+ID4gKyAqIF92YmxhbmtfaGFuZGxlKCkgYW5kIGZsdXNoZWQgYXQgdmttc19hdG9taWNfY3J0 Y19kZXN0cm95X3N0YXRlKCkuCj4gPiArICovCj4gPiAgdm9pZCB2a21zX2NyY193b3JrX2hhbmRs ZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gPiAgewo+ID4gIAlzdHJ1Y3Qgdmttc19jcnRj X3N0YXRlICpjcnRjX3N0YXRlID0gY29udGFpbmVyX29mKHdvcmssCj4gPiBAQCAtNDUsOCArNTQs MTggQEAgdm9pZCB2a21zX2NyY193b3JrX2hhbmRsZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmsp Cj4gPiAgCQkJCQkJb3V0cHV0KTsKPiA+ICAJc3RydWN0IHZrbXNfY3JjX2RhdGEgKnByaW1hcnlf Y3JjID0gTlVMTDsKPiA+ICAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gPiAtCj4gPiAgCXUz MiBjcmMzMiA9IDA7Cj4gPiArCXUzMiBmcmFtZV9zdGFydCwgZnJhbWVfZW5kOwo+ID4gKwo+ID4g KwlmcmFtZV9zdGFydCA9IGF0b21pY19yZWFkKCZjcnRjX3N0YXRlLT5mcmFtZV9zdGFydCk7Cj4g PiArCWZyYW1lX2VuZCA9IGF0b21pY19yZWFkKCZjcnRjX3N0YXRlLT5mcmFtZV9lbmQpOwo+ID4g KwkvKiBfdmJsYW5rX2hhbmRsZSgpIGhhc24ndCB1cGRhdGVkIGZyYW1lX3N0YXJ0IHlldCAqLwo+ ID4gKwlpZiAoIWZyYW1lX3N0YXJ0KSB7Cj4gCj4gSSB0aGluayBpZiB3ZSBnbyB3aXRoIHU2NCB3 ZSBjYW4gaWdub3JlIHRoZSBpc3N1ZXMgZm9yIHdyYXAtYXJyb3VuZCwgc2luY2UKPiB0aGF0IHdp bGwgc2ltcGx5IG5ldmVyIGhhcHBlbi4gQnV0IGEgY29tbWVudCB3b3VsZCBiZSBnb29kLgo+IAo+ IEFzaWRlIGZyb20gdGhlIGF0b21pY190IGlzc3VlIEkgdGhpbmsgdGhpcyBsb29rcyBnb29kLgo+ IC1EYW5pZWwKPiAKPiA+ICsJCXJldHVybjsKPiA+ICsJfSBlbHNlIGlmIChmcmFtZV9zdGFydCA9 PSBmcmFtZV9lbmQpIHsKPiA+ICsJCWF0b21pY19zZXQoJmNydGNfc3RhdGUtPmZyYW1lX3N0YXJ0 LCAwKTsKPiA+ICsJCXJldHVybjsKPiA+ICsJfQo+ID4gIAo+ID4gIAlkcm1fZm9yX2VhY2hfcGxh bmUocGxhbmUsICZ2ZGV2LT5kcm0pIHsKPiA+ICAJCXN0cnVjdCB2a21zX3BsYW5lX3N0YXRlICp2 cGxhbmVfc3RhdGU7Cj4gPiBAQCAtNjcsNyArODYsMTcgQEAgdm9pZCB2a21zX2NyY193b3JrX2hh bmRsZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gPiAgCWlmIChwcmltYXJ5X2NyYykKPiA+ ICAJCWNyYzMyID0gX3ZrbXNfZ2V0X2NyYyhwcmltYXJ5X2NyYyk7Cj4gPiAgCj4gPiAtCWRybV9j cnRjX2FkZF9jcmNfZW50cnkoY3J0YywgdHJ1ZSwgY3J0Y19zdGF0ZS0+bl9mcmFtZSwgJmNyYzMy KTsKPiA+ICsJZnJhbWVfZW5kID0gZHJtX2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KGNydGMp Owo+ID4gKwo+ID4gKwkvKiBxdWV1ZV93b3JrIGNhbiBmYWlsIHRvIHNjaGVkdWxlIGNyY193b3Jr OyBhZGQgY3JjIGZvcgo+ID4gKwkgKiBtaXNzaW5nIGZyYW1lcwo+ID4gKwkgKi8KPiA+ICsJd2hp bGUgKGZyYW1lX3N0YXJ0IDw9IGZyYW1lX2VuZCkKPiA+ICsJCWRybV9jcnRjX2FkZF9jcmNfZW50 cnkoY3J0YywgdHJ1ZSwgZnJhbWVfc3RhcnQrKywgJmNyYzMyKTsKPiA+ICsKPiA+ICsJLyogdG8g YXZvaWQgdXNpbmcgdGhlIHNhbWUgdmFsdWUgYWdhaW4gKi8KPiA+ICsJYXRvbWljX3NldCgmY3J0 Y19zdGF0ZS0+ZnJhbWVfZW5kLCBmcmFtZV9lbmQpOwo+ID4gKwlhdG9taWNfc2V0KCZjcnRjX3N0 YXRlLT5mcmFtZV9zdGFydCwgMCk7Cj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyBpbnQgdmttc19j cmNfcGFyc2Vfc291cmNlKGNvbnN0IGNoYXIgKnNyY19uYW1lLCBib29sICplbmFibGVkKQo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jIGIvZHJpdmVycy9n cHUvZHJtL3ZrbXMvdmttc19jcnRjLmMKPiA+IGluZGV4IDlkMGIxYTMyNWE3OC4uYTE3MDY3N2Fj ZDQ2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jCj4gPiBAQCAtMjIsOCArMjIs MTcgQEAgc3RhdGljIHZvaWQgX3ZibGFua19oYW5kbGUoc3RydWN0IHZrbXNfb3V0cHV0ICpvdXRw dXQpCj4gPiAgCQlEUk1fRVJST1IoInZrbXMgZmFpbHVyZSBvbiBoYW5kbGluZyB2YmxhbmsiKTsK PiA+ICAKPiA+ICAJaWYgKHN0YXRlICYmIG91dHB1dC0+Y3JjX2VuYWJsZWQpIHsKPiA+IC0JCXN0 YXRlLT5uX2ZyYW1lID0gZHJtX2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KGNydGMpOwo+ID4g LQkJcXVldWVfd29yayhvdXRwdXQtPmNyY193b3JrcSwgJnN0YXRlLT5jcmNfd29yayk7Cj4gPiAr CQl1MzIgZnJhbWUgPSBkcm1fY3J0Y19hY2N1cmF0ZV92YmxhbmtfY291bnQoY3J0Yyk7Cj4gPiAr Cj4gPiArCQkvKiB1cGRhdGUgZnJhbWVfc3RhcnQgb25seSBpZiBhIHF1ZXVlZCB2a21zX2NyY193 b3JrX2hhbmRsZSBoYXMKPiA+ICsJCSAqIHJlYWQgdGhlIGRhdGEKPiA+ICsJCSAqLwo+ID4gKwkJ aWYgKCFhdG9taWNfcmVhZCgmc3RhdGUtPmZyYW1lX3N0YXJ0KSkKPiA+ICsJCQlhdG9taWNfc2V0 KCZzdGF0ZS0+ZnJhbWVfc3RhcnQsIGZyYW1lKTsKPiA+ICsKPiA+ICsJCXJldCA9IHF1ZXVlX3dv cmsob3V0cHV0LT5jcmNfd29ya3EsICZzdGF0ZS0+Y3JjX3dvcmspOwo+ID4gKwkJaWYgKCFyZXQp Cj4gPiArCQkJRFJNX1dBUk4oImZhaWxlZCB0byBxdWV1ZSB2a21zX2NyY193b3JrX2hhbmRsZSIp Owo+ID4gIAl9Cj4gPiAgCj4gPiAgCXNwaW5fdW5sb2NrKCZvdXRwdXQtPmxvY2spOwo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vdmttcy92a21zX2Rydi5oCj4gPiBpbmRleCAyMDE3YTJjY2M0M2QuLjRhMzk1NmEwNTQ5ZSAx MDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmgKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmgKPiA+IEBAIC0zOSwxMiArMzksMTQgQEAg c3RydWN0IHZrbXNfcGxhbmVfc3RhdGUgewo+ID4gICAqIHZrbXNfY3J0Y19zdGF0ZSAtIERyaXZl ciBzcGVjaWZpYyBDUlRDIHN0YXRlCj4gPiAgICogQGJhc2U6IGJhc2UgQ1JUQyBzdGF0ZQo+ID4g ICAqIEBjcmNfd29yazogd29yayBzdHJ1Y3QgdG8gY29tcHV0ZSBhbmQgYWRkIENSQyBlbnRyaWVz Cj4gPiAtICogQG5fZnJhbWU6IGZyYW1lIG51bWJlciBmb3IgY29tcHV0ZWQgQ1JDCj4gPiArICog QG5fZnJhbWVfc3RhcnQ6IHN0YXJ0IGZyYW1lIG51bWJlciBmb3IgY29tcHV0ZWQgQ1JDCj4gPiAr ICogQG5fZnJhbWVfZW5kOiBlbmQgZnJhbWUgbnVtYmVyIGZvciBjb21wdXRlZCBDUkMKPiA+ICAg Ki8KPiA+ICBzdHJ1Y3Qgdmttc19jcnRjX3N0YXRlIHsKPiA+ICAJc3RydWN0IGRybV9jcnRjX3N0 YXRlIGJhc2U7Cj4gPiAgCXN0cnVjdCB3b3JrX3N0cnVjdCBjcmNfd29yazsKPiA+IC0JdW5zaWdu ZWQgaW50IG5fZnJhbWU7Cj4gPiArCWF0b21pY190IGZyYW1lX3N0YXJ0Owo+ID4gKwlhdG9taWNf dCBmcmFtZV9lbmQ7Cj4gPiAgfTsKPiA+ICAKPiA+ICBzdHJ1Y3Qgdmttc19vdXRwdXQgewo+ID4g LS0gCj4gPiAyLjE3LjEKPiA+IAo+IAo+IC0tIAo+IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2FyZSBF bmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK