From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongwon Kim Subject: [RFC PATCH 48/60] hyper_dmabuf: add query items for buffer private info. Date: Tue, 19 Dec 2017 11:30:04 -0800 Message-ID: <1513711816-2618-48-git-send-email-dongwon.kim@intel.com> References: <1513711816-2618-1-git-send-email-dongwon.kim@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1513711816-2618-1-git-send-email-dongwon.kim@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: linux-kernel@vger.kernel.org Cc: xen-devel@lists.xenproject.org, mateuszx.potrola@intel.com, dri-devel@lists.freedesktop.org, dongwon.kim@intel.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogTWF0ZXVzeiBQb2xyb2xhIDxtYXRldXN6eC5wb3Ryb2xhQGludGVsLmNvbT4KClRoaXMg Y2hhbmdlIGFkZHMgdHdvIHF1ZXJ5IGl0ZW1zLCAnSFlQRVJfRE1BQlVGX1FVRVJZX1BSSVZfSU5G T19TSVpFJwphbmQgJ0hZUEVSX0RNQUJVRl9RVUVSWV9QUklWX0lORk8nLCBmb3IgcmV0cmlldmlu ZyBidWZmZXIncyBwcml2YXRlCmluZm8gYW5kIGl0cyBzaXplLgoKJ2luZm8nIGlzIGFuIGFkZHJl c3Mgb2YgdXNlci1zcGFjZSBidWZmZXIgKHVzZXIgYXBwbGljYXRpb24gcHJvdmlkZXMKdGhpcykg LHdoZXJlIHByaXZhdGUgZGF0YSB3aWxsIGJlIGNvcGllZCBpbiBjYXNlIHF1ZXJ5IGl0ZW0gaXMK J0hZUEVSX0RNQUJVRl9RVUVSWV9QUklWX0lORk8nLgoKU2lnbmVkLW9mZi1ieTogRG9uZ3dvbiBL aW0gPGRvbmd3b24ua2ltQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYv aHlwZXJfZG1hYnVmX2Rydi5jICAgfCAgNyArLQogZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5 cGVyX2RtYWJ1Zl9ldmVudC5jIHwgIDYgKysKIGRyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBl cl9kbWFidWZfaW9jdGwuYyB8IDEyICsrLS0KIGRyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBl cl9kbWFidWZfcXVlcnkuYyB8IDk3ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogZHJpdmVy cy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9xdWVyeS5oIHwgIDYgKy0KIGluY2x1ZGUv dWFwaS94ZW4vaHlwZXJfZG1hYnVmLmggICAgICAgICAgICAgICB8ICA0ICstCiA2IGZpbGVzIGNo YW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2Rydi5jIGIvZHJpdmVycy94ZW4v aHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9kcnYuYwppbmRleCA4N2VhNmNhLi4xYzM1YTU5IDEw MDY0NAotLS0gYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2Rydi5jCisr KyBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfZHJ2LmMKQEAgLTE2OCw4 ICsxNjgsMTEgQEAgc3NpemVfdCBoeXBlcl9kbWFidWZfZXZlbnRfcmVhZChzdHJ1Y3QgZmlsZSAq ZmlscCwgY2hhciBfX3VzZXIgKmJ1ZmZlciwKIAkJCQlyZXQgLT0gc2l6ZW9mKHN0cnVjdCBoeXBl cl9kbWFidWZfZXZlbnRfaGRyKTsKIAogCQkJCS8qIG51bGxpZnlpbmcgaGRyIG9mIHRoZSBldmVu dCBpbiB1c2VyIGJ1ZmZlciAqLwotCQkJCWNvcHlfdG9fdXNlcihidWZmZXIgKyByZXQsICZkdW1t eV9oZHIsCi0JCQkJCSAgICAgc2l6ZW9mKGR1bW15X2hkcikpOworCQkJCWlmIChjb3B5X3RvX3Vz ZXIoYnVmZmVyICsgcmV0LCAmZHVtbXlfaGRyLAorCQkJCQkJIHNpemVvZihkdW1teV9oZHIpKSkg eworCQkJCQlkZXZfZXJyKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRldmljZSwKKwkJCQkJCSJmYWls ZWQgdG8gbnVsbGlmeSBpbnZhbGlkIGhkciBhbHJlYWR5IGluIHVzZXJzcGFjZVxuIik7CisJCQkJ fQogCiAJCQkJcmV0ID0gLUVGQVVMVDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vaHlwZXJf ZG1hYnVmL2h5cGVyX2RtYWJ1Zl9ldmVudC5jIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5 cGVyX2RtYWJ1Zl9ldmVudC5jCmluZGV4IDg5OThhN2QuLjNlMTQ5OGMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfZXZlbnQuYworKysgYi9kcml2ZXJz L3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2V2ZW50LmMKQEAgLTEwNCw2ICsxMDQsMTIg QEAgaW50IGh5cGVyX2RtYWJ1Zl9pbXBvcnRfZXZlbnQoaHlwZXJfZG1hYnVmX2lkX3QgaGlkKQog CiAJZSA9IGt6YWxsb2Moc2l6ZW9mKCplKSwgR0ZQX0tFUk5FTCk7CiAKKwlpZiAoIWUpIHsKKwkJ ZGV2X2VycihoeXBlcl9kbWFidWZfcHJpdmF0ZS5kZXZpY2UsCisJCQkibm8gc3BhY2UgbGVmdFxu Iik7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwogCWUtPmV2ZW50X2RhdGEuaGRyLmV2ZW50X3R5 cGUgPSBIWVBFUl9ETUFCVUZfTkVXX0lNUE9SVDsKIAllLT5ldmVudF9kYXRhLmhkci5oaWQgPSBo aWQ7CiAJZS0+ZXZlbnRfZGF0YS5kYXRhID0gKHZvaWQqKWltcG9ydGVkX3NndF9pbmZvLT5wcml2 OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9pb2N0 bC5jIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9pb2N0bC5jCmluZGV4 IDA2Zjk1Y2EuLjE1MTkxYzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9o eXBlcl9kbWFidWZfaW9jdGwuYworKysgYi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJf ZG1hYnVmX2lvY3RsLmMKQEAgLTY3MSw5ICs2NzEsOCBAQCBzdGF0aWMgaW50IGh5cGVyX2RtYWJ1 Zl9xdWVyeV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdm9pZCAqZGF0YSkKIAkJLyogcXVlcnkg Zm9yIGV4cG9ydGVkIGRtYWJ1ZiAqLwogCQlzZ3RfaW5mbyA9IGh5cGVyX2RtYWJ1Zl9maW5kX2V4 cG9ydGVkKHF1ZXJ5X2F0dHItPmhpZCk7CiAJCWlmIChzZ3RfaW5mbykgewotCQkJcmV0ID0gaHlw ZXJfZG1hYnVmX3F1ZXJ5X2V4cG9ydGVkKHNndF9pbmZvLCBxdWVyeV9hdHRyLT5pdGVtKTsKLQkJ CWlmIChyZXQgIT0gLUVJTlZBTCkKLQkJCQlxdWVyeV9hdHRyLT5pbmZvID0gcmV0OworCQkJcmV0 ID0gaHlwZXJfZG1hYnVmX3F1ZXJ5X2V4cG9ydGVkKHNndF9pbmZvLAorCQkJCQkJCSAgcXVlcnlf YXR0ci0+aXRlbSwgJnF1ZXJ5X2F0dHItPmluZm8pOwogCQl9IGVsc2UgewogCQkJZGV2X2Vyciho eXBlcl9kbWFidWZfcHJpdmF0ZS5kZXZpY2UsCiAJCQkJIkRNQSBCVUYge2lkOiVkIGtleTolZCAl ZCAlZH0gY2FuJ3QgYmUgZm91bmQgaW4gdGhlIGV4cG9ydCBsaXN0XG4iLApAQCAtNjg1LDkgKzY4 NCw4IEBAIHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX3F1ZXJ5X2lvY3RsKHN0cnVjdCBmaWxlICpm aWxwLCB2b2lkICpkYXRhKQogCQkvKiBxdWVyeSBmb3IgaW1wb3J0ZWQgZG1hYnVmICovCiAJCWlt cG9ydGVkX3NndF9pbmZvID0gaHlwZXJfZG1hYnVmX2ZpbmRfaW1wb3J0ZWQocXVlcnlfYXR0ci0+ aGlkKTsKIAkJaWYgKGltcG9ydGVkX3NndF9pbmZvKSB7Ci0JCQlyZXQgPSBoeXBlcl9kbWFidWZf cXVlcnlfaW1wb3J0ZWQoaW1wb3J0ZWRfc2d0X2luZm8sIHF1ZXJ5X2F0dHItPml0ZW0pOwotCQkJ aWYgKHJldCAhPSAtRUlOVkFMKQotCQkJCXF1ZXJ5X2F0dHItPmluZm8gPSByZXQ7CisJCQlyZXQg PSBoeXBlcl9kbWFidWZfcXVlcnlfaW1wb3J0ZWQoaW1wb3J0ZWRfc2d0X2luZm8sCisJCQkJCQkJ ICBxdWVyeV9hdHRyLT5pdGVtLCAmcXVlcnlfYXR0ci0+aW5mbyk7CiAJCX0gZWxzZSB7CiAJCQlk ZXZfZXJyKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRldmljZSwKIAkJCQkiRE1BIEJVRiB7aWQ6JWQg a2V5OiVkICVkICVkfSBjYW4ndCBiZSBmb3VuZCBpbiB0aGUgaW1wb3J0ZWQgbGlzdFxuIiwKQEAg LTY5Nyw3ICs2OTUsNyBAQCBzdGF0aWMgaW50IGh5cGVyX2RtYWJ1Zl9xdWVyeV9pb2N0bChzdHJ1 Y3QgZmlsZSAqZmlscCwgdm9pZCAqZGF0YSkKIAkJfQogCX0KIAotCXJldHVybiAwOworCXJldHVy biByZXQ7CiB9CiAKIHZvaWQgaHlwZXJfZG1hYnVmX2VtZXJnZW5jeV9yZWxlYXNlKHN0cnVjdCBo eXBlcl9kbWFidWZfc2d0X2luZm8qIHNndF9pbmZvLApkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4v aHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9xdWVyeS5jIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1h YnVmL2h5cGVyX2RtYWJ1Zl9xdWVyeS5jCmluZGV4IDJhNTIwMWIuLjM5YzlkZWUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfcXVlcnkuYworKysgYi9k cml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX3F1ZXJ5LmMKQEAgLTI3LDYgKzI3 LDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi5oPgorI2luY2x1ZGUgPGxpbnV4 L3VhY2Nlc3MuaD4KICNpbmNsdWRlICJoeXBlcl9kbWFidWZfZHJ2LmgiCiAjaW5jbHVkZSAiaHlw ZXJfZG1hYnVmX3N0cnVjdC5oIgogI2luY2x1ZGUgImh5cGVyX2RtYWJ1Zl9pZC5oIgpAQCAtMzYs NTYgKzM3LDkxIEBAIGV4dGVybiBzdHJ1Y3QgaHlwZXJfZG1hYnVmX3ByaXZhdGUgaHlwZXJfZG1h YnVmX3ByaXZhdGU7CiAjZGVmaW5lIEhZUEVSX0RNQUJVRl9TSVpFKG5lbnRzLCBmaXJzdF9vZmZz ZXQsIGxhc3RfbGVuKSBcCiAJKChuZW50cykqUEFHRV9TSVpFIC0gKGZpcnN0X29mZnNldCkgLSBQ QUdFX1NJWkUgKyAobGFzdF9sZW4pKQogCi1pbnQgaHlwZXJfZG1hYnVmX3F1ZXJ5X2V4cG9ydGVk KHN0cnVjdCBoeXBlcl9kbWFidWZfc2d0X2luZm8gKnNndF9pbmZvLCBpbnQgcXVlcnkpCitpbnQg aHlwZXJfZG1hYnVmX3F1ZXJ5X2V4cG9ydGVkKHN0cnVjdCBoeXBlcl9kbWFidWZfc2d0X2luZm8g KnNndF9pbmZvLAorCQkJCWludCBxdWVyeSwgdW5zaWduZWQgbG9uZyogaW5mbykKIHsKKwlpbnQg bjsKKwogCXN3aXRjaCAocXVlcnkpCiAJewogCQljYXNlIEhZUEVSX0RNQUJVRl9RVUVSWV9UWVBF OgotCQkJcmV0dXJuIEVYUE9SVEVEOworCQkJKmluZm8gPSBFWFBPUlRFRDsKKwkJCWJyZWFrOwog CiAJCS8qIGV4cG9ydGluZyBkb21haW4gb2YgdGhpcyBzcGVjaWZpYyBkbWFidWYqLwogCQljYXNl IEhZUEVSX0RNQUJVRl9RVUVSWV9FWFBPUlRFUjoKLQkJCXJldHVybiBIWVBFUl9ETUFCVUZfRE9N X0lEKHNndF9pbmZvLT5oaWQpOworCQkJKmluZm8gPSBIWVBFUl9ETUFCVUZfRE9NX0lEKHNndF9p bmZvLT5oaWQpOworCQkJYnJlYWs7CiAKIAkJLyogaW1wb3J0aW5nIGRvbWFpbiBvZiB0aGlzIHNw ZWNpZmljIGRtYWJ1ZiAqLwogCQljYXNlIEhZUEVSX0RNQUJVRl9RVUVSWV9JTVBPUlRFUjoKLQkJ CXJldHVybiBzZ3RfaW5mby0+aHlwZXJfZG1hYnVmX3Jkb21haW47CisJCQkqaW5mbyA9IHNndF9p bmZvLT5oeXBlcl9kbWFidWZfcmRvbWFpbjsKKwkJCWJyZWFrOwogCiAJCS8qIHNpemUgb2YgZG1h YnVmIGluIGJ5dGUgKi8KIAkJY2FzZSBIWVBFUl9ETUFCVUZfUVVFUllfU0laRToKLQkJCXJldHVy biBzZ3RfaW5mby0+ZG1hX2J1Zi0+c2l6ZTsKKwkJCSppbmZvID0gc2d0X2luZm8tPmRtYV9idWYt PnNpemU7CisJCQlicmVhazsKIAogCQkvKiB3aGV0aGVyIHRoZSBidWZmZXIgaXMgdXNlZCBieSBp bXBvcnRlciAqLwogCQljYXNlIEhZUEVSX0RNQUJVRl9RVUVSWV9CVVNZOgotCQkJcmV0dXJuIChz Z3RfaW5mby0+aW1wb3J0ZXJfZXhwb3J0ZWQgPT0gMCkgPyBmYWxzZSA6IHRydWU7CisJCQkqaW5m byA9IChzZ3RfaW5mby0+aW1wb3J0ZXJfZXhwb3J0ZWQgPT0gMCkgPyBmYWxzZSA6IHRydWU7CisJ CQlicmVhazsKIAogCQkvKiB3aGV0aGVyIHRoZSBidWZmZXIgaXMgdW5leHBvcnRlZCAqLwogCQlj YXNlIEhZUEVSX0RNQUJVRl9RVUVSWV9VTkVYUE9SVEVEOgotCQkJcmV0dXJuICFzZ3RfaW5mby0+ dmFsaWQ7CisJCQkqaW5mbyA9ICFzZ3RfaW5mby0+dmFsaWQ7CisJCQlicmVhazsKIAogCQkvKiB3 aGV0aGVyIHRoZSBidWZmZXIgaXMgc2NoZWR1bGVkIHRvIGJlIHVuZXhwb3J0ZWQgKi8KIAkJY2Fz ZSBIWVBFUl9ETUFCVUZfUVVFUllfREVMQVlFRF9VTkVYUE9SVEVEOgotCQkJcmV0dXJuICFzZ3Rf aW5mby0+dW5leHBvcnRfc2NoZWR1bGVkOworCQkJKmluZm8gPSAhc2d0X2luZm8tPnVuZXhwb3J0 X3NjaGVkdWxlZDsKKwkJCWJyZWFrOworCisJCS8qIHNpemUgb2YgcHJpdmF0ZSBpbmZvIGF0dGFj aGVkIHRvIGJ1ZmZlciAqLworCQljYXNlIEhZUEVSX0RNQUJVRl9RVUVSWV9QUklWX0lORk9fU0la RToKKwkJCSppbmZvID0gc2d0X2luZm8tPnN6X3ByaXY7CisJCQlicmVhazsKKworCQkvKiBjb3B5 IHByaXZhdGUgaW5mbyBhdHRhY2hlZCB0byBidWZmZXIgKi8KKwkJY2FzZSBIWVBFUl9ETUFCVUZf UVVFUllfUFJJVl9JTkZPOgorCQkJaWYgKHNndF9pbmZvLT5zel9wcml2ID4gMCkgeworCQkJCW4g PSBjb3B5X3RvX3VzZXIoKHZvaWQgX191c2VyKikgKmluZm8sCisJCQkJCQlzZ3RfaW5mby0+cHJp diwKKwkJCQkJCXNndF9pbmZvLT5zel9wcml2KTsKKwkJCQlpZiAobiAhPSAwKQorCQkJCQlyZXR1 cm4gLUVJTlZBTDsKKwkJCX0KKwkJCWJyZWFrOworCisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gLUVJ TlZBTDsKIAl9CiAKLQlyZXR1cm4gLUVJTlZBTDsKKwlyZXR1cm4gMDsKIH0KIAogCi1pbnQgaHlw ZXJfZG1hYnVmX3F1ZXJ5X2ltcG9ydGVkKHN0cnVjdCBoeXBlcl9kbWFidWZfaW1wb3J0ZWRfc2d0 X2luZm8gKmltcG9ydGVkX3NndF9pbmZvLCBpbnQgcXVlcnkpCitpbnQgaHlwZXJfZG1hYnVmX3F1 ZXJ5X2ltcG9ydGVkKHN0cnVjdCBoeXBlcl9kbWFidWZfaW1wb3J0ZWRfc2d0X2luZm8gKmltcG9y dGVkX3NndF9pbmZvLAorCQkJCWludCBxdWVyeSwgdW5zaWduZWQgbG9uZyAqaW5mbykKIHsKKwlp bnQgbjsKKwogCXN3aXRjaCAocXVlcnkpCiAJewogCQljYXNlIEhZUEVSX0RNQUJVRl9RVUVSWV9U WVBFOgotCQkJcmV0dXJuIElNUE9SVEVEOworCQkJKmluZm8gPSBJTVBPUlRFRDsKKwkJCWJyZWFr OwogCiAJCS8qIGV4cG9ydGluZyBkb21haW4gb2YgdGhpcyBzcGVjaWZpYyBkbWFidWYqLwogCQlj YXNlIEhZUEVSX0RNQUJVRl9RVUVSWV9FWFBPUlRFUjoKLQkJCXJldHVybiBIWVBFUl9ETUFCVUZf RE9NX0lEKGltcG9ydGVkX3NndF9pbmZvLT5oaWQpOworCQkJKmluZm8gPSBIWVBFUl9ETUFCVUZf RE9NX0lEKGltcG9ydGVkX3NndF9pbmZvLT5oaWQpOworCQkJYnJlYWs7CiAKIAkJLyogaW1wb3J0 aW5nIGRvbWFpbiBvZiB0aGlzIHNwZWNpZmljIGRtYWJ1ZiAqLwogCQljYXNlIEhZUEVSX0RNQUJV Rl9RVUVSWV9JTVBPUlRFUjoKLQkJCXJldHVybiAgaHlwZXJfZG1hYnVmX3ByaXZhdGUuZG9taWQ7 CisJCQkqaW5mbyA9IGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRvbWlkOworCQkJYnJlYWs7CiAKIAkJ Lyogc2l6ZSBvZiBkbWFidWYgaW4gYnl0ZSAqLwogCQljYXNlIEhZUEVSX0RNQUJVRl9RVUVSWV9T SVpFOgpAQCAtOTMsMjMgKzEyOSw0NCBAQCBpbnQgaHlwZXJfZG1hYnVmX3F1ZXJ5X2ltcG9ydGVk KHN0cnVjdCBoeXBlcl9kbWFidWZfaW1wb3J0ZWRfc2d0X2luZm8gKmltcG9ydGVkXwogCQkJCS8q IGlmIGxvY2FsIGRtYV9idWYgaXMgY3JlYXRlZCAoaWYgaXQncyBldmVyIG1hcHBlZCksCiAJCQkJ ICogcmV0cmlldmUgaXQgZGlyZWN0bHkgZnJvbSBzdHJ1Y3QgZG1hX2J1ZiAqCiAJCQkJICovCi0J CQkJcmV0dXJuIGltcG9ydGVkX3NndF9pbmZvLT5kbWFfYnVmLT5zaXplOworCQkJCSppbmZvID0g aW1wb3J0ZWRfc2d0X2luZm8tPmRtYV9idWYtPnNpemU7CiAJCQl9IGVsc2UgewogCQkJCS8qIGNh bGN1YXRlIGl0IGZyb20gZ2l2ZW4gbmVudHMsIGZyc3Rfb2ZzdCBhbmQgbGFzdF9sZW4gKi8KLQkJ CQlyZXR1cm4gSFlQRVJfRE1BQlVGX1NJWkUoaW1wb3J0ZWRfc2d0X2luZm8tPm5lbnRzLAotCQkJ CQkJCSBpbXBvcnRlZF9zZ3RfaW5mby0+ZnJzdF9vZnN0LAotCQkJCQkJCSBpbXBvcnRlZF9zZ3Rf aW5mby0+bGFzdF9sZW4pOworCQkJCSppbmZvID0gSFlQRVJfRE1BQlVGX1NJWkUoaW1wb3J0ZWRf c2d0X2luZm8tPm5lbnRzLAorCQkJCQkJCSAgaW1wb3J0ZWRfc2d0X2luZm8tPmZyc3Rfb2ZzdCwK KwkJCQkJCQkgIGltcG9ydGVkX3NndF9pbmZvLT5sYXN0X2xlbik7CiAJCQl9CisJCQlicmVhazsK IAogCQkvKiB3aGV0aGVyIHRoZSBidWZmZXIgaXMgdXNlZCBvciBub3QgKi8KIAkJY2FzZSBIWVBF Ul9ETUFCVUZfUVVFUllfQlVTWToKIAkJCS8qIGNoZWNrcyBpZiBpdCdzIHVzZWQgYnkgaW1wb3J0 ZXIgKi8KLQkJCXJldHVybiAoaW1wb3J0ZWRfc2d0X2luZm8tPm51bV9pbXBvcnRlcnMgPiAwKSA/ IHRydWUgOiBmYWxzZTsKKwkJCSppbmZvID0gKGltcG9ydGVkX3NndF9pbmZvLT5udW1faW1wb3J0 ZXJzID4gMCkgPyB0cnVlIDogZmFsc2U7CisJCQlicmVhazsKIAogCQkvKiB3aGV0aGVyIHRoZSBi dWZmZXIgaXMgdW5leHBvcnRlZCAqLwogCQljYXNlIEhZUEVSX0RNQUJVRl9RVUVSWV9VTkVYUE9S VEVEOgotCQkJcmV0dXJuICFpbXBvcnRlZF9zZ3RfaW5mby0+dmFsaWQ7CisJCQkqaW5mbyA9ICFp bXBvcnRlZF9zZ3RfaW5mby0+dmFsaWQ7CisJCQlicmVhazsKKwkJLyogc2l6ZSBvZiBwcml2YXRl IGluZm8gYXR0YWNoZWQgdG8gYnVmZmVyICovCisJCWNhc2UgSFlQRVJfRE1BQlVGX1FVRVJZX1BS SVZfSU5GT19TSVpFOgorCQkJKmluZm8gPSBpbXBvcnRlZF9zZ3RfaW5mby0+c3pfcHJpdjsKKwkJ CWJyZWFrOworCisJCS8qIGNvcHkgcHJpdmF0ZSBpbmZvIGF0dGFjaGVkIHRvIGJ1ZmZlciAqLwor CQljYXNlIEhZUEVSX0RNQUJVRl9RVUVSWV9QUklWX0lORk86CisJCQlpZiAoaW1wb3J0ZWRfc2d0 X2luZm8tPnN6X3ByaXYgPiAwKSB7CisJCQkJbiA9IGNvcHlfdG9fdXNlcigodm9pZCBfX3VzZXIq KSAqaW5mbywKKwkJCQkJCWltcG9ydGVkX3NndF9pbmZvLT5wcml2LAorCQkJCQkJaW1wb3J0ZWRf c2d0X2luZm8tPnN6X3ByaXYpOworCQkJCWlmIChuICE9IDApCisJCQkJCXJldHVybiAtRUlOVkFM OworCQkJfQorCQkJYnJlYWs7CisKKwkJZGVmYXVsdDoKKwkJCXJldHVybiAtRUlOVkFMOwogCX0K IAotCXJldHVybiAtRUlOVkFMOworCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy94 ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9xdWVyeS5oIGIvZHJpdmVycy94ZW4vaHlwZXJf ZG1hYnVmL2h5cGVyX2RtYWJ1Zl9xdWVyeS5oCmluZGV4IDI5NWU5MjMuLjdiYmIzMjIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfcXVlcnkuaAorKysg Yi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX3F1ZXJ5LmgKQEAgLTEsOCAr MSwxMCBAQAogI2lmbmRlZiBfX0hZUEVSX0RNQUJVRl9RVUVSWV9IX18KICNkZWZpbmUgX19IWVBF Ul9ETUFCVUZfUVVFUllfSF9fCiAKLWludCBoeXBlcl9kbWFidWZfcXVlcnlfaW1wb3J0ZWQoc3Ry dWN0IGh5cGVyX2RtYWJ1Zl9pbXBvcnRlZF9zZ3RfaW5mbyAqaW1wb3J0ZWRfc2d0X2luZm8sIGlu dCBxdWVyeSk7CitpbnQgaHlwZXJfZG1hYnVmX3F1ZXJ5X2ltcG9ydGVkKHN0cnVjdCBoeXBlcl9k bWFidWZfaW1wb3J0ZWRfc2d0X2luZm8gKmltcG9ydGVkX3NndF9pbmZvLAorCQkJCWludCBxdWVy eSwgdW5zaWduZWQgbG9uZyAqaW5mbyk7CiAKLWludCBoeXBlcl9kbWFidWZfcXVlcnlfZXhwb3J0 ZWQoc3RydWN0IGh5cGVyX2RtYWJ1Zl9zZ3RfaW5mbyAqc2d0X2luZm8sIGludCBxdWVyeSk7Citp bnQgaHlwZXJfZG1hYnVmX3F1ZXJ5X2V4cG9ydGVkKHN0cnVjdCBoeXBlcl9kbWFidWZfc2d0X2lu Zm8gKnNndF9pbmZvLAorCQkJCWludCBxdWVyeSwgdW5zaWduZWQgbG9uZyAqaW5mbyk7CiAKICNl bmRpZiAvLyBfX0hZUEVSX0RNQUJVRl9RVUVSWV9IX18KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFw aS94ZW4vaHlwZXJfZG1hYnVmLmggYi9pbmNsdWRlL3VhcGkveGVuL2h5cGVyX2RtYWJ1Zi5oCmlu ZGV4IGRmMDFiMTcuLmUxOGRkOWIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS94ZW4vaHlwZXJf ZG1hYnVmLmgKKysrIGIvaW5jbHVkZS91YXBpL3hlbi9oeXBlcl9kbWFidWYuaApAQCAtMTA5LDcg KzEwOSw3IEBAIHN0cnVjdCBpb2N0bF9oeXBlcl9kbWFidWZfcXVlcnkgewogCWludCBpdGVtOwog CS8qIE9VVCBwYXJhbWV0ZXJzICovCiAJLyogVmFsdWUgb2YgcXVlcmllZCBpdGVtICovCi0JaW50 IGluZm87CisJdW5zaWduZWQgbG9uZyBpbmZvOwogfTsKIAogLyogRE1BQlVGIHF1ZXJ5ICovCkBA IC0xMjIsNiArMTIyLDggQEAgZW51bSBoeXBlcl9kbWFidWZfcXVlcnkgewogICAgICAgICBIWVBF Ul9ETUFCVUZfUVVFUllfQlVTWSwKICAgICAgICAgSFlQRVJfRE1BQlVGX1FVRVJZX1VORVhQT1JU RUQsCiAgICAgICAgIEhZUEVSX0RNQUJVRl9RVUVSWV9ERUxBWUVEX1VORVhQT1JURUQsCisgICAg ICAgIEhZUEVSX0RNQUJVRl9RVUVSWV9QUklWX0lORk9fU0laRSwKKyAgICAgICAgSFlQRVJfRE1B QlVGX1FVRVJZX1BSSVZfSU5GTywKIH07CiAKIGVudW0gaHlwZXJfZG1hYnVmX3N0YXR1cyB7Ci0t IAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=