From: Robert Foss Subject: [PATCH v5 1/4] drm/virtio: add virtio_gpu_alloc_fence() Date: Mon, 12 Nov 2018 17:51:54 +0100 Message-ID: <20181112165157.32765-2-robert.foss@collabora.com> References: <20181112165157.32765-1-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by gabe.freedesktop.org (Postfix) with ESMTPS id AD21E89E52 for ; Mon, 12 Nov 2018 16:52:09 +0000 (UTC) In-Reply-To: <20181112165157.32765-1-robert.foss@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: airlied@linux.ie, kraxel@redhat.com, dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Rob Herring , Gustavo Padovan , Emil Velikov Cc: Robert Foss List-Id: dri-devel@lists.freedesktop.org UmVmYWN0b3IgZmVuY2UgY3JlYXRpb24sIGFkZCBmZW5jZXMgdG8gcmVsZXZhbnQgR1BVCm9wZXJh dGlvbnMgYW5kIGFkZCBjdXJzb3IgaGVscGVyIGZ1bmN0aW9ucy4KClRoaXMgcmVtb3ZlcyB0aGUg cG90ZW50aWFsIGZvciBhbGxvY2F0aW9uIGZhaWx1cmVzIGZyb20gdGhlCmNtZF9zdWJtaXQgYW5k IGF0b21pY19jb21taXQgcGF0aHMuCk5vdyBhIGZlbmNlIHdpbGwgYmUgYWxsb2NhdGVkIGZpcnN0 IGFuZCBvbmx5IGFmdGVyIHRoYXQKd2lsbCB3ZSBwcm9jZWVkIHdpdGggdGhlIHJlc3Qgb2YgdGhl IGV4ZWN1dGlvbi4KClNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRv dmFuQGNvbGxhYm9yYS5jb20+ClNpZ25lZC1vZmYtYnk6IFJvYmVydCBGb3NzIDxyb2JlcnQuZm9z c0Bjb2xsYWJvcmEuY29tPgpTdWdnZXN0ZWQtYnk6IFJvYiBIZXJyaW5nIDxyb2JoQGtlcm5lbC5v cmc+Ci0tLQoKQ2hhbmdlcyBzaW5jZSB2MzoKIC0gR2VyZDogQ2xhcmlmaWVkIGFuZCBleHRlbmRl ZCBjb21taXQgbWVzc2FnZQogLSBFbWlsOiBGaXhlZCB3aGl0ZXNwYWNlIGlzc3VlCiAtIEVtaWw6 IENoYW5nZWQgbGFiZWwgbmFtZSBmcm9tIGZhaWxfZmVuY2UgdG8gZmFpbF9iYWNrb2ZmCiAtIEVt aWw6IFJlbW92ZSBzcGVjaWFsIGNhc2UgZm9yICFmZW5jZS0+ZHJ2IGluIHZpcnRpb19ncHVfZmVu Y2VfY2xlYW51cCgpCgogZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rydi5oICAgfCAg NCArKysKIGRyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9mZW5jZS5jIHwgMjkgKysrKysr KysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2lvY3RsLmMgfCAzMCAr KysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMg fCA0NiArKysrKysrKysrKysrKysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92 aXJ0Z3B1X3ZxLmMgICAgfCAgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCsp LCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3Zp cnRncHVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJ2LmgKaW5kZXgg NjQ3NGU4M2NiZjNkLi5hY2QxMzBjNThlMzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 aXJ0aW8vdmlydGdwdV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVf ZHJ2LmgKQEAgLTEzMSw2ICsxMzEsNyBAQCBzdHJ1Y3QgdmlydGlvX2dwdV9mcmFtZWJ1ZmZlciB7 CiAJaW50IHgxLCB5MSwgeDIsIHkyOyAvKiBkaXJ0eSByZWN0ICovCiAJc3BpbmxvY2tfdCBkaXJ0 eV9sb2NrOwogCXVpbnQzMl90IGh3X3Jlc19oYW5kbGU7CisJc3RydWN0IHZpcnRpb19ncHVfZmVu Y2UgKmZlbmNlOwogfTsKICNkZWZpbmUgdG9fdmlydGlvX2dwdV9mcmFtZWJ1ZmZlcih4KSBcCiAJ Y29udGFpbmVyX29mKHgsIHN0cnVjdCB2aXJ0aW9fZ3B1X2ZyYW1lYnVmZmVyLCBiYXNlKQpAQCAt MzQ5LDYgKzM1MCw5IEBAIHZvaWQgdmlydGlvX2dwdV90dG1fZmluaShzdHJ1Y3QgdmlydGlvX2dw dV9kZXZpY2UgKnZnZGV2KTsKIGludCB2aXJ0aW9fZ3B1X21tYXAoc3RydWN0IGZpbGUgKmZpbHAs IHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKIAogLyogdmlydGlvX2dwdV9mZW5jZS5jICov CitzdHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSAqdmlydGlvX2dwdV9mZW5jZV9hbGxvYygKKwlzdHJ1 Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2KTsKK3ZvaWQgdmlydGlvX2dwdV9mZW5jZV9jbGVh bnVwKHN0cnVjdCB2aXJ0aW9fZ3B1X2ZlbmNlICpmZW5jZSk7CiBpbnQgdmlydGlvX2dwdV9mZW5j ZV9lbWl0KHN0cnVjdCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdkZXYsCiAJCQkgIHN0cnVjdCB2aXJ0 aW9fZ3B1X2N0cmxfaGRyICpjbWRfaGRyLAogCQkJICBzdHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSAq KmZlbmNlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9mZW5j ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2ZlbmNlLmMKaW5kZXggMDBjNzQy YTQ0MWJmLi42YjVkOTIyMTVjZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8v dmlydGdwdV9mZW5jZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9mZW5j ZS5jCkBAIC02Nyw2ICs2NywyOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9mZW5jZV9vcHMg dmlydGlvX2ZlbmNlX29wcyA9IHsKIAkudGltZWxpbmVfdmFsdWVfc3RyICA9IHZpcnRpb190aW1l bGluZV92YWx1ZV9zdHIsCiB9OwogCitzdHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSAqdmlydGlvX2dw dV9mZW5jZV9hbGxvYyhzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2KQoreworCXN0cnVj dCB2aXJ0aW9fZ3B1X2ZlbmNlX2RyaXZlciAqZHJ2ID0gJnZnZGV2LT5mZW5jZV9kcnY7CisJc3Ry dWN0IHZpcnRpb19ncHVfZmVuY2UgKmZlbmNlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHZpcnRp b19ncHVfZmVuY2UpLAorCQkJCQkJCUdGUF9BVE9NSUMpOworCWlmICghZmVuY2UpCisJCXJldHVy biBmZW5jZTsKKworCWZlbmNlLT5kcnYgPSBkcnY7CisJZG1hX2ZlbmNlX2luaXQoJmZlbmNlLT5m LCAmdmlydGlvX2ZlbmNlX29wcywgJmRydi0+bG9jaywgZHJ2LT5jb250ZXh0LCAwKTsKKworCXJl dHVybiBmZW5jZTsKK30KKwordm9pZCB2aXJ0aW9fZ3B1X2ZlbmNlX2NsZWFudXAoc3RydWN0IHZp cnRpb19ncHVfZmVuY2UgKmZlbmNlKQoreworCWlmICghZmVuY2UpCisJCXJldHVybjsKKworCWRt YV9mZW5jZV9wdXQoJmZlbmNlLT5mKTsKK30KKwogaW50IHZpcnRpb19ncHVfZmVuY2VfZW1pdChz dHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2LAogCQkJICBzdHJ1Y3QgdmlydGlvX2dwdV9j dHJsX2hkciAqY21kX2hkciwKIAkJCSAgc3RydWN0IHZpcnRpb19ncHVfZmVuY2UgKipmZW5jZSkK QEAgLTc0LDE1ICs5Niw4IEBAIGludCB2aXJ0aW9fZ3B1X2ZlbmNlX2VtaXQoc3RydWN0IHZpcnRp b19ncHVfZGV2aWNlICp2Z2RldiwKIAlzdHJ1Y3QgdmlydGlvX2dwdV9mZW5jZV9kcml2ZXIgKmRy diA9ICZ2Z2Rldi0+ZmVuY2VfZHJ2OwogCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOwogCi0JKmZl bmNlID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IHZpcnRpb19ncHVfZmVuY2UpLCBHRlBfQVRPTUlD KTsKLQlpZiAoKCpmZW5jZSkgPT0gTlVMTCkKLQkJcmV0dXJuIC1FTk9NRU07Ci0KIAlzcGluX2xv Y2tfaXJxc2F2ZSgmZHJ2LT5sb2NrLCBpcnFfZmxhZ3MpOwotCSgqZmVuY2UpLT5kcnYgPSBkcnY7 CiAJKCpmZW5jZSktPnNlcSA9ICsrZHJ2LT5zeW5jX3NlcTsKLQlkbWFfZmVuY2VfaW5pdCgmKCpm ZW5jZSktPmYsICZ2aXJ0aW9fZmVuY2Vfb3BzLCAmZHJ2LT5sb2NrLAotCQkgICAgICAgZHJ2LT5j b250ZXh0LCAoKmZlbmNlKS0+c2VxKTsKIAlkbWFfZmVuY2VfZ2V0KCYoKmZlbmNlKS0+Zik7CiAJ bGlzdF9hZGRfdGFpbCgmKCpmZW5jZSktPm5vZGUsICZkcnYtPmZlbmNlcyk7CiAJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmZHJ2LT5sb2NrLCBpcnFfZmxhZ3MpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2lvY3RsLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlv L3ZpcnRncHVfaW9jdGwuYwppbmRleCBiYzVhZmE0ZjkwNmUuLmQ2OWZjMzU2ZGYwYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2lvY3RsLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2lvY3RsLmMKQEAgLTE2OCw2ICsxNjgsMTMgQEAgc3Rh dGljIGludCB2aXJ0aW9fZ3B1X2V4ZWNidWZmZXJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKIAkJcmV0ID0gUFRSX0VSUihidWYpOwogCQlnb3RvIG91dF91bnJlc3Y7 CiAJfQorCisJZmVuY2UgPSB2aXJ0aW9fZ3B1X2ZlbmNlX2FsbG9jKHZnZGV2KTsKKwlpZiAoIWZl bmNlKSB7CisJCWtmcmVlKGJ1Zik7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X3VucmVz djsKKwl9CiAJdmlydGlvX2dwdV9jbWRfc3VibWl0KHZnZGV2LCBidWYsIGV4YnVmLT5zaXplLAog CQkJICAgICAgdmZwcml2LT5jdHhfaWQsICZmZW5jZSk7CiAKQEAgLTI4MywxMSArMjkwLDE3IEBA IHN0YXRpYyBpbnQgdmlydGlvX2dwdV9yZXNvdXJjZV9jcmVhdGVfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJcmNfM2QubnJfc2FtcGxlcyA9IGNwdV90b19sZTMy KHJjLT5ucl9zYW1wbGVzKTsKIAkJcmNfM2QuZmxhZ3MgPSBjcHVfdG9fbGUzMihyYy0+ZmxhZ3Mp OwogCisJCWZlbmNlID0gdmlydGlvX2dwdV9mZW5jZV9hbGxvYyh2Z2Rldik7CisJCWlmICghZmVu Y2UpIHsKKwkJCXJldCA9IC1FTk9NRU07CisJCQlnb3RvIGZhaWxfYmFja29mZjsKKwkJfQorCiAJ CXZpcnRpb19ncHVfY21kX3Jlc291cmNlX2NyZWF0ZV8zZCh2Z2RldiwgcW9iaiwgJnJjXzNkLCBO VUxMKTsKIAkJcmV0ID0gdmlydGlvX2dwdV9vYmplY3RfYXR0YWNoKHZnZGV2LCBxb2JqLCAmZmVu Y2UpOwogCQlpZiAocmV0KSB7Ci0JCQl0dG1fZXVfYmFja29mZl9yZXNlcnZhdGlvbigmdGlja2V0 LCAmdmFsaWRhdGVfbGlzdCk7Ci0JCQlnb3RvIGZhaWxfdW5yZWY7CisJCQl2aXJ0aW9fZ3B1X2Zl bmNlX2NsZWFudXAoZmVuY2UpOworCQkJZ290byBmYWlsX2JhY2tvZmY7CiAJCX0KIAkJdHRtX2V1 X2ZlbmNlX2J1ZmZlcl9vYmplY3RzKCZ0aWNrZXQsICZ2YWxpZGF0ZV9saXN0LCAmZmVuY2UtPmYp OwogCX0KQEAgLTMxMiw2ICszMjUsOCBAQCBzdGF0aWMgaW50IHZpcnRpb19ncHVfcmVzb3VyY2Vf Y3JlYXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCWRtYV9m ZW5jZV9wdXQoJmZlbmNlLT5mKTsKIAl9CiAJcmV0dXJuIDA7CitmYWlsX2JhY2tvZmY6CisJdHRt X2V1X2JhY2tvZmZfcmVzZXJ2YXRpb24oJnRpY2tldCwgJnZhbGlkYXRlX2xpc3QpOwogZmFpbF91 bnJlZjoKIAlpZiAodmdkZXYtPmhhc192aXJnbF8zZCkgewogCQl2aXJ0aW9fZ3B1X3VucmVmX2xp c3QoJnZhbGlkYXRlX2xpc3QpOwpAQCAtMzc0LDYgKzM4OSwxMiBAQCBzdGF0aWMgaW50IHZpcnRp b19ncHVfdHJhbnNmZXJfZnJvbV9ob3N0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJ CWdvdG8gb3V0X3VucmVzOwogCiAJY29udmVydF90b19od19ib3goJmJveCwgJmFyZ3MtPmJveCk7 CisKKwlmZW5jZSA9IHZpcnRpb19ncHVfZmVuY2VfYWxsb2ModmdkZXYpOworCWlmICghZmVuY2Up IHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfdW5yZXM7CisJfQogCXZpcnRpb19ncHVf Y21kX3RyYW5zZmVyX2Zyb21faG9zdF8zZAogCQkodmdkZXYsIHFvYmotPmh3X3Jlc19oYW5kbGUs CiAJCSB2ZnByaXYtPmN0eF9pZCwgb2Zmc2V0LCBhcmdzLT5sZXZlbCwKQEAgLTQyMyw2ICs0NDQs MTEgQEAgc3RhdGljIGludCB2aXJ0aW9fZ3B1X3RyYW5zZmVyX3RvX2hvc3RfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCSh2Z2RldiwgcW9iaiwgb2Zmc2V0LAog CQkJIGJveC53LCBib3guaCwgYm94LngsIGJveC55LCBOVUxMKTsKIAl9IGVsc2UgeworCQlmZW5j ZSA9IHZpcnRpb19ncHVfZmVuY2VfYWxsb2ModmdkZXYpOworCQlpZiAoIWZlbmNlKSB7CisJCQly ZXQgPSAtRU5PTUVNOworCQkJZ290byBvdXRfdW5yZXM7CisJCX0KIAkJdmlydGlvX2dwdV9jbWRf dHJhbnNmZXJfdG9faG9zdF8zZAogCQkJKHZnZGV2LCBxb2JqLAogCQkJIHZmcHJpdiA/IHZmcHJp di0+Y3R4X2lkIDogMCwgb2Zmc2V0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRp by92aXJ0Z3B1X3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUu YwppbmRleCBhOWY0YWU3ZDQ0ODMuLmI4NGFjOGMyNTg1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRp by92aXJ0Z3B1X3BsYW5lLmMKQEAgLTEzNyw2ICsxMzcsNDEgQEAgc3RhdGljIHZvaWQgdmlydGlv X2dwdV9wcmltYXJ5X3BsYW5lX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCQkg ICAgICBwbGFuZS0+c3RhdGUtPnNyY19oID4+IDE2KTsKIH0KIAorc3RhdGljIGludCB2aXJ0aW9f Z3B1X2N1cnNvcl9wcmVwYXJlX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQkJCQlzdHJ1 Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IHBsYW5lLT5kZXY7CisJc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiA9IGRldi0+ ZGV2X3ByaXZhdGU7CisJc3RydWN0IHZpcnRpb19ncHVfZnJhbWVidWZmZXIgKnZnZmI7CisJc3Ry dWN0IHZpcnRpb19ncHVfb2JqZWN0ICpibzsKKworCWlmICghbmV3X3N0YXRlLT5mYikKKwkJcmV0 dXJuIDA7CisKKwl2Z2ZiID0gdG9fdmlydGlvX2dwdV9mcmFtZWJ1ZmZlcihuZXdfc3RhdGUtPmZi KTsKKwlibyA9IGdlbV90b192aXJ0aW9fZ3B1X29iaih2Z2ZiLT5iYXNlLm9ialswXSk7CisJaWYg KGJvICYmIGJvLT5kdW1iICYmIChwbGFuZS0+c3RhdGUtPmZiICE9IG5ld19zdGF0ZS0+ZmIpKSB7 CisJCXZnZmItPmZlbmNlID0gdmlydGlvX2dwdV9mZW5jZV9hbGxvYyh2Z2Rldik7CisJCWlmICgh dmdmYi0+ZmVuY2UpCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwor c3RhdGljIHZvaWQgdmlydGlvX2dwdV9jdXJzb3JfY2xlYW51cF9mYihzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKKwkJCQkJIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9zdGF0ZSkKK3sKKwlz dHJ1Y3QgdmlydGlvX2dwdV9mcmFtZWJ1ZmZlciAqdmdmYjsKKworCWlmICghcGxhbmUtPnN0YXRl LT5mYikKKwkJcmV0dXJuOworCisJdmdmYiA9IHRvX3ZpcnRpb19ncHVfZnJhbWVidWZmZXIocGxh bmUtPnN0YXRlLT5mYik7CisJaWYgKHZnZmItPmZlbmNlKQorCQl2aXJ0aW9fZ3B1X2ZlbmNlX2Ns ZWFudXAodmdmYi0+ZmVuY2UpOworfQorCiBzdGF0aWMgdm9pZCB2aXJ0aW9fZ3B1X2N1cnNvcl9w bGFuZV91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCQkJCSAgIHN0cnVjdCBkcm1f cGxhbmVfc3RhdGUgKm9sZF9zdGF0ZSkKIHsKQEAgLTE0NCw3ICsxNzksNiBAQCBzdGF0aWMgdm9p ZCB2aXJ0aW9fZ3B1X2N1cnNvcl9wbGFuZV91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs CiAJc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJ c3RydWN0IHZpcnRpb19ncHVfb3V0cHV0ICpvdXRwdXQgPSBOVUxMOwogCXN0cnVjdCB2aXJ0aW9f Z3B1X2ZyYW1lYnVmZmVyICp2Z2ZiOwotCXN0cnVjdCB2aXJ0aW9fZ3B1X2ZlbmNlICpmZW5jZSA9 IE5VTEw7CiAJc3RydWN0IHZpcnRpb19ncHVfb2JqZWN0ICpibyA9IE5VTEw7CiAJdWludDMyX3Qg aGFuZGxlOwogCWludCByZXQgPSAwOwpAQCAtMTcwLDEzICsyMDQsMTMgQEAgc3RhdGljIHZvaWQg dmlydGlvX2dwdV9jdXJzb3JfcGxhbmVfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAog CQkJKHZnZGV2LCBibywgMCwKIAkJCSBjcHVfdG9fbGUzMihwbGFuZS0+c3RhdGUtPmNydGNfdyks CiAJCQkgY3B1X3RvX2xlMzIocGxhbmUtPnN0YXRlLT5jcnRjX2gpLAotCQkJIDAsIDAsICZmZW5j ZSk7CisJCQkgMCwgMCwgJnZnZmItPmZlbmNlKTsKIAkJcmV0ID0gdmlydGlvX2dwdV9vYmplY3Rf cmVzZXJ2ZShibywgZmFsc2UpOwogCQlpZiAoIXJldCkgewogCQkJcmVzZXJ2YXRpb25fb2JqZWN0 X2FkZF9leGNsX2ZlbmNlKGJvLT50Ym8ucmVzdiwKLQkJCQkJCQkgICZmZW5jZS0+Zik7Ci0JCQlk bWFfZmVuY2VfcHV0KCZmZW5jZS0+Zik7Ci0JCQlmZW5jZSA9IE5VTEw7CisJCQkJCQkJICAmdmdm Yi0+ZmVuY2UtPmYpOworCQkJZG1hX2ZlbmNlX3B1dCgmdmdmYi0+ZmVuY2UtPmYpOworCQkJdmdm Yi0+ZmVuY2UgPSBOVUxMOwogCQkJdmlydGlvX2dwdV9vYmplY3RfdW5yZXNlcnZlKGJvKTsKIAkJ CXZpcnRpb19ncHVfb2JqZWN0X3dhaXQoYm8sIGZhbHNlKTsKIAkJfQpAQCAtMjE4LDYgKzI1Miw4 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyB2aXJ0aW9fZ3B1 X3ByaW1hcnlfaGVscGVyX2Z1bmNzID0gewogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f cGxhbmVfaGVscGVyX2Z1bmNzIHZpcnRpb19ncHVfY3Vyc29yX2hlbHBlcl9mdW5jcyA9IHsKKwku cHJlcGFyZV9mYgkJPSB2aXJ0aW9fZ3B1X2N1cnNvcl9wcmVwYXJlX2ZiLAorCS5jbGVhbnVwX2Zi CQk9IHZpcnRpb19ncHVfY3Vyc29yX2NsZWFudXBfZmIsCiAJLmF0b21pY19jaGVjawkJPSB2aXJ0 aW9fZ3B1X3BsYW5lX2F0b21pY19jaGVjaywKIAkuYXRvbWljX3VwZGF0ZQkJPSB2aXJ0aW9fZ3B1 X2N1cnNvcl9wbGFuZV91cGRhdGUsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Zp cnRpby92aXJ0Z3B1X3ZxLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfdnEuYwpp bmRleCA1MWJlZjE3NzVlNDcuLjkzZjJjM2E1MWVlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3ZpcnRpby92aXJ0Z3B1X3ZxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0 Z3B1X3ZxLmMKQEAgLTg5Niw5ICs4OTYsOSBAQCB2b2lkIHZpcnRpb19ncHVfb2JqZWN0X2RldGFj aChzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2LAogCQkJICAgICAgc3RydWN0IHZpcnRp b19ncHVfb2JqZWN0ICpvYmopCiB7CiAJYm9vbCB1c2VfZG1hX2FwaSA9ICF2aXJ0aW9faGFzX2lv bW11X3F1aXJrKHZnZGV2LT52ZGV2KTsKLQlzdHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSAqZmVuY2U7 CiAKIAlpZiAodXNlX2RtYV9hcGkgJiYgb2JqLT5tYXBwZWQpIHsKKwkJc3RydWN0IHZpcnRpb19n cHVfZmVuY2UgKmZlbmNlID0gdmlydGlvX2dwdV9mZW5jZV9hbGxvYyh2Z2Rldik7CiAJCS8qIGRl dGFjaCBiYWNraW5nIGFuZCB3YWl0IGZvciB0aGUgaG9zdCBwcm9jZXNzIGl0IC4uLiAqLwogCQl2 aXJ0aW9fZ3B1X2NtZF9yZXNvdXJjZV9pbnZhbF9iYWNraW5nKHZnZGV2LCBvYmotPmh3X3Jlc19o YW5kbGUsICZmZW5jZSk7CiAJCWRtYV9mZW5jZV93YWl0KCZmZW5jZS0+ZiwgdHJ1ZSk7Ci0tIAoy LjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=