From mboxrd@z Thu Jan 1 00:00:00 1970 From: "=?UTF-8?q?Christian=20K=C3=B6nig?=" Subject: [PATCH 1/6] dma-buf: remove shared fence staging in reservation object Date: Thu, 9 Aug 2018 13:37:08 +0200 Message-ID: <20180809113713.48024-2-christian.koenig@amd.com> References: <20180809113713.48024-1-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180809113713.48024-1-christian.koenig-5C7GfCeVMHo@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org Tm8gbmVlZCBmb3IgdGhhdCBhbnkgbW9yZS4gSnVzdCByZXBsYWNlIHRoZSBsaXN0IHdoZW4gdGhl cmUgaXNuJ3QgZW5vdWdoCnJvb20gYW55IG1vcmUgZm9yIGF0IGxlYXN0IG9uZSBhZGRpdGlvbmFs IGZlbmNlLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5p Z0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZG1hLWJ1Zi9yZXNlcnZhdGlvbi5jIHwgMTgwICsrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS9saW51eC9yZXNl cnZhdGlvbi5oICAgfCAgIDQgLQogMiBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAx MjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL3Jlc2VydmF0aW9u LmMgYi9kcml2ZXJzL2RtYS1idWYvcmVzZXJ2YXRpb24uYwppbmRleCAzMTRlYjEwNzFjY2UuLjFm MGM2MWI1NDBiYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMKKysr IGIvZHJpdmVycy9kbWEtYnVmL3Jlc2VydmF0aW9uLmMKQEAgLTY4LDEwNCArNjgsMjMgQEAgRVhQ T1JUX1NZTUJPTChyZXNlcnZhdGlvbl9zZXFjb3VudF9zdHJpbmcpOwogICovCiBpbnQgcmVzZXJ2 YXRpb25fb2JqZWN0X3Jlc2VydmVfc2hhcmVkKHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKm9i aikKIHsKLQlzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0X2xpc3QgKmZvYmosICpvbGQ7Ci0JdTMy IG1heDsKKwlzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0X2xpc3QgKm9sZCwgKm5ldzsKKwl1bnNp Z25lZCBpbnQgaSwgaiwgaywgbWF4OwogCiAJb2xkID0gcmVzZXJ2YXRpb25fb2JqZWN0X2dldF9s aXN0KG9iaik7CiAKIAlpZiAob2xkICYmIG9sZC0+c2hhcmVkX21heCkgewotCQlpZiAob2xkLT5z aGFyZWRfY291bnQgPCBvbGQtPnNoYXJlZF9tYXgpIHsKLQkJCS8qIHBlcmZvcm0gYW4gaW4tcGxh Y2UgdXBkYXRlICovCi0JCQlrZnJlZShvYmotPnN0YWdlZCk7Ci0JCQlvYmotPnN0YWdlZCA9IE5V TEw7CisJCWlmIChvbGQtPnNoYXJlZF9jb3VudCA8IG9sZC0+c2hhcmVkX21heCkKIAkJCXJldHVy biAwOwotCQl9IGVsc2UKKwkJZWxzZQogCQkJbWF4ID0gb2xkLT5zaGFyZWRfbWF4ICogMjsKLQl9 IGVsc2UKLQkJbWF4ID0gNDsKLQotCS8qCi0JICogcmVzaXplIG9iai0+c3RhZ2VkIG9yIGFsbG9j YXRlIGlmIGl0IGRvZXNuJ3QgZXhpc3QsCi0JICogbm9vcCBpZiBhbHJlYWR5IGNvcnJlY3Qgc2l6 ZQotCSAqLwotCWZvYmogPSBrcmVhbGxvYyhvYmotPnN0YWdlZCwgb2Zmc2V0b2YodHlwZW9mKCpm b2JqKSwgc2hhcmVkW21heF0pLAotCQkJR0ZQX0tFUk5FTCk7Ci0JaWYgKCFmb2JqKQotCQlyZXR1 cm4gLUVOT01FTTsKLQotCW9iai0+c3RhZ2VkID0gZm9iajsKLQlmb2JqLT5zaGFyZWRfbWF4ID0g bWF4OwotCXJldHVybiAwOwotfQotRVhQT1JUX1NZTUJPTChyZXNlcnZhdGlvbl9vYmplY3RfcmVz ZXJ2ZV9zaGFyZWQpOwotCi1zdGF0aWMgdm9pZAotcmVzZXJ2YXRpb25fb2JqZWN0X2FkZF9zaGFy ZWRfaW5wbGFjZShzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpvYmosCi0JCQkJICAgICAgc3Ry dWN0IHJlc2VydmF0aW9uX29iamVjdF9saXN0ICpmb2JqLAotCQkJCSAgICAgIHN0cnVjdCBkbWFf ZmVuY2UgKmZlbmNlKQotewotCXN0cnVjdCBkbWFfZmVuY2UgKnNpZ25hbGVkID0gTlVMTDsKLQl1 MzIgaSwgc2lnbmFsZWRfaWR4OwotCi0JZG1hX2ZlbmNlX2dldChmZW5jZSk7Ci0KLQlwcmVlbXB0 X2Rpc2FibGUoKTsKLQl3cml0ZV9zZXFjb3VudF9iZWdpbigmb2JqLT5zZXEpOwotCi0JZm9yIChp ID0gMDsgaSA8IGZvYmotPnNoYXJlZF9jb3VudDsgKytpKSB7Ci0JCXN0cnVjdCBkbWFfZmVuY2Ug Km9sZF9mZW5jZTsKLQotCQlvbGRfZmVuY2UgPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKGZv YmotPnNoYXJlZFtpXSwKLQkJCQkJCXJlc2VydmF0aW9uX29iamVjdF9oZWxkKG9iaikpOwotCi0J CWlmIChvbGRfZmVuY2UtPmNvbnRleHQgPT0gZmVuY2UtPmNvbnRleHQpIHsKLQkJCS8qIG1lbW9y eSBiYXJyaWVyIGlzIGFkZGVkIGJ5IHdyaXRlX3NlcWNvdW50X2JlZ2luICovCi0JCQlSQ1VfSU5J VF9QT0lOVEVSKGZvYmotPnNoYXJlZFtpXSwgZmVuY2UpOwotCQkJd3JpdGVfc2VxY291bnRfZW5k KCZvYmotPnNlcSk7Ci0JCQlwcmVlbXB0X2VuYWJsZSgpOwotCi0JCQlkbWFfZmVuY2VfcHV0KG9s ZF9mZW5jZSk7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlpZiAoIXNpZ25hbGVkICYmIGRtYV9mZW5j ZV9pc19zaWduYWxlZChvbGRfZmVuY2UpKSB7Ci0JCQlzaWduYWxlZCA9IG9sZF9mZW5jZTsKLQkJ CXNpZ25hbGVkX2lkeCA9IGk7Ci0JCX0KLQl9Ci0KLQkvKgotCSAqIG1lbW9yeSBiYXJyaWVyIGlz IGFkZGVkIGJ5IHdyaXRlX3NlcWNvdW50X2JlZ2luLAotCSAqIGZvYmotPnNoYXJlZF9jb3VudCBp cyBwcm90ZWN0ZWQgYnkgdGhpcyBsb2NrIHRvbwotCSAqLwotCWlmIChzaWduYWxlZCkgewotCQlS Q1VfSU5JVF9QT0lOVEVSKGZvYmotPnNoYXJlZFtzaWduYWxlZF9pZHhdLCBmZW5jZSk7CiAJfSBl bHNlIHsKLQkJUkNVX0lOSVRfUE9JTlRFUihmb2JqLT5zaGFyZWRbZm9iai0+c2hhcmVkX2NvdW50 XSwgZmVuY2UpOwotCQlmb2JqLT5zaGFyZWRfY291bnQrKzsKKwkJbWF4ID0gNDsKIAl9CiAKLQl3 cml0ZV9zZXFjb3VudF9lbmQoJm9iai0+c2VxKTsKLQlwcmVlbXB0X2VuYWJsZSgpOwotCi0JZG1h X2ZlbmNlX3B1dChzaWduYWxlZCk7Ci19Ci0KLXN0YXRpYyB2b2lkCi1yZXNlcnZhdGlvbl9vYmpl Y3RfYWRkX3NoYXJlZF9yZXBsYWNlKHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKm9iaiwKLQkJ CQkgICAgICBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0X2xpc3QgKm9sZCwKLQkJCQkgICAgICBz dHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0X2xpc3QgKmZvYmosCi0JCQkJICAgICAgc3RydWN0IGRt YV9mZW5jZSAqZmVuY2UpCi17Ci0JdW5zaWduZWQgaSwgaiwgazsKLQotCWRtYV9mZW5jZV9nZXQo ZmVuY2UpOwotCi0JaWYgKCFvbGQpIHsKLQkJUkNVX0lOSVRfUE9JTlRFUihmb2JqLT5zaGFyZWRb MF0sIGZlbmNlKTsKLQkJZm9iai0+c2hhcmVkX2NvdW50ID0gMTsKLQkJZ290byBkb25lOwotCX0K KwluZXcgPSBrbWFsbG9jKG9mZnNldG9mKHR5cGVvZigqbmV3KSwgc2hhcmVkW21heF0pLCBHRlBf S0VSTkVMKTsKKwlpZiAoIW5ldykKKwkJcmV0dXJuIC1FTk9NRU07CiAKIAkvKgogCSAqIG5vIG5l ZWQgdG8gYnVtcCBmZW5jZSByZWZjb3VudHMsIHJjdV9yZWFkIGFjY2VzcwpAQCAtMTczLDQ2ICs5 Miw0NSBAQCByZXNlcnZhdGlvbl9vYmplY3RfYWRkX3NoYXJlZF9yZXBsYWNlKHN0cnVjdCByZXNl cnZhdGlvbl9vYmplY3QgKm9iaiwKIAkgKiByZWZlcmVuY2VzIGZyb20gdGhlIG9sZCBzdHJ1Y3Qg YXJlIGNhcnJpZWQgb3ZlciB0bwogCSAqIHRoZSBuZXcuCiAJICovCi0JZm9yIChpID0gMCwgaiA9 IDAsIGsgPSBmb2JqLT5zaGFyZWRfbWF4OyBpIDwgb2xkLT5zaGFyZWRfY291bnQ7ICsraSkgewot CQlzdHJ1Y3QgZG1hX2ZlbmNlICpjaGVjazsKLQotCQljaGVjayA9IHJjdV9kZXJlZmVyZW5jZV9w cm90ZWN0ZWQob2xkLT5zaGFyZWRbaV0sCi0JCQkJCQlyZXNlcnZhdGlvbl9vYmplY3RfaGVsZChv YmopKTsKKwlmb3IgKGkgPSAwLCBqID0gMCwgayA9IG1heDsgaSA8IChvbGQgPyBvbGQtPnNoYXJl ZF9jb3VudCA6IDApOyArK2kpIHsKKwkJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CiAKLQkJaWYg KGNoZWNrLT5jb250ZXh0ID09IGZlbmNlLT5jb250ZXh0IHx8Ci0JCSAgICBkbWFfZmVuY2VfaXNf c2lnbmFsZWQoY2hlY2spKQotCQkJUkNVX0lOSVRfUE9JTlRFUihmb2JqLT5zaGFyZWRbLS1rXSwg Y2hlY2spOworCQlmZW5jZSA9IHJjdV9kZXJlZmVyZW5jZV9wcm90ZWN0ZWQob2xkLT5zaGFyZWRb aV0sCisJCQkJCQkgIHJlc2VydmF0aW9uX29iamVjdF9oZWxkKG9iaikpOworCQlpZiAoZG1hX2Zl bmNlX2lzX3NpZ25hbGVkKGZlbmNlKSkKKwkJCVJDVV9JTklUX1BPSU5URVIobmV3LT5zaGFyZWRb LS1rXSwgZmVuY2UpOwogCQllbHNlCi0JCQlSQ1VfSU5JVF9QT0lOVEVSKGZvYmotPnNoYXJlZFtq KytdLCBjaGVjayk7CisJCQlSQ1VfSU5JVF9QT0lOVEVSKG5ldy0+c2hhcmVkW2orK10sIGZlbmNl KTsKIAl9Ci0JZm9iai0+c2hhcmVkX2NvdW50ID0gajsKLQlSQ1VfSU5JVF9QT0lOVEVSKGZvYmot PnNoYXJlZFtmb2JqLT5zaGFyZWRfY291bnRdLCBmZW5jZSk7Ci0JZm9iai0+c2hhcmVkX2NvdW50 Kys7CisJbmV3LT5zaGFyZWRfY291bnQgPSBqOworCW5ldy0+c2hhcmVkX21heCA9IG1heDsKIAot ZG9uZToKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAl3cml0ZV9zZXFjb3VudF9iZWdpbigmb2JqLT5z ZXEpOwogCS8qCiAJICogUkNVX0lOSVRfUE9JTlRFUiBjYW4gYmUgdXNlZCBoZXJlLAogCSAqIHNl cWNvdW50IHByb3ZpZGVzIHRoZSBuZWNlc3NhcnkgYmFycmllcnMKIAkgKi8KLQlSQ1VfSU5JVF9Q T0lOVEVSKG9iai0+ZmVuY2UsIGZvYmopOworCVJDVV9JTklUX1BPSU5URVIob2JqLT5mZW5jZSwg bmV3KTsKIAl3cml0ZV9zZXFjb3VudF9lbmQoJm9iai0+c2VxKTsKIAlwcmVlbXB0X2VuYWJsZSgp OwogCiAJaWYgKCFvbGQpCi0JCXJldHVybjsKKwkJcmV0dXJuIDA7CiAKIAkvKiBEcm9wIHRoZSBy ZWZlcmVuY2VzIHRvIHRoZSBzaWduYWxlZCBmZW5jZXMgKi8KLQlmb3IgKGkgPSBrOyBpIDwgZm9i ai0+c2hhcmVkX21heDsgKytpKSB7Ci0JCXN0cnVjdCBkbWFfZmVuY2UgKmY7CisJZm9yIChpID0g azsgaSA8IG5ldy0+c2hhcmVkX21heDsgKytpKSB7CisJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNl OwogCi0JCWYgPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKGZvYmotPnNoYXJlZFtpXSwKLQkJ CQkJICAgICAgcmVzZXJ2YXRpb25fb2JqZWN0X2hlbGQob2JqKSk7Ci0JCWRtYV9mZW5jZV9wdXQo Zik7CisJCWZlbmNlID0gcmN1X2RlcmVmZXJlbmNlX3Byb3RlY3RlZChuZXctPnNoYXJlZFtpXSwK KwkJCQkJCSAgcmVzZXJ2YXRpb25fb2JqZWN0X2hlbGQob2JqKSk7CisJCWRtYV9mZW5jZV9wdXQo ZmVuY2UpOwogCX0KIAlrZnJlZV9yY3Uob2xkLCByY3UpOworCisJcmV0dXJuIDA7CiB9CitFWFBP UlRfU1lNQk9MKHJlc2VydmF0aW9uX29iamVjdF9yZXNlcnZlX3NoYXJlZCk7CiAKIC8qKgogICog cmVzZXJ2YXRpb25fb2JqZWN0X2FkZF9zaGFyZWRfZmVuY2UgLSBBZGQgYSBmZW5jZSB0byBhIHNo YXJlZCBzbG90CkBAIC0yMjUsMTYgKzE0Myw0MSBAQCByZXNlcnZhdGlvbl9vYmplY3RfYWRkX3No YXJlZF9yZXBsYWNlKHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKm9iaiwKIHZvaWQgcmVzZXJ2 YXRpb25fb2JqZWN0X2FkZF9zaGFyZWRfZmVuY2Uoc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAq b2JqLAogCQkJCQkgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UpCiB7Ci0Jc3RydWN0IHJlc2VydmF0 aW9uX29iamVjdF9saXN0ICpvbGQsICpmb2JqID0gb2JqLT5zdGFnZWQ7CisJc3RydWN0IHJlc2Vy dmF0aW9uX29iamVjdF9saXN0ICpmb2JqOworCXVuc2lnbmVkIGludCBpOwogCi0Jb2xkID0gcmVz ZXJ2YXRpb25fb2JqZWN0X2dldF9saXN0KG9iaik7Ci0Jb2JqLT5zdGFnZWQgPSBOVUxMOworCWRt YV9mZW5jZV9nZXQoZmVuY2UpOworCisJZm9iaiA9IHJlc2VydmF0aW9uX29iamVjdF9nZXRfbGlz dChvYmopOwogCi0JaWYgKCFmb2JqKSB7Ci0JCUJVR19PTihvbGQtPnNoYXJlZF9jb3VudCA+PSBv bGQtPnNoYXJlZF9tYXgpOwotCQlyZXNlcnZhdGlvbl9vYmplY3RfYWRkX3NoYXJlZF9pbnBsYWNl KG9iaiwgb2xkLCBmZW5jZSk7Ci0JfSBlbHNlCi0JCXJlc2VydmF0aW9uX29iamVjdF9hZGRfc2hh cmVkX3JlcGxhY2Uob2JqLCBvbGQsIGZvYmosIGZlbmNlKTsKKwlwcmVlbXB0X2Rpc2FibGUoKTsK Kwl3cml0ZV9zZXFjb3VudF9iZWdpbigmb2JqLT5zZXEpOworCisJZm9yIChpID0gMDsgaSA8IGZv YmotPnNoYXJlZF9jb3VudDsgKytpKSB7CisJCXN0cnVjdCBkbWFfZmVuY2UgKm9sZF9mZW5jZTsK KworCQlvbGRfZmVuY2UgPSByY3VfZGVyZWZlcmVuY2VfcHJvdGVjdGVkKGZvYmotPnNoYXJlZFtp XSwKKwkJCQkJCSAgICAgIHJlc2VydmF0aW9uX29iamVjdF9oZWxkKG9iaikpOworCQlpZiAob2xk X2ZlbmNlLT5jb250ZXh0ID09IGZlbmNlLT5jb250ZXh0IHx8CisJCSAgICBkbWFfZmVuY2VfaXNf c2lnbmFsZWQob2xkX2ZlbmNlKSkgeworCQkJLyogbWVtb3J5IGJhcnJpZXIgaXMgYWRkZWQgYnkg d3JpdGVfc2VxY291bnRfYmVnaW4gKi8KKwkJCVJDVV9JTklUX1BPSU5URVIoZm9iai0+c2hhcmVk W2ldLCBmZW5jZSk7CisJCQl3cml0ZV9zZXFjb3VudF9lbmQoJm9iai0+c2VxKTsKKwkJCXByZWVt cHRfZW5hYmxlKCk7CisJCQlkbWFfZmVuY2VfcHV0KG9sZF9mZW5jZSk7CisJCQlyZXR1cm47CisJ CX0KKwl9CisKKwkvKgorCSAqIG1lbW9yeSBiYXJyaWVyIGlzIGFkZGVkIGJ5IHdyaXRlX3NlcWNv dW50X2JlZ2luLAorCSAqIGZvYmotPnNoYXJlZF9jb3VudCBpcyBwcm90ZWN0ZWQgYnkgdGhpcyBs b2NrIHRvbworCSAqLworCVJDVV9JTklUX1BPSU5URVIoZm9iai0+c2hhcmVkW2ZvYmotPnNoYXJl ZF9jb3VudF0sIGZlbmNlKTsKKwlmb2JqLT5zaGFyZWRfY291bnQrKzsKKworCXdyaXRlX3NlcWNv dW50X2VuZCgmb2JqLT5zZXEpOworCXByZWVtcHRfZW5hYmxlKCk7CiB9CiBFWFBPUlRfU1lNQk9M KHJlc2VydmF0aW9uX29iamVjdF9hZGRfc2hhcmVkX2ZlbmNlKTsKIApAQCAtMzQzLDkgKzI4Niw2 IEBAIGludCByZXNlcnZhdGlvbl9vYmplY3RfY29weV9mZW5jZXMoc3RydWN0IHJlc2VydmF0aW9u X29iamVjdCAqZHN0LAogCW5ldyA9IGRtYV9mZW5jZV9nZXRfcmN1X3NhZmUoJnNyYy0+ZmVuY2Vf ZXhjbCk7CiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAKLQlrZnJlZShkc3QtPnN0YWdlZCk7Ci0JZHN0 LT5zdGFnZWQgPSBOVUxMOwotCiAJc3JjX2xpc3QgPSByZXNlcnZhdGlvbl9vYmplY3RfZ2V0X2xp c3QoZHN0KTsKIAlvbGQgPSByZXNlcnZhdGlvbl9vYmplY3RfZ2V0X2V4Y2woZHN0KTsKIApkaWZm IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9yZXNlcnZhdGlvbi5oIGIvaW5jbHVkZS9saW51eC9yZXNl cnZhdGlvbi5oCmluZGV4IDAyMTY2ZTgxNWFmYi4uNTRjZjY3NzNhMTRjIDEwMDY0NAotLS0gYS9p bmNsdWRlL2xpbnV4L3Jlc2VydmF0aW9uLmgKKysrIGIvaW5jbHVkZS9saW51eC9yZXNlcnZhdGlv bi5oCkBAIC02OCw3ICs2OCw2IEBAIHN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3RfbGlzdCB7CiAg KiBAc2VxOiBzZXF1ZW5jZSBjb3VudCBmb3IgbWFuYWdpbmcgUkNVIHJlYWQtc2lkZSBzeW5jaHJv bml6YXRpb24KICAqIEBmZW5jZV9leGNsOiB0aGUgZXhjbHVzaXZlIGZlbmNlLCBpZiB0aGVyZSBp cyBvbmUgY3VycmVudGx5CiAgKiBAZmVuY2U6IGxpc3Qgb2YgY3VycmVudCBzaGFyZWQgZmVuY2Vz Ci0gKiBAc3RhZ2VkOiBzdGFnZWQgY29weSBvZiBzaGFyZWQgZmVuY2VzIGZvciBSQ1UgdXBkYXRl cwogICovCiBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0IHsKIAlzdHJ1Y3Qgd3dfbXV0ZXggbG9j azsKQEAgLTc2LDcgKzc1LDYgQEAgc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCB7CiAKIAlzdHJ1 Y3QgZG1hX2ZlbmNlIF9fcmN1ICpmZW5jZV9leGNsOwogCXN0cnVjdCByZXNlcnZhdGlvbl9vYmpl Y3RfbGlzdCBfX3JjdSAqZmVuY2U7Ci0Jc3RydWN0IHJlc2VydmF0aW9uX29iamVjdF9saXN0ICpz dGFnZWQ7CiB9OwogCiAjZGVmaW5lIHJlc2VydmF0aW9uX29iamVjdF9oZWxkKG9iaikgbG9ja2Rl cF9pc19oZWxkKCYob2JqKS0+bG9jay5iYXNlKQpAQCAtOTUsNyArOTMsNiBAQCByZXNlcnZhdGlv bl9vYmplY3RfaW5pdChzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpvYmopCiAJX19zZXFjb3Vu dF9pbml0KCZvYmotPnNlcSwgcmVzZXJ2YXRpb25fc2VxY291bnRfc3RyaW5nLCAmcmVzZXJ2YXRp b25fc2VxY291bnRfY2xhc3MpOwogCVJDVV9JTklUX1BPSU5URVIob2JqLT5mZW5jZSwgTlVMTCk7 CiAJUkNVX0lOSVRfUE9JTlRFUihvYmotPmZlbmNlX2V4Y2wsIE5VTEwpOwotCW9iai0+c3RhZ2Vk ID0gTlVMTDsKIH0KIAogLyoqCkBAIC0xMjQsNyArMTIxLDYgQEAgcmVzZXJ2YXRpb25fb2JqZWN0 X2Zpbmkoc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqb2JqKQogCiAJCWtmcmVlKGZvYmopOwog CX0KLQlrZnJlZShvYmotPnN0YWdlZCk7CiAKIAl3d19tdXRleF9kZXN0cm95KCZvYmotPmxvY2sp OwogfQotLSAKMi4xNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK