From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haneen Mohammed Subject: [PATCH] drm/vkms: Fix race condition around accessing frame number Date: Fri, 24 Aug 2018 02:16:34 +0300 Message-ID: <20180823231634.GA17011@haneenDRM> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-x241.google.com (mail-qk0-x241.google.com [IPv6:2607:f8b0:400d:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id E52756E5E3 for ; Thu, 23 Aug 2018 23:16:38 +0000 (UTC) Received: by mail-qk0-x241.google.com with SMTP id 93-v6so4784215qks.3 for ; Thu, 23 Aug 2018 16:16:38 -0700 (PDT) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: seanpaul@chromium.org, rodrigosiqueiramelo@gmail.com List-Id: dri-devel@lists.freedesktop.org Y3J0Y19zdGF0ZSBpcyBhY2Nlc3NlZCBieSBib3RoIHZibGFua19oYW5kbGUoKSBhbmQgdGhlIG9y ZGVyZWQKd29ya19zdHJ1Y3QgaGFuZGxlIHZrbXNfY3JjX3dvcmtfaGFuZGxlKCkgdG8gcmV0cmll dmUgYW5kIG9yIHVwZGF0ZQp0aGUgZnJhbWUgbnVtYmVyIGZvciBjb21wdXRlZCBDUkMuCgpTaW5j ZSB3b3JrX3N0cnVjdCBjYW4gZmFpbCwgYWRkIGZyYW1lX2VuZCB0byBhY2NvdW50IGZvciBtaXNz aW5nIGZyYW1lCm51bWJlcnMuCgp1c2UgYXRvbWljX3Qgd2l0dGggYXBwcm9wcmlhdGUgZmxhZ3Mg Zm9yIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVuIGhydGltZXIKY2FsbGJhY2sgYW5kIG9yZGVyZWQg d29ya19zdHJ1Y3QgaGFuZGxlIHNpbmNlIHNwaW5sb2NrIGNhbid0IGJlIHVzZWQKd2l0aCB3b3Jr X3N0cnVjdCBoYW5kbGUgYW5kIG11dGV4IGNhbid0IGJlIHVzZWQgd2l0aCBocnRpbWVyIGNhbGxi YWNrLgoKVGhpcyBwYXRjaCBwYXNzZXMgdGhlIGZvbGxvd2luZyBzdWJ0ZXN0cyBmcm9tIGlndCBr bXNfcGlwZV9jcmNfYmFzaWMgdGVzdDoKYmFkLXNvdXJjZSwgcmVhZC1jcmMtcGlwZS1BLCByZWFk LWNyYy1waXBlLUEtZnJhbWUtc2VxdWVuY2UsCm5vbmJsb2NraW5nLWNyYy1waXBlLUEsIG5vbmJs b2NraW5nLWNyYy1waXBlLUEtZnJhbWUtc2VxdWVuY2UKClNpZ25lZC1vZmYtYnk6IEhhbmVlbiBN b2hhbW1lZCA8aGFtb2hhbW1lZC5zYUBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3Zr bXMvdmttc19jcmMuYyAgfCAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogZHJp dmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMgfCAxMyArKysrKysrKysrKy0tCiBkcml2ZXJz L2dwdS9kcm0vdmttcy92a21zX2Rydi5oICB8ICA2ICsrKystLQogMyBmaWxlcyBjaGFuZ2VkLCA0 NiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS92a21zL3ZrbXNfY3JjLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NyYy5jCmlu ZGV4IGVkNDdkNjdjZWNkNi4uNGExYmE1Yjc4ODZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vdmttcy92a21zX2NyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3JjLmMK QEAgLTM0LDYgKzM0LDE1IEBAIHN0YXRpYyB1aW50MzJfdCBfdmttc19nZXRfY3JjKHN0cnVjdCB2 a21zX2NyY19kYXRhICpjcmNfZGF0YSkKIAlyZXR1cm4gY3JjOwogfQogCisvKioKKyAqIHZrbXNf Y3JjX3dvcmtfaGFuZGxlIC0gb3JkZXJlZCB3b3JrX3N0cnVjdCB0byBjb21wdXRlIENSQworICoK KyAqIEB3b3JrOiB3b3JrX3N0cnVjdAorICoKKyAqIFdvcmsgaGFuZGxlciBmb3IgY29tcHV0aW5n IENSQ3MuIHdvcmtfc3RydWN0IHNjaGVkdWxlZCBpbgorICogYW4gb3JkZXJlZCB3b3JrcXVldWUg dGhhdCdzIHBlcmlvZGljYWxseSBzY2hlZHVsZWQgdG8gcnVuIGJ5CisgKiBfdmJsYW5rX2hhbmRs ZSgpIGFuZCBmbHVzaGVkIGF0IHZrbXNfYXRvbWljX2NydGNfZGVzdHJveV9zdGF0ZSgpLgorICov CiB2b2lkIHZrbXNfY3JjX3dvcmtfaGFuZGxlKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsK IAlzdHJ1Y3Qgdmttc19jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0gY29udGFpbmVyX29mKHdvcmss CkBAIC00NSw4ICs1NCwxOCBAQCB2b2lkIHZrbXNfY3JjX3dvcmtfaGFuZGxlKHN0cnVjdCB3b3Jr X3N0cnVjdCAqd29yaykKIAkJCQkJCW91dHB1dCk7CiAJc3RydWN0IHZrbXNfY3JjX2RhdGEgKnBy aW1hcnlfY3JjID0gTlVMTDsKIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKLQogCXUzMiBjcmMz MiA9IDA7CisJdTMyIGZyYW1lX3N0YXJ0LCBmcmFtZV9lbmQ7CisKKwlmcmFtZV9zdGFydCA9IGF0 b21pY19yZWFkKCZjcnRjX3N0YXRlLT5mcmFtZV9zdGFydCk7CisJZnJhbWVfZW5kID0gYXRvbWlj X3JlYWQoJmNydGNfc3RhdGUtPmZyYW1lX2VuZCk7CisJLyogX3ZibGFua19oYW5kbGUoKSBoYXNu J3QgdXBkYXRlZCBmcmFtZV9zdGFydCB5ZXQgKi8KKwlpZiAoIWZyYW1lX3N0YXJ0KSB7CisJCXJl dHVybjsKKwl9IGVsc2UgaWYgKGZyYW1lX3N0YXJ0ID09IGZyYW1lX2VuZCkgeworCQlhdG9taWNf c2V0KCZjcnRjX3N0YXRlLT5mcmFtZV9zdGFydCwgMCk7CisJCXJldHVybjsKKwl9CiAKIAlkcm1f Zm9yX2VhY2hfcGxhbmUocGxhbmUsICZ2ZGV2LT5kcm0pIHsKIAkJc3RydWN0IHZrbXNfcGxhbmVf c3RhdGUgKnZwbGFuZV9zdGF0ZTsKQEAgLTY3LDcgKzg2LDE3IEBAIHZvaWQgdmttc19jcmNfd29y a19oYW5kbGUoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCWlmIChwcmltYXJ5X2NyYykKIAkJ Y3JjMzIgPSBfdmttc19nZXRfY3JjKHByaW1hcnlfY3JjKTsKIAotCWRybV9jcnRjX2FkZF9jcmNf ZW50cnkoY3J0YywgdHJ1ZSwgY3J0Y19zdGF0ZS0+bl9mcmFtZSwgJmNyYzMyKTsKKwlmcmFtZV9l bmQgPSBkcm1fY3J0Y19hY2N1cmF0ZV92YmxhbmtfY291bnQoY3J0Yyk7CisKKwkvKiBxdWV1ZV93 b3JrIGNhbiBmYWlsIHRvIHNjaGVkdWxlIGNyY193b3JrOyBhZGQgY3JjIGZvcgorCSAqIG1pc3Np bmcgZnJhbWVzCisJICovCisJd2hpbGUgKGZyYW1lX3N0YXJ0IDw9IGZyYW1lX2VuZCkKKwkJZHJt X2NydGNfYWRkX2NyY19lbnRyeShjcnRjLCB0cnVlLCBmcmFtZV9zdGFydCsrLCAmY3JjMzIpOwor CisJLyogdG8gYXZvaWQgdXNpbmcgdGhlIHNhbWUgdmFsdWUgYWdhaW4gKi8KKwlhdG9taWNfc2V0 KCZjcnRjX3N0YXRlLT5mcmFtZV9lbmQsIGZyYW1lX2VuZCk7CisJYXRvbWljX3NldCgmY3J0Y19z dGF0ZS0+ZnJhbWVfc3RhcnQsIDApOwogfQogCiBzdGF0aWMgaW50IHZrbXNfY3JjX3BhcnNlX3Nv dXJjZShjb25zdCBjaGFyICpzcmNfbmFtZSwgYm9vbCAqZW5hYmxlZCkKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmtt c19jcnRjLmMKaW5kZXggOWQwYjFhMzI1YTc4Li5hMTcwNjc3YWNkNDYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21z L3ZrbXNfY3J0Yy5jCkBAIC0yMiw4ICsyMiwxNyBAQCBzdGF0aWMgdm9pZCBfdmJsYW5rX2hhbmRs ZShzdHJ1Y3Qgdmttc19vdXRwdXQgKm91dHB1dCkKIAkJRFJNX0VSUk9SKCJ2a21zIGZhaWx1cmUg b24gaGFuZGxpbmcgdmJsYW5rIik7CiAKIAlpZiAoc3RhdGUgJiYgb3V0cHV0LT5jcmNfZW5hYmxl ZCkgewotCQlzdGF0ZS0+bl9mcmFtZSA9IGRybV9jcnRjX2FjY3VyYXRlX3ZibGFua19jb3VudChj cnRjKTsKLQkJcXVldWVfd29yayhvdXRwdXQtPmNyY193b3JrcSwgJnN0YXRlLT5jcmNfd29yayk7 CisJCXUzMiBmcmFtZSA9IGRybV9jcnRjX2FjY3VyYXRlX3ZibGFua19jb3VudChjcnRjKTsKKwor CQkvKiB1cGRhdGUgZnJhbWVfc3RhcnQgb25seSBpZiBhIHF1ZXVlZCB2a21zX2NyY193b3JrX2hh bmRsZSBoYXMKKwkJICogcmVhZCB0aGUgZGF0YQorCQkgKi8KKwkJaWYgKCFhdG9taWNfcmVhZCgm c3RhdGUtPmZyYW1lX3N0YXJ0KSkKKwkJCWF0b21pY19zZXQoJnN0YXRlLT5mcmFtZV9zdGFydCwg ZnJhbWUpOworCisJCXJldCA9IHF1ZXVlX3dvcmsob3V0cHV0LT5jcmNfd29ya3EsICZzdGF0ZS0+ Y3JjX3dvcmspOworCQlpZiAoIXJldCkKKwkJCURSTV9XQVJOKCJmYWlsZWQgdG8gcXVldWUgdmtt c19jcmNfd29ya19oYW5kbGUiKTsKIAl9CiAKIAlzcGluX3VubG9jaygmb3V0cHV0LT5sb2NrKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vdmttcy92a21zX2Rydi5oCmluZGV4IDIwMTdhMmNjYzQzZC4uNGEzOTU2YTA1NDllIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS92a21zL3ZrbXNfZHJ2LmgKQEAgLTM5LDEyICszOSwxNCBAQCBzdHJ1Y3Qgdmttc19w bGFuZV9zdGF0ZSB7CiAgKiB2a21zX2NydGNfc3RhdGUgLSBEcml2ZXIgc3BlY2lmaWMgQ1JUQyBz dGF0ZQogICogQGJhc2U6IGJhc2UgQ1JUQyBzdGF0ZQogICogQGNyY193b3JrOiB3b3JrIHN0cnVj dCB0byBjb21wdXRlIGFuZCBhZGQgQ1JDIGVudHJpZXMKLSAqIEBuX2ZyYW1lOiBmcmFtZSBudW1i ZXIgZm9yIGNvbXB1dGVkIENSQworICogQG5fZnJhbWVfc3RhcnQ6IHN0YXJ0IGZyYW1lIG51bWJl ciBmb3IgY29tcHV0ZWQgQ1JDCisgKiBAbl9mcmFtZV9lbmQ6IGVuZCBmcmFtZSBudW1iZXIgZm9y IGNvbXB1dGVkIENSQwogICovCiBzdHJ1Y3Qgdmttc19jcnRjX3N0YXRlIHsKIAlzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgYmFzZTsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgY3JjX3dvcms7Ci0JdW5zaWdu ZWQgaW50IG5fZnJhbWU7CisJYXRvbWljX3QgZnJhbWVfc3RhcnQ7CisJYXRvbWljX3QgZnJhbWVf ZW5kOwogfTsKIAogc3RydWN0IHZrbXNfb3V0cHV0IHsKLS0gCjIuMTcuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==