From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 1/2] dma-buf: make reservation_object_copy_fences rcu save Date: Mon, 4 Sep 2017 21:02:45 +0200 Message-ID: <1504551766-5093-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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, amd-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKU3RvcCBy ZXF1aXJpbmcgdGhhdCB0aGUgc3JjIHJlc2VydmF0aW9uIG9iamVjdCBpcyBsb2NrZWQgZm9yIHRo aXMgb3BlcmF0aW9uLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFu LmtvZW5pZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZG1hLWJ1Zi9yZXNlcnZhdGlvbi5jIHwgNTYg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDQyIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZG1hLWJ1Zi9yZXNlcnZhdGlvbi5jIGIvZHJpdmVycy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMK aW5kZXggZGVjM2E4MS4uYjQ0ZDlkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL3Jlc2Vy dmF0aW9uLmMKKysrIGIvZHJpdmVycy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMKQEAgLTI2Niw4ICsy NjYsNyBAQCBFWFBPUlRfU1lNQk9MKHJlc2VydmF0aW9uX29iamVjdF9hZGRfZXhjbF9mZW5jZSk7 CiAqIEBkc3Q6IHRoZSBkZXN0aW5hdGlvbiByZXNlcnZhdGlvbiBvYmplY3QKICogQHNyYzogdGhl IHNvdXJjZSByZXNlcnZhdGlvbiBvYmplY3QKICoKLSogQ29weSBhbGwgZmVuY2VzIGZyb20gc3Jj IHRvIGRzdC4gQm90aCBzcmMtPmxvY2sgYXMgd2VsbCBhcyBkc3QtbG9jayBtdXN0IGJlCi0qIGhl bGQuCisqIENvcHkgYWxsIGZlbmNlcyBmcm9tIHNyYyB0byBkc3QuIGRzdC1sb2NrIG11c3QgYmUg aGVsZC4KICovCiBpbnQgcmVzZXJ2YXRpb25fb2JqZWN0X2NvcHlfZmVuY2VzKHN0cnVjdCByZXNl cnZhdGlvbl9vYmplY3QgKmRzdCwKIAkJCQkgICBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpz cmMpCkBAIC0yNzcsMzMgKzI3Niw2MiBAQCBpbnQgcmVzZXJ2YXRpb25fb2JqZWN0X2NvcHlfZmVu Y2VzKHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKmRzdCwKIAlzaXplX3Qgc2l6ZTsKIAl1bnNp Z25lZCBpOwogCi0Jc3JjX2xpc3QgPSByZXNlcnZhdGlvbl9vYmplY3RfZ2V0X2xpc3Qoc3JjKTsK KwlyY3VfcmVhZF9sb2NrKCk7CisJc3JjX2xpc3QgPSByY3VfZGVyZWZlcmVuY2Uoc3JjLT5mZW5j ZSk7CiAKK3JldHJ5OgogCWlmIChzcmNfbGlzdCkgewotCQlzaXplID0gb2Zmc2V0b2YodHlwZW9m KCpzcmNfbGlzdCksCi0JCQkJc2hhcmVkW3NyY19saXN0LT5zaGFyZWRfY291bnRdKTsKKwkJdW5z aWduZWQgc2hhcmVkX2NvdW50ID0gc3JjX2xpc3QtPnNoYXJlZF9jb3VudDsKKworCQlzaXplID0g b2Zmc2V0b2YodHlwZW9mKCpzcmNfbGlzdCksIHNoYXJlZFtzaGFyZWRfY291bnRdKTsKKwkJcmN1 X3JlYWRfdW5sb2NrKCk7CisKIAkJZHN0X2xpc3QgPSBrbWFsbG9jKHNpemUsIEdGUF9LRVJORUwp OwogCQlpZiAoIWRzdF9saXN0KQogCQkJcmV0dXJuIC1FTk9NRU07CiAKLQkJZHN0X2xpc3QtPnNo YXJlZF9jb3VudCA9IHNyY19saXN0LT5zaGFyZWRfY291bnQ7Ci0JCWRzdF9saXN0LT5zaGFyZWRf bWF4ID0gc3JjX2xpc3QtPnNoYXJlZF9jb3VudDsKLQkJZm9yIChpID0gMDsgaSA8IHNyY19saXN0 LT5zaGFyZWRfY291bnQ7ICsraSkKLQkJCWRzdF9saXN0LT5zaGFyZWRbaV0gPQotCQkJCWRtYV9m ZW5jZV9nZXQoc3JjX2xpc3QtPnNoYXJlZFtpXSk7CisJCXJjdV9yZWFkX2xvY2soKTsKKwkJc3Jj X2xpc3QgPSByY3VfZGVyZWZlcmVuY2Uoc3JjLT5mZW5jZSk7CisJCWlmICghc3JjX2xpc3QgfHwg c3JjX2xpc3QtPnNoYXJlZF9jb3VudCA+IHNoYXJlZF9jb3VudCkgeworCQkJa2ZyZWUoZHN0X2xp c3QpOworCQkJZ290byByZXRyeTsKKwkJfQorCisJCWRzdF9saXN0LT5zaGFyZWRfY291bnQgPSAw OworCQlkc3RfbGlzdC0+c2hhcmVkX21heCA9IHNoYXJlZF9jb3VudDsKKwkJZm9yIChpID0gMDsg aSA8IHNyY19saXN0LT5zaGFyZWRfY291bnQ7ICsraSkgeworCQkJc3RydWN0IGRtYV9mZW5jZSAq ZmVuY2U7CisKKwkJCWZlbmNlID0gcmN1X2RlcmVmZXJlbmNlKHNyY19saXN0LT5zaGFyZWRbaV0p OworCQkJaWYgKHRlc3RfYml0KERNQV9GRU5DRV9GTEFHX1NJR05BTEVEX0JJVCwKKwkJCQkgICAg ICZmZW5jZS0+ZmxhZ3MpKQorCQkJCWNvbnRpbnVlOworCisJCQlpZiAoIWRtYV9mZW5jZV9nZXRf cmN1KGZlbmNlKSkgeworCQkJCWtmcmVlKGRzdF9saXN0KTsKKwkJCQlzcmNfbGlzdCA9IHJjdV9k ZXJlZmVyZW5jZShzcmMtPmZlbmNlKTsKKwkJCQlnb3RvIHJldHJ5OworCQkJfQorCisJCQlpZiAo ZG1hX2ZlbmNlX2lzX3NpZ25hbGVkKGZlbmNlKSkgeworCQkJCWRtYV9mZW5jZV9wdXQoZmVuY2Up OworCQkJCWNvbnRpbnVlOworCQkJfQorCisJCQlkc3RfbGlzdC0+c2hhcmVkW2RzdF9saXN0LT5z aGFyZWRfY291bnQrK10gPSBmZW5jZTsKKwkJfQogCX0gZWxzZSB7CiAJCWRzdF9saXN0ID0gTlVM TDsKIAl9CiAKKwluZXcgPSBkbWFfZmVuY2VfZ2V0X3JjdV9zYWZlKCZzcmMtPmZlbmNlX2V4Y2wp OworCXJjdV9yZWFkX3VubG9jaygpOworCiAJa2ZyZWUoZHN0LT5zdGFnZWQpOwogCWRzdC0+c3Rh Z2VkID0gTlVMTDsKIAogCXNyY19saXN0ID0gcmVzZXJ2YXRpb25fb2JqZWN0X2dldF9saXN0KGRz dCk7Ci0KIAlvbGQgPSByZXNlcnZhdGlvbl9vYmplY3RfZ2V0X2V4Y2woZHN0KTsKLQluZXcgPSBy ZXNlcnZhdGlvbl9vYmplY3RfZ2V0X2V4Y2woc3JjKTsKLQotCWRtYV9mZW5jZV9nZXQobmV3KTsK IAogCXByZWVtcHRfZGlzYWJsZSgpOwogCXdyaXRlX3NlcWNvdW50X2JlZ2luKCZkc3QtPnNlcSk7 Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==