From mboxrd@z Thu Jan 1 00:00:00 1970 From: "=?UTF-8?q?Christian=20K=C3=B6nig?=" Subject: [PATCH 1/8] dma-buf: remove shared fence staging in reservation object Date: Thu, 4 Oct 2018 15:12:43 +0200 Message-ID: <20181004131250.2373-1-christian.koenig@amd.com> 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: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org Tm8gbmVlZCBmb3IgdGhhdCBhbnkgbW9yZS4gSnVzdCByZXBsYWNlIHRoZSBsaXN0IHdoZW4gdGhl cmUgaXNuJ3QgZW5vdWdoCnJvb20gYW55IG1vcmUgZm9yIHRoZSBhZGRpdGlvbmFsIGZlbmNlLgoK U2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29t PgotLS0KIGRyaXZlcnMvZG1hLWJ1Zi9yZXNlcnZhdGlvbi5jIHwgMTc4ICsrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS9saW51eC9yZXNlcnZhdGlvbi5o ICAgfCAgIDQgLQogMiBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCAxMjQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMgYi9kcml2 ZXJzL2RtYS1idWYvcmVzZXJ2YXRpb24uYwppbmRleCA2Yzk1ZjYxYTMyZTcuLjU4MjVmYzMzNmEx MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMKKysrIGIvZHJpdmVy cy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMKQEAgLTY4LDEwNSArNjgsMjMgQEAgRVhQT1JUX1NZTUJP TChyZXNlcnZhdGlvbl9zZXFjb3VudF9zdHJpbmcpOwogICovCiBpbnQgcmVzZXJ2YXRpb25fb2Jq ZWN0X3Jlc2VydmVfc2hhcmVkKHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKm9iaikKIHsKLQlz dHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0X2xpc3QgKmZvYmosICpvbGQ7Ci0JdTMyIG1heDsKKwlz dHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0X2xpc3QgKm9sZCwgKm5ldzsKKwl1bnNpZ25lZCBpbnQg aSwgaiwgaywgbWF4OwogCiAJb2xkID0gcmVzZXJ2YXRpb25fb2JqZWN0X2dldF9saXN0KG9iaik7 CiAKIAlpZiAob2xkICYmIG9sZC0+c2hhcmVkX21heCkgewotCQlpZiAob2xkLT5zaGFyZWRfY291 bnQgPCBvbGQtPnNoYXJlZF9tYXgpIHsKLQkJCS8qIHBlcmZvcm0gYW4gaW4tcGxhY2UgdXBkYXRl ICovCi0JCQlrZnJlZShvYmotPnN0YWdlZCk7Ci0JCQlvYmotPnN0YWdlZCA9IE5VTEw7CisJCWlm IChvbGQtPnNoYXJlZF9jb3VudCA8IG9sZC0+c2hhcmVkX21heCkKIAkJCXJldHVybiAwOwotCQl9 IGVsc2UKKwkJZWxzZQogCQkJbWF4ID0gb2xkLT5zaGFyZWRfbWF4ICogMjsKLQl9IGVsc2UKLQkJ bWF4ID0gNDsKLQotCS8qCi0JICogcmVzaXplIG9iai0+c3RhZ2VkIG9yIGFsbG9jYXRlIGlmIGl0 IGRvZXNuJ3QgZXhpc3QsCi0JICogbm9vcCBpZiBhbHJlYWR5IGNvcnJlY3Qgc2l6ZQotCSAqLwot CWZvYmogPSBrcmVhbGxvYyhvYmotPnN0YWdlZCwgb2Zmc2V0b2YodHlwZW9mKCpmb2JqKSwgc2hh cmVkW21heF0pLAotCQkJR0ZQX0tFUk5FTCk7Ci0JaWYgKCFmb2JqKQotCQlyZXR1cm4gLUVOT01F TTsKLQotCW9iai0+c3RhZ2VkID0gZm9iajsKLQlmb2JqLT5zaGFyZWRfbWF4ID0gbWF4OwotCXJl dHVybiAwOwotfQotRVhQT1JUX1NZTUJPTChyZXNlcnZhdGlvbl9vYmplY3RfcmVzZXJ2ZV9zaGFy ZWQpOwotCi1zdGF0aWMgdm9pZAotcmVzZXJ2YXRpb25fb2JqZWN0X2FkZF9zaGFyZWRfaW5wbGFj ZShzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpvYmosCi0JCQkJICAgICAgc3RydWN0IHJlc2Vy dmF0aW9uX29iamVjdF9saXN0ICpmb2JqLAotCQkJCSAgICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZl bmNlKQotewotCXN0cnVjdCBkbWFfZmVuY2UgKnNpZ25hbGVkID0gTlVMTDsKLQl1MzIgaSwgc2ln bmFsZWRfaWR4OwotCi0JZG1hX2ZlbmNlX2dldChmZW5jZSk7Ci0KLQlwcmVlbXB0X2Rpc2FibGUo KTsKLQl3cml0ZV9zZXFjb3VudF9iZWdpbigmb2JqLT5zZXEpOwotCi0JZm9yIChpID0gMDsgaSA8 IGZvYmotPnNoYXJlZF9jb3VudDsgKytpKSB7Ci0JCXN0cnVjdCBkbWFfZmVuY2UgKm9sZF9mZW5j ZTsKLQotCQlvbGRfZmVuY2UgPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKGZvYmotPnNoYXJl ZFtpXSwKLQkJCQkJCXJlc2VydmF0aW9uX29iamVjdF9oZWxkKG9iaikpOwotCi0JCWlmIChvbGRf ZmVuY2UtPmNvbnRleHQgPT0gZmVuY2UtPmNvbnRleHQpIHsKLQkJCS8qIG1lbW9yeSBiYXJyaWVy IGlzIGFkZGVkIGJ5IHdyaXRlX3NlcWNvdW50X2JlZ2luICovCi0JCQlSQ1VfSU5JVF9QT0lOVEVS KGZvYmotPnNoYXJlZFtpXSwgZmVuY2UpOwotCQkJd3JpdGVfc2VxY291bnRfZW5kKCZvYmotPnNl cSk7Ci0JCQlwcmVlbXB0X2VuYWJsZSgpOwotCi0JCQlkbWFfZmVuY2VfcHV0KG9sZF9mZW5jZSk7 Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlpZiAoIXNpZ25hbGVkICYmIGRtYV9mZW5jZV9pc19zaWdu YWxlZChvbGRfZmVuY2UpKSB7Ci0JCQlzaWduYWxlZCA9IG9sZF9mZW5jZTsKLQkJCXNpZ25hbGVk X2lkeCA9IGk7Ci0JCX0KLQl9Ci0KLQkvKgotCSAqIG1lbW9yeSBiYXJyaWVyIGlzIGFkZGVkIGJ5 IHdyaXRlX3NlcWNvdW50X2JlZ2luLAotCSAqIGZvYmotPnNoYXJlZF9jb3VudCBpcyBwcm90ZWN0 ZWQgYnkgdGhpcyBsb2NrIHRvbwotCSAqLwotCWlmIChzaWduYWxlZCkgewotCQlSQ1VfSU5JVF9Q T0lOVEVSKGZvYmotPnNoYXJlZFtzaWduYWxlZF9pZHhdLCBmZW5jZSk7CiAJfSBlbHNlIHsKLQkJ QlVHX09OKGZvYmotPnNoYXJlZF9jb3VudCA+PSBmb2JqLT5zaGFyZWRfbWF4KTsKLQkJUkNVX0lO SVRfUE9JTlRFUihmb2JqLT5zaGFyZWRbZm9iai0+c2hhcmVkX2NvdW50XSwgZmVuY2UpOwotCQlm b2JqLT5zaGFyZWRfY291bnQrKzsKKwkJbWF4ID0gNDsKIAl9CiAKLQl3cml0ZV9zZXFjb3VudF9l bmQoJm9iai0+c2VxKTsKLQlwcmVlbXB0X2VuYWJsZSgpOwotCi0JZG1hX2ZlbmNlX3B1dChzaWdu YWxlZCk7Ci19Ci0KLXN0YXRpYyB2b2lkCi1yZXNlcnZhdGlvbl9vYmplY3RfYWRkX3NoYXJlZF9y ZXBsYWNlKHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKm9iaiwKLQkJCQkgICAgICBzdHJ1Y3Qg cmVzZXJ2YXRpb25fb2JqZWN0X2xpc3QgKm9sZCwKLQkJCQkgICAgICBzdHJ1Y3QgcmVzZXJ2YXRp b25fb2JqZWN0X2xpc3QgKmZvYmosCi0JCQkJICAgICAgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2Up Ci17Ci0JdW5zaWduZWQgaSwgaiwgazsKLQotCWRtYV9mZW5jZV9nZXQoZmVuY2UpOwotCi0JaWYg KCFvbGQpIHsKLQkJUkNVX0lOSVRfUE9JTlRFUihmb2JqLT5zaGFyZWRbMF0sIGZlbmNlKTsKLQkJ Zm9iai0+c2hhcmVkX2NvdW50ID0gMTsKLQkJZ290byBkb25lOwotCX0KKwluZXcgPSBrbWFsbG9j KG9mZnNldG9mKHR5cGVvZigqbmV3KSwgc2hhcmVkW21heF0pLCBHRlBfS0VSTkVMKTsKKwlpZiAo IW5ldykKKwkJcmV0dXJuIC1FTk9NRU07CiAKIAkvKgogCSAqIG5vIG5lZWQgdG8gYnVtcCBmZW5j ZSByZWZjb3VudHMsIHJjdV9yZWFkIGFjY2VzcwpAQCAtMTc0LDQ2ICs5Miw0NSBAQCByZXNlcnZh dGlvbl9vYmplY3RfYWRkX3NoYXJlZF9yZXBsYWNlKHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3Qg Km9iaiwKIAkgKiByZWZlcmVuY2VzIGZyb20gdGhlIG9sZCBzdHJ1Y3QgYXJlIGNhcnJpZWQgb3Zl ciB0bwogCSAqIHRoZSBuZXcuCiAJICovCi0JZm9yIChpID0gMCwgaiA9IDAsIGsgPSBmb2JqLT5z aGFyZWRfbWF4OyBpIDwgb2xkLT5zaGFyZWRfY291bnQ7ICsraSkgewotCQlzdHJ1Y3QgZG1hX2Zl bmNlICpjaGVjazsKKwlmb3IgKGkgPSAwLCBqID0gMCwgayA9IG1heDsgaSA8IChvbGQgPyBvbGQt PnNoYXJlZF9jb3VudCA6IDApOyArK2kpIHsKKwkJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CiAK LQkJY2hlY2sgPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKG9sZC0+c2hhcmVkW2ldLAotCQkJ CQkJcmVzZXJ2YXRpb25fb2JqZWN0X2hlbGQob2JqKSk7Ci0KLQkJaWYgKGNoZWNrLT5jb250ZXh0 ID09IGZlbmNlLT5jb250ZXh0IHx8Ci0JCSAgICBkbWFfZmVuY2VfaXNfc2lnbmFsZWQoY2hlY2sp KQotCQkJUkNVX0lOSVRfUE9JTlRFUihmb2JqLT5zaGFyZWRbLS1rXSwgY2hlY2spOworCQlmZW5j ZSA9IHJjdV9kZXJlZmVyZW5jZV9wcm90ZWN0ZWQob2xkLT5zaGFyZWRbaV0sCisJCQkJCQkgIHJl c2VydmF0aW9uX29iamVjdF9oZWxkKG9iaikpOworCQlpZiAoZG1hX2ZlbmNlX2lzX3NpZ25hbGVk KGZlbmNlKSkKKwkJCVJDVV9JTklUX1BPSU5URVIobmV3LT5zaGFyZWRbLS1rXSwgZmVuY2UpOwog CQllbHNlCi0JCQlSQ1VfSU5JVF9QT0lOVEVSKGZvYmotPnNoYXJlZFtqKytdLCBjaGVjayk7CisJ CQlSQ1VfSU5JVF9QT0lOVEVSKG5ldy0+c2hhcmVkW2orK10sIGZlbmNlKTsKIAl9Ci0JZm9iai0+ c2hhcmVkX2NvdW50ID0gajsKLQlSQ1VfSU5JVF9QT0lOVEVSKGZvYmotPnNoYXJlZFtmb2JqLT5z aGFyZWRfY291bnRdLCBmZW5jZSk7Ci0JZm9iai0+c2hhcmVkX2NvdW50Kys7CisJbmV3LT5zaGFy ZWRfY291bnQgPSBqOworCW5ldy0+c2hhcmVkX21heCA9IG1heDsKIAotZG9uZToKIAlwcmVlbXB0 X2Rpc2FibGUoKTsKIAl3cml0ZV9zZXFjb3VudF9iZWdpbigmb2JqLT5zZXEpOwogCS8qCiAJICog UkNVX0lOSVRfUE9JTlRFUiBjYW4gYmUgdXNlZCBoZXJlLAogCSAqIHNlcWNvdW50IHByb3ZpZGVz IHRoZSBuZWNlc3NhcnkgYmFycmllcnMKIAkgKi8KLQlSQ1VfSU5JVF9QT0lOVEVSKG9iai0+ZmVu Y2UsIGZvYmopOworCVJDVV9JTklUX1BPSU5URVIob2JqLT5mZW5jZSwgbmV3KTsKIAl3cml0ZV9z ZXFjb3VudF9lbmQoJm9iai0+c2VxKTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogCiAJaWYgKCFvbGQp Ci0JCXJldHVybjsKKwkJcmV0dXJuIDA7CiAKIAkvKiBEcm9wIHRoZSByZWZlcmVuY2VzIHRvIHRo ZSBzaWduYWxlZCBmZW5jZXMgKi8KLQlmb3IgKGkgPSBrOyBpIDwgZm9iai0+c2hhcmVkX21heDsg KytpKSB7Ci0JCXN0cnVjdCBkbWFfZmVuY2UgKmY7CisJZm9yIChpID0gazsgaSA8IG5ldy0+c2hh cmVkX21heDsgKytpKSB7CisJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOwogCi0JCWYgPSByY3Vf ZGVyZWZlcmVuY2VfcHJvdGVjdGVkKGZvYmotPnNoYXJlZFtpXSwKLQkJCQkJICAgICAgcmVzZXJ2 YXRpb25fb2JqZWN0X2hlbGQob2JqKSk7Ci0JCWRtYV9mZW5jZV9wdXQoZik7CisJCWZlbmNlID0g cmN1X2RlcmVmZXJlbmNlX3Byb3RlY3RlZChuZXctPnNoYXJlZFtpXSwKKwkJCQkJCSAgcmVzZXJ2 YXRpb25fb2JqZWN0X2hlbGQob2JqKSk7CisJCWRtYV9mZW5jZV9wdXQoZmVuY2UpOwogCX0KIAlr ZnJlZV9yY3Uob2xkLCByY3UpOworCisJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKHJlc2Vy dmF0aW9uX29iamVjdF9yZXNlcnZlX3NoYXJlZCk7CiAKIC8qKgogICogcmVzZXJ2YXRpb25fb2Jq ZWN0X2FkZF9zaGFyZWRfZmVuY2UgLSBBZGQgYSBmZW5jZSB0byBhIHNoYXJlZCBzbG90CkBAIC0y MjYsMTUgKzE0MywzOSBAQCByZXNlcnZhdGlvbl9vYmplY3RfYWRkX3NoYXJlZF9yZXBsYWNlKHN0 cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKm9iaiwKIHZvaWQgcmVzZXJ2YXRpb25fb2JqZWN0X2Fk ZF9zaGFyZWRfZmVuY2Uoc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqb2JqLAogCQkJCQkgc3Ry dWN0IGRtYV9mZW5jZSAqZmVuY2UpCiB7Ci0Jc3RydWN0IHJlc2VydmF0aW9uX29iamVjdF9saXN0 ICpvbGQsICpmb2JqID0gb2JqLT5zdGFnZWQ7CisJc3RydWN0IHJlc2VydmF0aW9uX29iamVjdF9s aXN0ICpmb2JqOworCXVuc2lnbmVkIGludCBpOwogCi0Jb2xkID0gcmVzZXJ2YXRpb25fb2JqZWN0 X2dldF9saXN0KG9iaik7Ci0Jb2JqLT5zdGFnZWQgPSBOVUxMOworCWRtYV9mZW5jZV9nZXQoZmVu Y2UpOworCisJZm9iaiA9IHJlc2VydmF0aW9uX29iamVjdF9nZXRfbGlzdChvYmopOwogCi0JaWYg KCFmb2JqKQotCQlyZXNlcnZhdGlvbl9vYmplY3RfYWRkX3NoYXJlZF9pbnBsYWNlKG9iaiwgb2xk LCBmZW5jZSk7Ci0JZWxzZQotCQlyZXNlcnZhdGlvbl9vYmplY3RfYWRkX3NoYXJlZF9yZXBsYWNl KG9iaiwgb2xkLCBmb2JqLCBmZW5jZSk7CisJcHJlZW1wdF9kaXNhYmxlKCk7CisJd3JpdGVfc2Vx Y291bnRfYmVnaW4oJm9iai0+c2VxKTsKKworCWZvciAoaSA9IDA7IGkgPCBmb2JqLT5zaGFyZWRf Y291bnQ7ICsraSkgeworCQlzdHJ1Y3QgZG1hX2ZlbmNlICpvbGRfZmVuY2U7CisKKwkJb2xkX2Zl bmNlID0gcmN1X2RlcmVmZXJlbmNlX3Byb3RlY3RlZChmb2JqLT5zaGFyZWRbaV0sCisJCQkJCQkg ICAgICByZXNlcnZhdGlvbl9vYmplY3RfaGVsZChvYmopKTsKKwkJaWYgKG9sZF9mZW5jZS0+Y29u dGV4dCA9PSBmZW5jZS0+Y29udGV4dCB8fAorCQkgICAgZG1hX2ZlbmNlX2lzX3NpZ25hbGVkKG9s ZF9mZW5jZSkpIHsKKwkJCWRtYV9mZW5jZV9wdXQob2xkX2ZlbmNlKTsKKwkJCWdvdG8gcmVwbGFj ZTsKKwkJfQorCX0KKworCUJVR19PTihmb2JqLT5zaGFyZWRfY291bnQgPj0gZm9iai0+c2hhcmVk X21heCk7CisJZm9iai0+c2hhcmVkX2NvdW50Kys7CisKK3JlcGxhY2U6CisJLyoKKwkgKiBtZW1v cnkgYmFycmllciBpcyBhZGRlZCBieSB3cml0ZV9zZXFjb3VudF9iZWdpbiwKKwkgKiBmb2JqLT5z aGFyZWRfY291bnQgaXMgcHJvdGVjdGVkIGJ5IHRoaXMgbG9jayB0b28KKwkgKi8KKwlSQ1VfSU5J VF9QT0lOVEVSKGZvYmotPnNoYXJlZFtpXSwgZmVuY2UpOworCXdyaXRlX3NlcWNvdW50X2VuZCgm b2JqLT5zZXEpOworCXByZWVtcHRfZW5hYmxlKCk7CiB9CiBFWFBPUlRfU1lNQk9MKHJlc2VydmF0 aW9uX29iamVjdF9hZGRfc2hhcmVkX2ZlbmNlKTsKIApAQCAtMzQzLDkgKzI4NCw2IEBAIGludCBy ZXNlcnZhdGlvbl9vYmplY3RfY29weV9mZW5jZXMoc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAq ZHN0LAogCW5ldyA9IGRtYV9mZW5jZV9nZXRfcmN1X3NhZmUoJnNyYy0+ZmVuY2VfZXhjbCk7CiAJ cmN1X3JlYWRfdW5sb2NrKCk7CiAKLQlrZnJlZShkc3QtPnN0YWdlZCk7Ci0JZHN0LT5zdGFnZWQg PSBOVUxMOwotCiAJc3JjX2xpc3QgPSByZXNlcnZhdGlvbl9vYmplY3RfZ2V0X2xpc3QoZHN0KTsK IAlvbGQgPSByZXNlcnZhdGlvbl9vYmplY3RfZ2V0X2V4Y2woZHN0KTsKIApkaWZmIC0tZ2l0IGEv aW5jbHVkZS9saW51eC9yZXNlcnZhdGlvbi5oIGIvaW5jbHVkZS9saW51eC9yZXNlcnZhdGlvbi5o CmluZGV4IDAyMTY2ZTgxNWFmYi4uNTRjZjY3NzNhMTRjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xp bnV4L3Jlc2VydmF0aW9uLmgKKysrIGIvaW5jbHVkZS9saW51eC9yZXNlcnZhdGlvbi5oCkBAIC02 OCw3ICs2OCw2IEBAIHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3RfbGlzdCB7CiAgKiBAc2VxOiBz ZXF1ZW5jZSBjb3VudCBmb3IgbWFuYWdpbmcgUkNVIHJlYWQtc2lkZSBzeW5jaHJvbml6YXRpb24K ICAqIEBmZW5jZV9leGNsOiB0aGUgZXhjbHVzaXZlIGZlbmNlLCBpZiB0aGVyZSBpcyBvbmUgY3Vy cmVudGx5CiAgKiBAZmVuY2U6IGxpc3Qgb2YgY3VycmVudCBzaGFyZWQgZmVuY2VzCi0gKiBAc3Rh Z2VkOiBzdGFnZWQgY29weSBvZiBzaGFyZWQgZmVuY2VzIGZvciBSQ1UgdXBkYXRlcwogICovCiBz dHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0IHsKIAlzdHJ1Y3Qgd3dfbXV0ZXggbG9jazsKQEAgLTc2 LDcgKzc1LDYgQEAgc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCB7CiAKIAlzdHJ1Y3QgZG1hX2Zl bmNlIF9fcmN1ICpmZW5jZV9leGNsOwogCXN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3RfbGlzdCBf X3JjdSAqZmVuY2U7Ci0Jc3RydWN0IHJlc2VydmF0aW9uX29iamVjdF9saXN0ICpzdGFnZWQ7CiB9 OwogCiAjZGVmaW5lIHJlc2VydmF0aW9uX29iamVjdF9oZWxkKG9iaikgbG9ja2RlcF9pc19oZWxk KCYob2JqKS0+bG9jay5iYXNlKQpAQCAtOTUsNyArOTMsNiBAQCByZXNlcnZhdGlvbl9vYmplY3Rf aW5pdChzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpvYmopCiAJX19zZXFjb3VudF9pbml0KCZv YmotPnNlcSwgcmVzZXJ2YXRpb25fc2VxY291bnRfc3RyaW5nLCAmcmVzZXJ2YXRpb25fc2VxY291 bnRfY2xhc3MpOwogCVJDVV9JTklUX1BPSU5URVIob2JqLT5mZW5jZSwgTlVMTCk7CiAJUkNVX0lO SVRfUE9JTlRFUihvYmotPmZlbmNlX2V4Y2wsIE5VTEwpOwotCW9iai0+c3RhZ2VkID0gTlVMTDsK IH0KIAogLyoqCkBAIC0xMjQsNyArMTIxLDYgQEAgcmVzZXJ2YXRpb25fb2JqZWN0X2Zpbmkoc3Ry dWN0IHJlc2VydmF0aW9uX29iamVjdCAqb2JqKQogCiAJCWtmcmVlKGZvYmopOwogCX0KLQlrZnJl ZShvYmotPnN0YWdlZCk7CiAKIAl3d19tdXRleF9kZXN0cm95KCZvYmotPmxvY2spOwogfQotLSAK Mi4xNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwph bWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK