From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 6/7] dma-buf/sw-sync: Fix locking around sync_timeline lists Date: Thu, 29 Jun 2017 13:59:29 +0100 Message-ID: <20170629125930.821-6-chris@chris-wilson.co.uk> References: <20170629125930.821-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170629125930.821-1-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: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org, Sumit Semwal List-Id: dri-devel@lists.freedesktop.org VGhlIHN5bmNfcHQgd2VyZSBub3QgYWRkaW5nIHRoZW1zZWx2ZXMgYXRvbWljYWxseSB0byB0aGUg dGltZWxpbmUgbGlzdHMsCmNvcnJ1cHRpb24gaW1taW5lbnQuICBPbmx5IGEgc2luZ2xlIGxpc3Qg aXMgcmVxdWlyZWQgdG8gdHJhY2sgdGhlCnVuc2lnbmFsZWQgc3luY19wdCwgc28gcmVkdWNlIGl0 IGFuZCByZW5hbWUgdGhlIGxvY2sgbW9yZSBhcHByb3ByaWF0ZWx5CmFsb25nIHdpdGggdXNpbmcg aWRpb21hdGljIG5hbWVzIHRvIGRpc3Rpbmd1aXNoIGEgbGlzdCBmcm9tIGxpbmtzIGFsb25nCml0 LgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ CkNjOiBTdW1pdCBTZW13YWwgPHN1bWl0LnNlbXdhbEBsaW5hcm8ub3JnPgpDYzogU2VhbiBQYXVs IDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+CkNjOiBHdXN0YXZvIFBhZG92YW4gPGd1c3Rhdm9AcGFk b3Zhbi5vcmc+Ci0tLQogZHJpdmVycy9kbWEtYnVmL3N3X3N5bmMuYyAgICB8IDM5ICsrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9kbWEtYnVmL3N5bmNfZGVi dWcuYyB8ICA5ICsrKystLS0tLQogZHJpdmVycy9kbWEtYnVmL3N5bmNfZGVidWcuaCB8IDIxICsr KysrKysrLS0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCA0 MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvc3dfc3luYy5jIGIv ZHJpdmVycy9kbWEtYnVmL3N3X3N5bmMuYwppbmRleCA2ZWZmYTFjZTAxMGUuLmU1MWZlMTFiYmJl YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL3N3X3N5bmMuYworKysgYi9kcml2ZXJzL2Rt YS1idWYvc3dfc3luYy5jCkBAIC05Niw5ICs5Niw4IEBAIHN0YXRpYyBzdHJ1Y3Qgc3luY190aW1l bGluZSAqc3luY190aW1lbGluZV9jcmVhdGUoY29uc3QgY2hhciAqbmFtZSkKIAlvYmotPmNvbnRl eHQgPSBkbWFfZmVuY2VfY29udGV4dF9hbGxvYygxKTsKIAlzdHJsY3B5KG9iai0+bmFtZSwgbmFt ZSwgc2l6ZW9mKG9iai0+bmFtZSkpOwogCi0JSU5JVF9MSVNUX0hFQUQoJm9iai0+Y2hpbGRfbGlz dF9oZWFkKTsKLQlJTklUX0xJU1RfSEVBRCgmb2JqLT5hY3RpdmVfbGlzdF9oZWFkKTsKLQlzcGlu X2xvY2tfaW5pdCgmb2JqLT5jaGlsZF9saXN0X2xvY2spOworCUlOSVRfTElTVF9IRUFEKCZvYmot PnB0X2xpc3QpOworCXNwaW5fbG9ja19pbml0KCZvYmotPmxvY2spOwogCiAJc3luY190aW1lbGlu ZV9kZWJ1Z19hZGQob2JqKTsKIApAQCAtMTM5LDE3ICsxMzgsMTUgQEAgc3RhdGljIHZvaWQgc3lu Y190aW1lbGluZV9zaWduYWwoc3RydWN0IHN5bmNfdGltZWxpbmUgKm9iaiwgdW5zaWduZWQgaW50 IGluYykKIAogCXRyYWNlX3N5bmNfdGltZWxpbmUob2JqKTsKIAotCXNwaW5fbG9ja19pcnEoJm9i ai0+Y2hpbGRfbGlzdF9sb2NrKTsKKwlzcGluX2xvY2tfaXJxKCZvYmotPmxvY2spOwogCiAJb2Jq LT52YWx1ZSArPSBpbmM7CiAKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocHQsIG5leHQsICZv YmotPmFjdGl2ZV9saXN0X2hlYWQsCi0JCQkJIGFjdGl2ZV9saXN0KSB7CisJbGlzdF9mb3JfZWFj aF9lbnRyeV9zYWZlKHB0LCBuZXh0LCAmb2JqLT5wdF9saXN0LCBsaW5rKQogCQlpZiAoZG1hX2Zl bmNlX2lzX3NpZ25hbGVkX2xvY2tlZCgmcHQtPmJhc2UpKQotCQkJbGlzdF9kZWxfaW5pdCgmcHQt PmFjdGl2ZV9saXN0KTsKLQl9CisJCQlsaXN0X2RlbF9pbml0KCZwdC0+bGluayk7CiAKLQlzcGlu X3VubG9ja19pcnEoJm9iai0+Y2hpbGRfbGlzdF9sb2NrKTsKKwlzcGluX3VubG9ja19pcnEoJm9i ai0+bG9jayk7CiB9CiAKIC8qKgpAQCAtMTcxLDE1ICsxNjgsMTUgQEAgc3RhdGljIHN0cnVjdCBz eW5jX3B0ICpzeW5jX3B0X2NyZWF0ZShzdHJ1Y3Qgc3luY190aW1lbGluZSAqb2JqLAogCWlmICgh cHQpCiAJCXJldHVybiBOVUxMOwogCi0Jc3Bpbl9sb2NrX2lycSgmb2JqLT5jaGlsZF9saXN0X2xv Y2spOwotCiAJc3luY190aW1lbGluZV9nZXQob2JqKTsKLQlkbWFfZmVuY2VfaW5pdCgmcHQtPmJh c2UsICZ0aW1lbGluZV9mZW5jZV9vcHMsICZvYmotPmNoaWxkX2xpc3RfbG9jaywKKwlkbWFfZmVu Y2VfaW5pdCgmcHQtPmJhc2UsICZ0aW1lbGluZV9mZW5jZV9vcHMsICZvYmotPmxvY2ssCiAJCSAg ICAgICBvYmotPmNvbnRleHQsIHZhbHVlKTsKLQlsaXN0X2FkZF90YWlsKCZwdC0+Y2hpbGRfbGlz dCwgJm9iai0+Y2hpbGRfbGlzdF9oZWFkKTsKLQlJTklUX0xJU1RfSEVBRCgmcHQtPmFjdGl2ZV9s aXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmcHQtPmxpbmspOwogCi0Jc3Bpbl91bmxvY2tfaXJxKCZv YmotPmNoaWxkX2xpc3RfbG9jayk7CisJc3Bpbl9sb2NrX2lycSgmb2JqLT5sb2NrKTsKKwlpZiAo IWRtYV9mZW5jZV9pc19zaWduYWxlZF9sb2NrZWQoJnB0LT5iYXNlKSkKKwkJbGlzdF9hZGRfdGFp bCgmcHQtPmxpbmssICZvYmotPnB0X2xpc3QpOworCXNwaW5fdW5sb2NrX2lycSgmb2JqLT5sb2Nr KTsKIAogCXJldHVybiBwdDsKIH0KQEAgLTIwNCw5ICsyMDEsOCBAQCBzdGF0aWMgdm9pZCB0aW1l bGluZV9mZW5jZV9yZWxlYXNlKHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQogCiAJc3Bpbl9sb2Nr X2lycXNhdmUoZmVuY2UtPmxvY2ssIGZsYWdzKTsKIAotCWxpc3RfZGVsKCZwdC0+Y2hpbGRfbGlz dCk7Ci0JaWYgKCFsaXN0X2VtcHR5KCZwdC0+YWN0aXZlX2xpc3QpKQotCQlsaXN0X2RlbCgmcHQt PmFjdGl2ZV9saXN0KTsKKwlpZiAoIWxpc3RfZW1wdHkoJnB0LT5saW5rKSkKKwkJbGlzdF9kZWwo JnB0LT5saW5rKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoZmVuY2UtPmxvY2ssIGZsYWdz KTsKIApAQCAtMjIzLDEzICsyMTksNiBAQCBzdGF0aWMgYm9vbCB0aW1lbGluZV9mZW5jZV9zaWdu YWxlZChzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKIAogc3RhdGljIGJvb2wgdGltZWxpbmVfZmVu Y2VfZW5hYmxlX3NpZ25hbGluZyhzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKIHsKLQlzdHJ1Y3Qg c3luY19wdCAqcHQgPSBkbWFfZmVuY2VfdG9fc3luY19wdChmZW5jZSk7Ci0Jc3RydWN0IHN5bmNf dGltZWxpbmUgKnBhcmVudCA9IGRtYV9mZW5jZV9wYXJlbnQoZmVuY2UpOwotCi0JaWYgKHRpbWVs aW5lX2ZlbmNlX3NpZ25hbGVkKGZlbmNlKSkKLQkJcmV0dXJuIGZhbHNlOwotCi0JbGlzdF9hZGRf dGFpbCgmcHQtPmFjdGl2ZV9saXN0LCAmcGFyZW50LT5hY3RpdmVfbGlzdF9oZWFkKTsKIAlyZXR1 cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL3N5bmNfZGVidWcuYyBi L2RyaXZlcnMvZG1hLWJ1Zi9zeW5jX2RlYnVnLmMKaW5kZXggMGU5MTYzMjI0OGJhLi4yMjY0YTA3 NWY2YTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9zeW5jX2RlYnVnLmMKKysrIGIvZHJp dmVycy9kbWEtYnVmL3N5bmNfZGVidWcuYwpAQCAtMTE5LDEzICsxMTksMTIgQEAgc3RhdGljIHZv aWQgc3luY19wcmludF9vYmooc3RydWN0IHNlcV9maWxlICpzLCBzdHJ1Y3Qgc3luY190aW1lbGlu ZSAqb2JqKQogCiAJc2VxX3ByaW50ZihzLCAiJXM6ICVkXG4iLCBvYmotPm5hbWUsIG9iai0+dmFs dWUpOwogCi0Jc3Bpbl9sb2NrX2lycSgmb2JqLT5jaGlsZF9saXN0X2xvY2spOwotCWxpc3RfZm9y X2VhY2gocG9zLCAmb2JqLT5jaGlsZF9saXN0X2hlYWQpIHsKLQkJc3RydWN0IHN5bmNfcHQgKnB0 ID0KLQkJCWNvbnRhaW5lcl9vZihwb3MsIHN0cnVjdCBzeW5jX3B0LCBjaGlsZF9saXN0KTsKKwlz cGluX2xvY2tfaXJxKCZvYmotPmxvY2spOworCWxpc3RfZm9yX2VhY2gocG9zLCAmb2JqLT5wdF9s aXN0KSB7CisJCXN0cnVjdCBzeW5jX3B0ICpwdCA9IGNvbnRhaW5lcl9vZihwb3MsIHN0cnVjdCBz eW5jX3B0LCBsaW5rKTsKIAkJc3luY19wcmludF9mZW5jZShzLCAmcHQtPmJhc2UsIGZhbHNlKTsK IAl9Ci0Jc3Bpbl91bmxvY2tfaXJxKCZvYmotPmNoaWxkX2xpc3RfbG9jayk7CisJc3Bpbl91bmxv Y2tfaXJxKCZvYmotPmxvY2spOwogfQogCiBzdGF0aWMgdm9pZCBzeW5jX3ByaW50X3N5bmNfZmls ZShzdHJ1Y3Qgc2VxX2ZpbGUgKnMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvc3luY19k ZWJ1Zy5oIGIvZHJpdmVycy9kbWEtYnVmL3N5bmNfZGVidWcuaAppbmRleCAyNmZlOGI5OTA3YjMu Ljg5OWJhMGUxOWZkMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL3N5bmNfZGVidWcuaAor KysgYi9kcml2ZXJzL2RtYS1idWYvc3luY19kZWJ1Zy5oCkBAIC0yNCw0MiArMjQsMzcgQEAKICAq IHN0cnVjdCBzeW5jX3RpbWVsaW5lIC0gc3luYyBvYmplY3QKICAqIEBrcmVmOgkJcmVmZXJlbmNl IGNvdW50IG9uIGZlbmNlLgogICogQG5hbWU6CQluYW1lIG9mIHRoZSBzeW5jX3RpbWVsaW5lLiBV c2VmdWwgZm9yIGRlYnVnZ2luZwotICogQGNoaWxkX2xpc3RfaGVhZDoJbGlzdCBvZiBjaGlsZHJl biBzeW5jX3B0cyBmb3IgdGhpcyBzeW5jX3RpbWVsaW5lCi0gKiBAY2hpbGRfbGlzdF9sb2NrOgls b2NrIHByb3RlY3RpbmcgQGNoaWxkX2xpc3RfaGVhZCBhbmQgZmVuY2Uuc3RhdHVzCi0gKiBAYWN0 aXZlX2xpc3RfaGVhZDoJbGlzdCBvZiBhY3RpdmUgKHVuc2lnbmFsZWQvZXJyb3JlZCkgc3luY19w dHMKKyAqIEBsb2NrOgkJbG9jayBwcm90ZWN0aW5nIEBjaGlsZF9saXN0X2hlYWQgYW5kIGZlbmNl LnN0YXR1cworICogQHB0X2xpc3Q6CQlsaXN0IG9mIGFjdGl2ZSAodW5zaWduYWxlZC9lcnJvcmVk KSBzeW5jX3B0cwogICogQHN5bmNfdGltZWxpbmVfbGlzdDoJbWVtYmVyc2hpcCBpbiBnbG9iYWwg c3luY190aW1lbGluZV9saXN0CiAgKi8KIHN0cnVjdCBzeW5jX3RpbWVsaW5lIHsKIAlzdHJ1Y3Qg a3JlZgkJa3JlZjsKIAljaGFyCQkJbmFtZVszMl07CiAKLQkvKiBwcm90ZWN0ZWQgYnkgY2hpbGRf bGlzdF9sb2NrICovCisJLyogcHJvdGVjdGVkIGJ5IGxvY2sgKi8KIAl1NjQJCQljb250ZXh0Owog CWludAkJCXZhbHVlOwogCi0Jc3RydWN0IGxpc3RfaGVhZAljaGlsZF9saXN0X2hlYWQ7Ci0Jc3Bp bmxvY2tfdAkJY2hpbGRfbGlzdF9sb2NrOwotCi0Jc3RydWN0IGxpc3RfaGVhZAlhY3RpdmVfbGlz dF9oZWFkOworCXN0cnVjdCBsaXN0X2hlYWQJcHRfbGlzdDsKKwlzcGlubG9ja190CQlsb2NrOwog CiAJc3RydWN0IGxpc3RfaGVhZAlzeW5jX3RpbWVsaW5lX2xpc3Q7CiB9OwogCiBzdGF0aWMgaW5s aW5lIHN0cnVjdCBzeW5jX3RpbWVsaW5lICpkbWFfZmVuY2VfcGFyZW50KHN0cnVjdCBkbWFfZmVu Y2UgKmZlbmNlKQogewotCXJldHVybiBjb250YWluZXJfb2YoZmVuY2UtPmxvY2ssIHN0cnVjdCBz eW5jX3RpbWVsaW5lLCBjaGlsZF9saXN0X2xvY2spOworCXJldHVybiBjb250YWluZXJfb2YoZmVu Y2UtPmxvY2ssIHN0cnVjdCBzeW5jX3RpbWVsaW5lLCBsb2NrKTsKIH0KIAogLyoqCiAgKiBzdHJ1 Y3Qgc3luY19wdCAtIHN5bmNfcHQgb2JqZWN0CiAgKiBAYmFzZTogYmFzZSBmZW5jZSBvYmplY3QK LSAqIEBjaGlsZF9saXN0OiBzeW5jIHRpbWVsaW5lIGNoaWxkJ3MgbGlzdAotICogQGFjdGl2ZV9s aXN0OiBzeW5jIHRpbWVsaW5lIGFjdGl2ZSBjaGlsZCdzIGxpc3QKKyAqIEBsaW5rOiBsaW5rIG9u IHRoZSBzeW5jIHRpbWVsaW5lJ3MgbGlzdAogICovCiBzdHJ1Y3Qgc3luY19wdCB7CiAJc3RydWN0 IGRtYV9mZW5jZSBiYXNlOwotCXN0cnVjdCBsaXN0X2hlYWQgY2hpbGRfbGlzdDsKLQlzdHJ1Y3Qg bGlzdF9oZWFkIGFjdGl2ZV9saXN0OworCXN0cnVjdCBsaXN0X2hlYWQgbGluazsKIH07CiAKICNp ZmRlZiBDT05GSUdfU1dfU1lOQwotLSAKMi4xMy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK