From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH 2/4] dma-buf: make reservation_object_copy_fences rcu save Date: Thu, 30 Nov 2017 19:23:04 -0500 Message-ID: <20171201002311.28098-3-lyude@redhat.com> References: <20171201002311.28098-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7D7586EB59 for ; Fri, 1 Dec 2017 00:24:17 +0000 (UTC) In-Reply-To: <20171201002311.28098-1-lyude@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: stable@vger.kernel.org Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, =?UTF-8?q?Christian=20K=C3=B6nig?= , linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKU3RvcCBy ZXF1aXJpbmcgdGhhdCB0aGUgc3JjIHJlc2VydmF0aW9uIG9iamVjdCBpcyBsb2NrZWQgZm9yIHRo aXMgb3BlcmF0aW9uLgoKY29tbWl0IDM5ZTE2YmExNmMxNDdlNjYyYmY5ZmJjZWU5YTk5ZDcwZDQy MDM4MmYgdXBzdHJlYW0KCkFja2VkLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQu Y29tPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFt ZC5jb20+ClNpZ25lZC1vZmYtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1k LmNvbT4KTGluazogaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoL21zZ2lk LzE1MDQ1NTE3NjYtNTA5My0xLWdpdC1zZW5kLWVtYWlsLWRlYXRoc2ltcGxlQHZvZGFmb25lLmRl ClNpZ25lZC1vZmYtYnk6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVy cy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMgfCA1NiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMTQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMgYi9k cml2ZXJzL2RtYS1idWYvcmVzZXJ2YXRpb24uYwppbmRleCBkZWMzYTgxNTQ1NWQuLmI0NGQ5ZDdk YjM0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMKKysrIGIvZHJp dmVycy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMKQEAgLTI2Niw4ICsyNjYsNyBAQCBFWFBPUlRfU1lN Qk9MKHJlc2VydmF0aW9uX29iamVjdF9hZGRfZXhjbF9mZW5jZSk7CiAqIEBkc3Q6IHRoZSBkZXN0 aW5hdGlvbiByZXNlcnZhdGlvbiBvYmplY3QKICogQHNyYzogdGhlIHNvdXJjZSByZXNlcnZhdGlv biBvYmplY3QKICoKLSogQ29weSBhbGwgZmVuY2VzIGZyb20gc3JjIHRvIGRzdC4gQm90aCBzcmMt PmxvY2sgYXMgd2VsbCBhcyBkc3QtbG9jayBtdXN0IGJlCi0qIGhlbGQuCisqIENvcHkgYWxsIGZl bmNlcyBmcm9tIHNyYyB0byBkc3QuIGRzdC1sb2NrIG11c3QgYmUgaGVsZC4KICovCiBpbnQgcmVz ZXJ2YXRpb25fb2JqZWN0X2NvcHlfZmVuY2VzKHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKmRz dCwKIAkJCQkgICBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpzcmMpCkBAIC0yNzcsMzMgKzI3 Niw2MiBAQCBpbnQgcmVzZXJ2YXRpb25fb2JqZWN0X2NvcHlfZmVuY2VzKHN0cnVjdCByZXNlcnZh dGlvbl9vYmplY3QgKmRzdCwKIAlzaXplX3Qgc2l6ZTsKIAl1bnNpZ25lZCBpOwogCi0Jc3JjX2xp c3QgPSByZXNlcnZhdGlvbl9vYmplY3RfZ2V0X2xpc3Qoc3JjKTsKKwlyY3VfcmVhZF9sb2NrKCk7 CisJc3JjX2xpc3QgPSByY3VfZGVyZWZlcmVuY2Uoc3JjLT5mZW5jZSk7CiAKK3JldHJ5OgogCWlm IChzcmNfbGlzdCkgewotCQlzaXplID0gb2Zmc2V0b2YodHlwZW9mKCpzcmNfbGlzdCksCi0JCQkJ c2hhcmVkW3NyY19saXN0LT5zaGFyZWRfY291bnRdKTsKKwkJdW5zaWduZWQgc2hhcmVkX2NvdW50 ID0gc3JjX2xpc3QtPnNoYXJlZF9jb3VudDsKKworCQlzaXplID0gb2Zmc2V0b2YodHlwZW9mKCpz cmNfbGlzdCksIHNoYXJlZFtzaGFyZWRfY291bnRdKTsKKwkJcmN1X3JlYWRfdW5sb2NrKCk7CisK IAkJZHN0X2xpc3QgPSBrbWFsbG9jKHNpemUsIEdGUF9LRVJORUwpOwogCQlpZiAoIWRzdF9saXN0 KQogCQkJcmV0dXJuIC1FTk9NRU07CiAKLQkJZHN0X2xpc3QtPnNoYXJlZF9jb3VudCA9IHNyY19s aXN0LT5zaGFyZWRfY291bnQ7Ci0JCWRzdF9saXN0LT5zaGFyZWRfbWF4ID0gc3JjX2xpc3QtPnNo YXJlZF9jb3VudDsKLQkJZm9yIChpID0gMDsgaSA8IHNyY19saXN0LT5zaGFyZWRfY291bnQ7ICsr aSkKLQkJCWRzdF9saXN0LT5zaGFyZWRbaV0gPQotCQkJCWRtYV9mZW5jZV9nZXQoc3JjX2xpc3Qt PnNoYXJlZFtpXSk7CisJCXJjdV9yZWFkX2xvY2soKTsKKwkJc3JjX2xpc3QgPSByY3VfZGVyZWZl cmVuY2Uoc3JjLT5mZW5jZSk7CisJCWlmICghc3JjX2xpc3QgfHwgc3JjX2xpc3QtPnNoYXJlZF9j b3VudCA+IHNoYXJlZF9jb3VudCkgeworCQkJa2ZyZWUoZHN0X2xpc3QpOworCQkJZ290byByZXRy eTsKKwkJfQorCisJCWRzdF9saXN0LT5zaGFyZWRfY291bnQgPSAwOworCQlkc3RfbGlzdC0+c2hh cmVkX21heCA9IHNoYXJlZF9jb3VudDsKKwkJZm9yIChpID0gMDsgaSA8IHNyY19saXN0LT5zaGFy ZWRfY291bnQ7ICsraSkgeworCQkJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CisKKwkJCWZlbmNl ID0gcmN1X2RlcmVmZXJlbmNlKHNyY19saXN0LT5zaGFyZWRbaV0pOworCQkJaWYgKHRlc3RfYml0 KERNQV9GRU5DRV9GTEFHX1NJR05BTEVEX0JJVCwKKwkJCQkgICAgICZmZW5jZS0+ZmxhZ3MpKQor CQkJCWNvbnRpbnVlOworCisJCQlpZiAoIWRtYV9mZW5jZV9nZXRfcmN1KGZlbmNlKSkgeworCQkJ CWtmcmVlKGRzdF9saXN0KTsKKwkJCQlzcmNfbGlzdCA9IHJjdV9kZXJlZmVyZW5jZShzcmMtPmZl bmNlKTsKKwkJCQlnb3RvIHJldHJ5OworCQkJfQorCisJCQlpZiAoZG1hX2ZlbmNlX2lzX3NpZ25h bGVkKGZlbmNlKSkgeworCQkJCWRtYV9mZW5jZV9wdXQoZmVuY2UpOworCQkJCWNvbnRpbnVlOwor CQkJfQorCisJCQlkc3RfbGlzdC0+c2hhcmVkW2RzdF9saXN0LT5zaGFyZWRfY291bnQrK10gPSBm ZW5jZTsKKwkJfQogCX0gZWxzZSB7CiAJCWRzdF9saXN0ID0gTlVMTDsKIAl9CiAKKwluZXcgPSBk bWFfZmVuY2VfZ2V0X3JjdV9zYWZlKCZzcmMtPmZlbmNlX2V4Y2wpOworCXJjdV9yZWFkX3VubG9j aygpOworCiAJa2ZyZWUoZHN0LT5zdGFnZWQpOwogCWRzdC0+c3RhZ2VkID0gTlVMTDsKIAogCXNy Y19saXN0ID0gcmVzZXJ2YXRpb25fb2JqZWN0X2dldF9saXN0KGRzdCk7Ci0KIAlvbGQgPSByZXNl cnZhdGlvbl9vYmplY3RfZ2V0X2V4Y2woZHN0KTsKLQluZXcgPSByZXNlcnZhdGlvbl9vYmplY3Rf Z2V0X2V4Y2woc3JjKTsKLQotCWRtYV9mZW5jZV9nZXQobmV3KTsKIAogCXByZWVtcHRfZGlzYWJs ZSgpOwogCXdyaXRlX3NlcWNvdW50X2JlZ2luKCZkc3QtPnNlcSk7Ci0tIAoyLjE0LjMKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=