From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH] dma-buf/fence-array: fix deadlock in fence-array Date: Mon, 17 Oct 2016 14:40:12 -0400 Message-ID: <1476729612-22602-1-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-x243.google.com (mail-qk0-x243.google.com [IPv6:2607:f8b0:400d:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 03D606E596 for ; Mon, 17 Oct 2016 18:40:31 +0000 (UTC) Received: by mail-qk0-x243.google.com with SMTP id n189so14920876qke.1 for ; Mon, 17 Oct 2016 11:40:30 -0700 (PDT) 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: Gustavo Padovan List-Id: dri-devel@lists.freedesktop.org Q3VycmVudGx5IHdpdGggZmVuY2UtYXJyYXksIHdlIGhhdmUgYSBwb3RlbnRpYWwgZGVhZGxvY2sg c2l0dWF0aW9uLiAgSWYgd2UKZmVuY2VfYWRkX2NhbGxiYWNrKCkgb24gYW4gYXJyYXktZmVuY2Us IHRoZSBhcnJheS1mZW5jZSdzIGxvY2sgaXMgYWNxdWlyZWQKZmlyc3QsIGFuZCBpbiBpdCdzIC0+ ZW5hYmxlX3NpZ25hbGluZygpIGNhbGxiYWNrLCBpdCB3aWxsIGluc3RhbGwgY2IncyBvbgppdCdz IGFycmF5LW1lbWJlciBmZW5jZXMsIHNvIHRoZSBhcnJheS1tZW1iZXIncyBsb2NrIGlzIGFjcXVp cmVkIHNlY29uZC4KCkJ1dCBpbiB0aGUgc2lnbmFsIHBhdGgsIHRoZSBhcnJheS1tZW1iZXIncyBs b2NrIGlzIGFjcXVpcmVkIGZpcnN0LCBhbmQgdGhlCmFycmF5LWZlbmNlJ3MgbG9jayBhY3F1aXJl ZCBzZWNvbmQuCgpUbyBzb2x2ZSB0aGF0LCBhbHdheXMgZW5hYmxpbmcgc2lnbmFsaW5nIHVwLWZy b250IChpbiB0aGUgZmVuY2VfYXJyYXkKY29uc3RydWN0b3IpIHdpdGhvdXQgdGhlIGZlbmNlX2Fy cmF5J3MgbG9jayBoZWxkLgoKbG9ja2RlcCBzcGxhdDoKCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KWyBJTkZPOiBwb3NzaWJsZSBjaXJjdWxh ciBsb2NraW5nIGRlcGVuZGVuY3kgZGV0ZWN0ZWQgXQo0LjcuMC1yYzcrICM0ODkgTm90IHRhaW50 ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQpzdXJmYWNlZmxpbmdlci8yMDM0IGlzIHRyeWluZyB0byBhY3F1aXJlIGxvY2s6CiAoJigmYXJy YXktPmxvY2spLT5ybG9jayl7Li4uLi4ufSwgYXQ6IFs8ZmZmZjAwMDAwODU4Y2RkYz5dIGZlbmNl X3NpZ25hbCsweDVjLzB4ZjgKCmJ1dCB0YXNrIGlzIGFscmVhZHkgaG9sZGluZyBsb2NrOgogKCYo Jm9iai0+Y2hpbGRfbGlzdF9sb2NrKS0+cmxvY2spey4uLi4uLn0sIGF0OiBbPGZmZmYwMDAwMDg1 OTAyZjg+XSBzd19zeW5jX2lvY3RsKzB4MjI4LzB4M2IwCgp3aGljaCBsb2NrIGFscmVhZHkgZGVw ZW5kcyBvbiB0aGUgbmV3IGxvY2suCgp0aGUgZXhpc3RpbmcgZGVwZW5kZW5jeSBjaGFpbiAoaW4g cmV2ZXJzZSBvcmRlcikgaXM6CgotPiAjMSAoJigmb2JqLT5jaGlsZF9saXN0X2xvY2spLT5ybG9j ayl7Li4uLi4ufToKICAgICAgIFs8ZmZmZjAwMDAwODEwODkyND5dIF9fbG9ja19hY3F1aXJlKzB4 MTczYy8weDE4ZDgKICAgICAgIFs8ZmZmZjAwMDAwODEwOGUwYz5dIGxvY2tfYWNxdWlyZSsweDRj LzB4NjgKICAgICAgIFs8ZmZmZjAwMDAwOGFjNmE2Yz5dIF9yYXdfc3Bpbl9sb2NrX2lycXNhdmUr MHg1NC8weDcwCiAgICAgICBbPGZmZmYwMDAwMDg1OGQwNWM+XSBmZW5jZV9hZGRfY2FsbGJhY2sr MHgzYy8weDEwMAogICAgICAgWzxmZmZmMDAwMDA4NThmMTAwPl0gZmVuY2VfYXJyYXlfZW5hYmxl X3NpZ25hbGluZysweDgwLzB4MTcwCiAgICAgICBbPGZmZmYwMDAwMDg1OGQwZDg+XSBmZW5jZV9h ZGRfY2FsbGJhY2srMHhiOC8weDEwMAogICAgICAgWzxmZmZmMDAwMDA4NThmNTA0Pl0gc3luY19m aWxlX3BvbGwrMHhkNC8weGYwCiAgICAgICBbPGZmZmYwMDAwMDgxZmQzYTA+XSBkb19zeXNfcG9s bCsweDIyMC8weDQzOAogICAgICAgWzxmZmZmMDAwMDA4MWZkOGQwPl0gU3lTX3Bwb2xsKzB4MWIw LzB4MWQ4CiAgICAgICBbPGZmZmYwMDAwMDgwODRmMzA+XSBlbDBfc3ZjX25ha2VkKzB4MjQvMHgy OAoKLT4gIzAgKCYoJmFycmF5LT5sb2NrKS0+cmxvY2spey4uLi4uLn06CiAgICAgICBbPGZmZmYw MDAwMDgxMDQ3Njg+XSBwcmludF9jaXJjdWxhcl9idWcrMHg4MC8weDJlMAogICAgICAgWzxmZmZm MDAwMDA4MTA4OWFjPl0gX19sb2NrX2FjcXVpcmUrMHgxN2M0LzB4MThkOAogICAgICAgWzxmZmZm MDAwMDA4MTA4ZTBjPl0gbG9ja19hY3F1aXJlKzB4NGMvMHg2OAogICAgICAgWzxmZmZmMDAwMDA4 YWM2YTZjPl0gX3Jhd19zcGluX2xvY2tfaXJxc2F2ZSsweDU0LzB4NzAKICAgICAgIFs8ZmZmZjAw MDAwODU4Y2RkYz5dIGZlbmNlX3NpZ25hbCsweDVjLzB4ZjgKICAgICAgIFs8ZmZmZjAwMDAwODU4 ZjI2OD5dIGZlbmNlX2FycmF5X2NiX2Z1bmMrMHg3OC8weDg4CiAgICAgICBbPGZmZmYwMDAwMDg1 OGNiMjg+XSBmZW5jZV9zaWduYWxfbG9ja2VkKzB4ODAvMHhlMAogICAgICAgWzxmZmZmMDAwMDA4 NTkwM2M4Pl0gc3dfc3luY19pb2N0bCsweDJmOC8weDNiMAogICAgICAgWzxmZmZmMDAwMDA4MWZh ZjZjPl0gZG9fdmZzX2lvY3RsKzB4YTQvMHg3OTAKICAgICAgIFs8ZmZmZjAwMDAwODFmYjZlND5d IFN5U19pb2N0bCsweDhjLzB4YTAKICAgICAgIFs8ZmZmZjAwMDAwODA4NGYzMD5dIGVsMF9zdmNf bmFrZWQrMHgyNC8weDI4CgpvdGhlciBpbmZvIHRoYXQgbWlnaHQgaGVscCB1cyBkZWJ1ZyB0aGlz OgoKIFBvc3NpYmxlIHVuc2FmZSBsb2NraW5nIHNjZW5hcmlvOgoKICAgICAgIENQVTAgICAgICAg ICAgICAgICAgICAgIENQVTEKICAgICAgIC0tLS0gICAgICAgICAgICAgICAgICAgIC0tLS0KICBs b2NrKCYoJm9iai0+Y2hpbGRfbGlzdF9sb2NrKS0+cmxvY2spOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbG9jaygmKCZhcnJheS0+bG9jayktPnJsb2NrKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxvY2soJigmb2JqLT5jaGlsZF9saXN0X2xvY2spLT5ybG9jayk7CiAg bG9jaygmKCZhcnJheS0+bG9jayktPnJsb2NrKTsKCiAqKiogREVBRExPQ0sgKioqCgoxIGxvY2sg aGVsZCBieSBzdXJmYWNlZmxpbmdlci8yMDM0OgogIzA6ICAoJigmb2JqLT5jaGlsZF9saXN0X2xv Y2spLT5ybG9jayl7Li4uLi4ufSwgYXQ6IFs8ZmZmZjAwMDAwODU5MDJmOD5dIHN3X3N5bmNfaW9j dGwrMHgyMjgvMHgzYjAKClN1Z2dlc3RlZC1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4u bGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2Jk Y2xhcmtAZ21haWwuY29tPgotLS0KIGRyaXZlcnMvZG1hLWJ1Zi9mZW5jZS1hcnJheS5jIHwgIDgg KysrKysrKysKIGRyaXZlcnMvZG1hLWJ1Zi9mZW5jZS5jICAgICAgIHwgMjEgKysrKysrKysrKysr KysrKysrKysrCiBpbmNsdWRlL2xpbnV4L2ZlbmNlLmggICAgICAgICB8ICAxICsKIDMgZmlsZXMg Y2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1Zi9m ZW5jZS1hcnJheS5jIGIvZHJpdmVycy9kbWEtYnVmL2ZlbmNlLWFycmF5LmMKaW5kZXggZjE5ODlm Yy4uYjU4MjFlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL2ZlbmNlLWFycmF5LmMKKysr IGIvZHJpdmVycy9kbWEtYnVmL2ZlbmNlLWFycmF5LmMKQEAgLTE0MCw2ICsxNDAsMTQgQEAgc3Ry dWN0IGZlbmNlX2FycmF5ICpmZW5jZV9hcnJheV9jcmVhdGUoaW50IG51bV9mZW5jZXMsIHN0cnVj dCBmZW5jZSAqKmZlbmNlcywKIAlhdG9taWNfc2V0KCZhcnJheS0+bnVtX3BlbmRpbmcsIHNpZ25h bF9vbl9hbnkgPyAxIDogbnVtX2ZlbmNlcyk7CiAJYXJyYXktPmZlbmNlcyA9IGZlbmNlczsKIAor CS8qIGVuYWJsZSBzaWduYWxpbmcgd2l0aG91dCBvdXIgbG9jayBiZWluZyBoZWxkIHdoaWxlIGNh bGxiYWNrcworCSAqIGFyZSBpbnN0YWxsZWQgb24gdGhlIGFycmF5LW1lbWJlciBmZW5jZXMuICBP dGhlcndpc2UgdGhlcmUgaXMKKwkgKiBhIHBvdGVudGlhbCBkZWFkbG9jayBiZXR3ZWVuIGVuYWJs aW5nIHNpZ25hbGluZyAob3VyIGxvY2sKKwkgKiBhY3F1aXJlZCBmaXJzdCkgYW5kIHRoZSBhcnJh eS1tZW1iZXJzIGdldHRpbmcgc2lnbmFsbGVkICh0aGVpcgorCSAqIGxvY2sgYXF1aXJlZCBmaXJz dCkuCisJICovCisJZmVuY2VfZW5hYmxlX3N3X3NpZ25hbGluZ19ub2xvY2soJmFycmF5LT5iYXNl KTsKKwogCXJldHVybiBhcnJheTsKIH0KIEVYUE9SVF9TWU1CT0woZmVuY2VfYXJyYXlfY3JlYXRl KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1Zi9mZW5jZS5jIGIvZHJpdmVycy9kbWEtYnVm L2ZlbmNlLmMKaW5kZXggY2MwNWRkZC4uZmY2YjQxMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEt YnVmL2ZlbmNlLmMKKysrIGIvZHJpdmVycy9kbWEtYnVmL2ZlbmNlLmMKQEAgLTIxOSw2ICsyMTks MjcgQEAgdm9pZCBmZW5jZV9lbmFibGVfc3dfc2lnbmFsaW5nKHN0cnVjdCBmZW5jZSAqZmVuY2Up CiBFWFBPUlRfU1lNQk9MKGZlbmNlX2VuYWJsZV9zd19zaWduYWxpbmcpOwogCiAvKioKKyAqIGZl bmNlX2VuYWJsZV9zd19zaWduYWxpbmdfbm9sb2NrIC0gZW5hYmxlIHNpZ25hbGluZyBvbiBmZW5j ZSB3aXRob3V0IHRha2luZyBsb2NrCisgKiBAZmVuY2U6CVtpbl0JdGhlIGZlbmNlIHRvIGVuYWJs ZQorICoKKyAqIFdBUk5JTkcgdGhpcyBpcyBvbmx5IHNhZmUgdG8gdXNlIHdoZW4geW91IGtub3cg eW91IGhhdmUgdGhlIG9ubHkgcmVmZXJlbmNlCisgKiB0byB0aGUgZmVuY2UgdGhlcmUgaXMgbm8g cG9zc2liaWxpdHkgZm9yIHJhY2UgY29uZGl0aW9ucyBhcyBhIHJlc3VsdCBvZgorICogY2FsbGlu ZyBvcHMtPmVuYWJsZV9zaWduYWxpbmcoKSB3aXRob3V0IGxvY2suICBJZS4gaXQgaXMgcHJvYmFi bHkgb25seSBzYWZlCisgKiB0byB1c2UgZnJvbSB0aGUgZmVuY2UncyBjb25zdHJ1Y3Rpb24gZnVu Y3Rpb24uCisgKi8KK3ZvaWQgZmVuY2VfZW5hYmxlX3N3X3NpZ25hbGluZ19ub2xvY2soc3RydWN0 IGZlbmNlICpmZW5jZSkKK3sKKwlpZiAoIXRlc3RfYW5kX3NldF9iaXQoRkVOQ0VfRkxBR19FTkFC TEVfU0lHTkFMX0JJVCwgJmZlbmNlLT5mbGFncykgJiYKKwkgICAgIXRlc3RfYml0KEZFTkNFX0ZM QUdfU0lHTkFMRURfQklULCAmZmVuY2UtPmZsYWdzKSkgeworCQl0cmFjZV9mZW5jZV9lbmFibGVf c2lnbmFsKGZlbmNlKTsKKworCQlpZiAoIWZlbmNlLT5vcHMtPmVuYWJsZV9zaWduYWxpbmcoZmVu Y2UpKQorCQkJZmVuY2Vfc2lnbmFsKGZlbmNlKTsKKwl9Cit9CitFWFBPUlRfU1lNQk9MKGZlbmNl X2VuYWJsZV9zd19zaWduYWxpbmdfbm9sb2NrKTsKKworLyoqCiAgKiBmZW5jZV9hZGRfY2FsbGJh Y2sgLSBhZGQgYSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgZmVuY2UKICAqIGlzIHNp Z25hbGVkCiAgKiBAZmVuY2U6CVtpbl0JdGhlIGZlbmNlIHRvIHdhaXQgb24KZGlmZiAtLWdpdCBh L2luY2x1ZGUvbGludXgvZmVuY2UuaCBiL2luY2x1ZGUvbGludXgvZmVuY2UuaAppbmRleCAwZDc2 MzA1Li4wNzZhYzI5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2ZlbmNlLmgKKysrIGIvaW5j bHVkZS9saW51eC9mZW5jZS5oCkBAIC0yMjYsNiArMjI2LDcgQEAgaW50IGZlbmNlX2FkZF9jYWxs YmFjayhzdHJ1Y3QgZmVuY2UgKmZlbmNlLCBzdHJ1Y3QgZmVuY2VfY2IgKmNiLAogCQkgICAgICAg ZmVuY2VfZnVuY190IGZ1bmMpOwogYm9vbCBmZW5jZV9yZW1vdmVfY2FsbGJhY2soc3RydWN0IGZl bmNlICpmZW5jZSwgc3RydWN0IGZlbmNlX2NiICpjYik7CiB2b2lkIGZlbmNlX2VuYWJsZV9zd19z aWduYWxpbmcoc3RydWN0IGZlbmNlICpmZW5jZSk7Cit2b2lkIGZlbmNlX2VuYWJsZV9zd19zaWdu YWxpbmdfbm9sb2NrKHN0cnVjdCBmZW5jZSAqZmVuY2UpOwogCiAvKioKICAqIGZlbmNlX2lzX3Np Z25hbGVkX2xvY2tlZCAtIFJldHVybiBhbiBpbmRpY2F0aW9uIGlmIHRoZSBmZW5jZSBpcyBzaWdu YWxlZCB5ZXQuCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==