From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongwon Kim Subject: [RFC PATCH 03/60] hyper_dmabuf: re-use dma_buf previously exported if exist Date: Tue, 19 Dec 2017 11:29:19 -0800 Message-ID: <1513711816-2618-3-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: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id CEDF96E329 for ; Tue, 19 Dec 2017 19:36:26 +0000 (UTC) In-Reply-To: <1513711816-2618-1-git-send-email-dongwon.kim@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-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 Tm93IHdlIHJlLXVzZSBkbWFfYnVmIGluc3RlYWQgb2YgZXhwb3J0aW5nIGl0IHZpYSBub3JtYWwg cHJvY2VzcwooaW5jbHVkaW5nIG5ldyBtYXBwaW5ncykuIEZvciB0aGlzLCBoeXBlcl9kbWFidWYg bGlzdCBlbnRyaWVzIGNhbgpiZSBzZWFyY2hlZCB3aXRoICJzdHJ1Y3QgZG1hX2J1ZioiLiBBbHNv LCBpb2N0bCAoZXhwb3J0X3JlbW90ZSkgaXMKbW9kaWZpZWQgdG8ganVzdCByZXR1cm4gaHlwZXJf ZG1hYnVmX2lkIGlmIHRoZSBzcGVjaWZpYyBkbWFidWYKaGFzIGFscmVhZHkgYmVlbiBleHBvcnRl ZCB0byB0aGUgdGFyZ2V0IGRvbWFpbi4KClRoaXMgcGF0Y2ggYWxzbyBJbmNsdWRlcyBjaGFuZ2Vz IGluIHByaW50ayBjYWxsZXMgZm9yIGRlYnVnZ2luZy4KClNpZ25lZC1vZmYtYnk6IERvbmd3b24g S2ltIDxkb25nd29uLmtpbUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVm L2h5cGVyX2RtYWJ1Zl9pbXAuYyAgIHwgMjggKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiBk cml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2lvY3RsLmMgfCAxNyArKysrKysr Ky0tLS0tLS0tCiBkcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2xpc3QuYyAg fCAgNCArKy0tCiBkcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2xpc3QuaCAg fCAgMiArLQogNCBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2lt cC5jIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9pbXAuYwppbmRleCBm YWE1YzFiLi43Y2I1YzM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlw ZXJfZG1hYnVmX2ltcC5jCisrKyBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFi dWZfaW1wLmMKQEAgLTUzMiw3ICs1MzIsNyBAQCBzdGF0aWMgaW50IGh5cGVyX2RtYWJ1Zl9vcHNf YXR0YWNoKHN0cnVjdCBkbWFfYnVmKiBkbWFidWYsIHN0cnVjdCBkZXZpY2UqIGRldiwKIAkJCQkJ CUhZUEVSX0RNQUJVRl9PUFNfQVRUQUNIKTsKIAogCWlmIChyZXQgPCAwKSB7Ci0JCXByaW50aygi c2VuZCBkbWFidWYgc3luYyByZXF1ZXN0IGZhaWxlZFxuIik7CisJCXByaW50aygiaHlwZXJfZG1h YnVmOjolcyBFcnJvcjpzZW5kIGRtYWJ1ZiBzeW5jIHJlcXVlc3QgZmFpbGVkXG4iLCBfX2Z1bmNf Xyk7CiAJfQogCiAJcmV0dXJuIHJldDsKQEAgLTU1Miw3ICs1NTIsNyBAQCBzdGF0aWMgdm9pZCBo eXBlcl9kbWFidWZfb3BzX2RldGFjaChzdHJ1Y3QgZG1hX2J1ZiogZG1hYnVmLCBzdHJ1Y3QgZG1h X2J1Zl9hdHRhYwogCQkJCQkJSFlQRVJfRE1BQlVGX09QU19ERVRBQ0gpOwogCiAJaWYgKHJldCA8 IDApIHsKLQkJcHJpbnRrKCJzZW5kIGRtYWJ1ZiBzeW5jIHJlcXVlc3QgZmFpbGVkXG4iKTsKKwkJ cHJpbnRrKCJoeXBlcl9kbWFidWY6OiVzIEVycm9yOnNlbmQgZG1hYnVmIHN5bmMgcmVxdWVzdCBm YWlsZWRcbiIsIF9fZnVuY19fKTsKIAl9CiB9CiAKQEAgLTU4Niw3ICs1ODYsNyBAQCBzdGF0aWMg c3RydWN0IHNnX3RhYmxlKiBoeXBlcl9kbWFidWZfb3BzX21hcChzdHJ1Y3QgZG1hX2J1Zl9hdHRh Y2htZW50ICphdHRhY2htZQogCQkJCQkJSFlQRVJfRE1BQlVGX09QU19NQVApOwogCiAJaWYgKHJl dCA8IDApIHsKLQkJcHJpbnRrKCJzZW5kIGRtYWJ1ZiBzeW5jIHJlcXVlc3QgZmFpbGVkXG4iKTsK KwkJcHJpbnRrKCJoeXBlcl9kbWFidWY6OiVzIEVycm9yOnNlbmQgZG1hYnVmIHN5bmMgcmVxdWVz dCBmYWlsZWRcbiIsIF9fZnVuY19fKTsKIAl9CiAKIAlyZXR1cm4gc3Q7CkBAIC02MTgsNyArNjE4 LDcgQEAgc3RhdGljIHZvaWQgaHlwZXJfZG1hYnVmX29wc191bm1hcChzdHJ1Y3QgZG1hX2J1Zl9h dHRhY2htZW50ICphdHRhY2htZW50LAogCQkJCQkJSFlQRVJfRE1BQlVGX09QU19VTk1BUCk7CiAK IAlpZiAocmV0IDwgMCkgewotCQlwcmludGsoInNlbmQgZG1hYnVmIHN5bmMgcmVxdWVzdCBmYWls ZWRcbiIpOworCQlwcmludGsoImh5cGVyX2RtYWJ1Zjo6JXMgRXJyb3I6c2VuZCBkbWFidWYgc3lu YyByZXF1ZXN0IGZhaWxlZFxuIiwgX19mdW5jX18pOwogCX0KIH0KIApAQCAtNjM2LDcgKzYzNiw3 IEBAIHN0YXRpYyB2b2lkIGh5cGVyX2RtYWJ1Zl9vcHNfcmVsZWFzZShzdHJ1Y3QgZG1hX2J1ZiAq ZG1hYnVmKQogCQkJCQkJSFlQRVJfRE1BQlVGX09QU19SRUxFQVNFKTsKIAogCWlmIChyZXQgPCAw KSB7Ci0JCXByaW50aygic2VuZCBkbWFidWYgc3luYyByZXF1ZXN0IGZhaWxlZFxuIik7CisJCXBy aW50aygiaHlwZXJfZG1hYnVmOjolcyBFcnJvcjpzZW5kIGRtYWJ1ZiBzeW5jIHJlcXVlc3QgZmFp bGVkXG4iLCBfX2Z1bmNfXyk7CiAJfQogfQogCkBAIC02NTMsNyArNjUzLDcgQEAgc3RhdGljIGlu dCBoeXBlcl9kbWFidWZfb3BzX2JlZ2luX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYgKmRtYWJ1 ZiwgZW51bSBkbWFfZGEKIAlyZXQgPSBoeXBlcl9kbWFidWZfc3luY19yZXF1ZXN0X2FuZF93YWl0 KEhZUEVSX0RNQUJVRl9JRF9JTVBPUlRFUl9HRVRfU0RPTUFJTl9JRChzZ3RfaW5mby0+aHlwZXJf ZG1hYnVmX2lkKSwKIAkJCQkJCUhZUEVSX0RNQUJVRl9PUFNfQkVHSU5fQ1BVX0FDQ0VTUyk7CiAJ aWYgKHJldCA8IDApIHsKLQkJcHJpbnRrKCJzZW5kIGRtYWJ1ZiBzeW5jIHJlcXVlc3QgZmFpbGVk XG4iKTsKKwkJcHJpbnRrKCJoeXBlcl9kbWFidWY6OiVzIEVycm9yOnNlbmQgZG1hYnVmIHN5bmMg cmVxdWVzdCBmYWlsZWRcbiIsIF9fZnVuY19fKTsKIAl9CiAKIAlyZXR1cm4gcmV0OwpAQCAtNjcy LDcgKzY3Miw3IEBAIHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX29wc19lbmRfY3B1X2FjY2Vzcyhz dHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLCBlbnVtIGRtYV9kYXRhCiAJcmV0ID0gaHlwZXJfZG1hYnVm X3N5bmNfcmVxdWVzdF9hbmRfd2FpdChIWVBFUl9ETUFCVUZfSURfSU1QT1JURVJfR0VUX1NET01B SU5fSUQoc2d0X2luZm8tPmh5cGVyX2RtYWJ1Zl9pZCksCiAJCQkJCQlIWVBFUl9ETUFCVUZfT1BT X0VORF9DUFVfQUNDRVNTKTsKIAlpZiAocmV0IDwgMCkgewotCQlwcmludGsoInNlbmQgZG1hYnVm IHN5bmMgcmVxdWVzdCBmYWlsZWRcbiIpOworCQlwcmludGsoImh5cGVyX2RtYWJ1Zjo6JXMgRXJy b3I6c2VuZCBkbWFidWYgc3luYyByZXF1ZXN0IGZhaWxlZFxuIiwgX19mdW5jX18pOwogCX0KIAog CXJldHVybiAwOwpAQCAtNjkxLDcgKzY5MSw3IEBAIHN0YXRpYyB2b2lkICpoeXBlcl9kbWFidWZf b3BzX2ttYXBfYXRvbWljKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsIHVuc2lnbmVkIGxvbmcKIAly ZXQgPSBoeXBlcl9kbWFidWZfc3luY19yZXF1ZXN0X2FuZF93YWl0KEhZUEVSX0RNQUJVRl9JRF9J TVBPUlRFUl9HRVRfU0RPTUFJTl9JRChzZ3RfaW5mby0+aHlwZXJfZG1hYnVmX2lkKSwKIAkJCQkJ CUhZUEVSX0RNQUJVRl9PUFNfS01BUF9BVE9NSUMpOwogCWlmIChyZXQgPCAwKSB7Ci0JCXByaW50 aygic2VuZCBkbWFidWYgc3luYyByZXF1ZXN0IGZhaWxlZFxuIik7CisJCXByaW50aygiaHlwZXJf ZG1hYnVmOjolcyBFcnJvcjpzZW5kIGRtYWJ1ZiBzeW5jIHJlcXVlc3QgZmFpbGVkXG4iLCBfX2Z1 bmNfXyk7CiAJfQogCiAJcmV0dXJuIE5VTEw7IC8qIGZvciBub3cgTlVMTC4uIG5lZWQgdG8gcmV0 dXJuIHRoZSBhZGRyZXNzIG9mIG1hcHBlZCByZWdpb24gKi8KQEAgLTcxMCw3ICs3MTAsNyBAQCBz dGF0aWMgdm9pZCBoeXBlcl9kbWFidWZfb3BzX2t1bm1hcF9hdG9taWMoc3RydWN0IGRtYV9idWYg KmRtYWJ1ZiwgdW5zaWduZWQgbG9uZwogCXJldCA9IGh5cGVyX2RtYWJ1Zl9zeW5jX3JlcXVlc3Rf YW5kX3dhaXQoSFlQRVJfRE1BQlVGX0lEX0lNUE9SVEVSX0dFVF9TRE9NQUlOX0lEKHNndF9pbmZv LT5oeXBlcl9kbWFidWZfaWQpLAogCQkJCQkJSFlQRVJfRE1BQlVGX09QU19LVU5NQVBfQVRPTUlD KTsKIAlpZiAocmV0IDwgMCkgewotCQlwcmludGsoInNlbmQgZG1hYnVmIHN5bmMgcmVxdWVzdCBm YWlsZWRcbiIpOworCQlwcmludGsoImh5cGVyX2RtYWJ1Zjo6JXMgRXJyb3I6c2VuZCBkbWFidWYg c3luYyByZXF1ZXN0IGZhaWxlZFxuIiwgX19mdW5jX18pOwogCX0KIH0KIApAQCAtNzI3LDcgKzcy Nyw3IEBAIHN0YXRpYyB2b2lkICpoeXBlcl9kbWFidWZfb3BzX2ttYXAoc3RydWN0IGRtYV9idWYg KmRtYWJ1ZiwgdW5zaWduZWQgbG9uZyBwZ251bSkKIAlyZXQgPSBoeXBlcl9kbWFidWZfc3luY19y ZXF1ZXN0X2FuZF93YWl0KEhZUEVSX0RNQUJVRl9JRF9JTVBPUlRFUl9HRVRfU0RPTUFJTl9JRChz Z3RfaW5mby0+aHlwZXJfZG1hYnVmX2lkKSwKIAkJCQkJCUhZUEVSX0RNQUJVRl9PUFNfS01BUCk7 CiAJaWYgKHJldCA8IDApIHsKLQkJcHJpbnRrKCJzZW5kIGRtYWJ1ZiBzeW5jIHJlcXVlc3QgZmFp bGVkXG4iKTsKKwkJcHJpbnRrKCJoeXBlcl9kbWFidWY6OiVzIEVycm9yOnNlbmQgZG1hYnVmIHN5 bmMgcmVxdWVzdCBmYWlsZWRcbiIsIF9fZnVuY19fKTsKIAl9CiAKIAlyZXR1cm4gTlVMTDsgLyog Zm9yIG5vdyBOVUxMLi4gbmVlZCB0byByZXR1cm4gdGhlIGFkZHJlc3Mgb2YgbWFwcGVkIHJlZ2lv biAqLwpAQCAtNzQ2LDcgKzc0Niw3IEBAIHN0YXRpYyB2b2lkIGh5cGVyX2RtYWJ1Zl9vcHNfa3Vu bWFwKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsIHVuc2lnbmVkIGxvbmcgcGdudW0sCiAJcmV0ID0g aHlwZXJfZG1hYnVmX3N5bmNfcmVxdWVzdF9hbmRfd2FpdChIWVBFUl9ETUFCVUZfSURfSU1QT1JU RVJfR0VUX1NET01BSU5fSUQoc2d0X2luZm8tPmh5cGVyX2RtYWJ1Zl9pZCksCiAJCQkJCQlIWVBF Ul9ETUFCVUZfT1BTX0tVTk1BUCk7CiAJaWYgKHJldCA8IDApIHsKLQkJcHJpbnRrKCJzZW5kIGRt YWJ1ZiBzeW5jIHJlcXVlc3QgZmFpbGVkXG4iKTsKKwkJcHJpbnRrKCJoeXBlcl9kbWFidWY6OiVz IEVycm9yOnNlbmQgZG1hYnVmIHN5bmMgcmVxdWVzdCBmYWlsZWRcbiIsIF9fZnVuY19fKTsKIAl9 CiB9CiAKQEAgLTc2Myw3ICs3NjMsNyBAQCBzdGF0aWMgaW50IGh5cGVyX2RtYWJ1Zl9vcHNfbW1h cChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKgogCXJldCA9 IGh5cGVyX2RtYWJ1Zl9zeW5jX3JlcXVlc3RfYW5kX3dhaXQoSFlQRVJfRE1BQlVGX0lEX0lNUE9S VEVSX0dFVF9TRE9NQUlOX0lEKHNndF9pbmZvLT5oeXBlcl9kbWFidWZfaWQpLAogCQkJCQkJSFlQ RVJfRE1BQlVGX09QU19NTUFQKTsKIAlpZiAocmV0IDwgMCkgewotCQlwcmludGsoInNlbmQgZG1h YnVmIHN5bmMgcmVxdWVzdCBmYWlsZWRcbiIpOworCQlwcmludGsoImh5cGVyX2RtYWJ1Zjo6JXMg RXJyb3I6c2VuZCBkbWFidWYgc3luYyByZXF1ZXN0IGZhaWxlZFxuIiwgX19mdW5jX18pOwogCX0K IAogCXJldHVybiByZXQ7CkBAIC03ODIsNyArNzgyLDcgQEAgc3RhdGljIHZvaWQgKmh5cGVyX2Rt YWJ1Zl9vcHNfdm1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmKQogCXJldCA9IGh5cGVyX2RtYWJ1 Zl9zeW5jX3JlcXVlc3RfYW5kX3dhaXQoSFlQRVJfRE1BQlVGX0lEX0lNUE9SVEVSX0dFVF9TRE9N QUlOX0lEKHNndF9pbmZvLT5oeXBlcl9kbWFidWZfaWQpLAogCQkJCQkJSFlQRVJfRE1BQlVGX09Q U19WTUFQKTsKIAlpZiAocmV0IDwgMCkgewotCQlwcmludGsoInNlbmQgZG1hYnVmIHN5bmMgcmVx dWVzdCBmYWlsZWRcbiIpOworCQlwcmludGsoImh5cGVyX2RtYWJ1Zjo6JXMgRXJyb3I6c2VuZCBk bWFidWYgc3luYyByZXF1ZXN0IGZhaWxlZFxuIiwgX19mdW5jX18pOwogCX0KIAogCXJldHVybiBO VUxMOwpAQCAtODAxLDcgKzgwMSw3IEBAIHN0YXRpYyB2b2lkIGh5cGVyX2RtYWJ1Zl9vcHNfdnVu bWFwKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsIHZvaWQgKnZhZGRyKQogCXJldCA9IGh5cGVyX2Rt YWJ1Zl9zeW5jX3JlcXVlc3RfYW5kX3dhaXQoSFlQRVJfRE1BQlVGX0lEX0lNUE9SVEVSX0dFVF9T RE9NQUlOX0lEKHNndF9pbmZvLT5oeXBlcl9kbWFidWZfaWQpLAogCQkJCQkJSFlQRVJfRE1BQlVG X09QU19WVU5NQVApOwogCWlmIChyZXQgPCAwKSB7Ci0JCXByaW50aygic2VuZCBkbWFidWYgc3lu YyByZXF1ZXN0IGZhaWxlZFxuIik7CisJCXByaW50aygiaHlwZXJfZG1hYnVmOjolcyBFcnJvcjpz ZW5kIGRtYWJ1ZiBzeW5jIHJlcXVlc3QgZmFpbGVkXG4iLCBfX2Z1bmNfXyk7CiAJfQogfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2lvY3RsLmMg Yi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2lvY3RsLmMKaW5kZXggNWU1 MDkwOC4uNjY1Y2FkYSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVy X2RtYWJ1Zl9pb2N0bC5jCisrKyBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFi dWZfaW9jdGwuYwpAQCAtODYsMjcgKzg2LDI4IEBAIHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX2V4 cG9ydF9yZW1vdGUodm9pZCAqZGF0YSkKIAlleHBvcnRfcmVtb3RlX2F0dHIgPSAoc3RydWN0IGlv Y3RsX2h5cGVyX2RtYWJ1Zl9leHBvcnRfcmVtb3RlICopZGF0YTsKIAogCWRtYV9idWYgPSBkbWFf YnVmX2dldChleHBvcnRfcmVtb3RlX2F0dHItPmRtYWJ1Zl9mZCk7CisKIAlpZiAoIWRtYV9idWYp IHsKIAkJcHJpbnRrKCJDYW5ub3QgZ2V0IGRtYSBidWZcbiIpOwogCQlyZXR1cm4gLTE7CiAJfQog Ci0JYXR0YWNobWVudCA9IGRtYV9idWZfYXR0YWNoKGRtYV9idWYsIGh5cGVyX2RtYWJ1Zl9wcml2 YXRlLmRldmljZSk7Ci0JaWYgKCFhdHRhY2htZW50KSB7Ci0JCXByaW50aygiQ2Fubm90IGdldCBh dHRhY2htZW50XG4iKTsKLQkJcmV0dXJuIC0xOwotCX0KLQogCS8qIHdlIGNoZWNrIGlmIHRoaXMg c3BlY2lmaWMgYXR0YWNobWVudCB3YXMgYWxyZWFkeSBleHBvcnRlZAogCSAqIHRvIHRoZSBzYW1l IGRvbWFpbiBhbmQgaWYgeWVzLCBpdCByZXR1cm5zIGh5cGVyX2RtYWJ1Zl9pZAogCSAqIG9mIHBy ZS1leHBvcnRlZCBzZ3QgKi8KLQlyZXQgPSBoeXBlcl9kbWFidWZfZmluZF9pZChhdHRhY2htZW50 LCBleHBvcnRfcmVtb3RlX2F0dHItPnJlbW90ZV9kb21haW4pOworCXJldCA9IGh5cGVyX2RtYWJ1 Zl9maW5kX2lkKGRtYV9idWYsIGV4cG9ydF9yZW1vdGVfYXR0ci0+cmVtb3RlX2RvbWFpbik7CiAJ aWYgKHJldCAhPSAtMSkgewotCQlkbWFfYnVmX2RldGFjaChkbWFfYnVmLCBhdHRhY2htZW50KTsK IAkJZG1hX2J1Zl9wdXQoZG1hX2J1Zik7CiAJCWV4cG9ydF9yZW1vdGVfYXR0ci0+aHlwZXJfZG1h YnVmX2lkID0gcmV0OwogCQlyZXR1cm4gMDsKIAl9CisKKwlhdHRhY2htZW50ID0gZG1hX2J1Zl9h dHRhY2goZG1hX2J1ZiwgaHlwZXJfZG1hYnVmX3ByaXZhdGUuZGV2aWNlKTsKKwlpZiAoIWF0dGFj aG1lbnQpIHsKKwkJcHJpbnRrKCJDYW5ub3QgZ2V0IGF0dGFjaG1lbnRcbiIpOworCQlyZXR1cm4g LTE7CisJfQorCiAJLyogQ2xlYXIgcmV0LCBhcyB0aGF0IHdpbGwgY2F1c2Ugd2hvbGUgaW9jdGwg dG8gcmV0dXJuIGZhaWx1cmUgdG8gdXNlcnNwYWNlLCB3aGljaCBpcyBub3QgdHJ1ZSAqLwogCXJl dCA9IDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFi dWZfbGlzdC5jIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9saXN0LmMK aW5kZXggNzdhN2U2NS4uYWQyMTA5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vaHlwZXJfZG1h YnVmL2h5cGVyX2RtYWJ1Zl9saXN0LmMKKysrIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5 cGVyX2RtYWJ1Zl9saXN0LmMKQEAgLTY1LDEzICs2NSwxMyBAQCBzdHJ1Y3QgaHlwZXJfZG1hYnVm X3NndF9pbmZvICpoeXBlcl9kbWFidWZfZmluZF9leHBvcnRlZChpbnQgaWQpCiB9CiAKIC8qIHNl YXJjaCBmb3IgcHJlLWV4cG9ydGVkIHNndCBhbmQgcmV0dXJuIGlkIG9mIGl0IGlmIGl0IGV4aXN0 ICovCi1pbnQgaHlwZXJfZG1hYnVmX2ZpbmRfaWQoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAq YXR0YWNoLCBpbnQgZG9taWQpCitpbnQgaHlwZXJfZG1hYnVmX2ZpbmRfaWQoc3RydWN0IGRtYV9i dWYgKmRtYWJ1ZiwgaW50IGRvbWlkKQogewogCXN0cnVjdCBoeXBlcl9kbWFidWZfaW5mb19lbnRy eV9leHBvcnRlZCAqaW5mb19lbnRyeTsKIAlpbnQgYmt0OwogCiAJaGFzaF9mb3JfZWFjaChoeXBl cl9kbWFidWZfaGFzaF9leHBvcnRlZCwgYmt0LCBpbmZvX2VudHJ5LCBub2RlKQotCQlpZihpbmZv X2VudHJ5LT5pbmZvLT5hdHRhY2htZW50ID09IGF0dGFjaCAmJgorCQlpZihpbmZvX2VudHJ5LT5p bmZvLT5hdHRhY2htZW50LT5kbWFidWYgPT0gZG1hYnVmICYmCiAJCQlpbmZvX2VudHJ5LT5pbmZv LT5oeXBlcl9kbWFidWZfcmRvbWFpbiA9PSBkb21pZCkKIAkJCXJldHVybiBpbmZvX2VudHJ5LT5p bmZvLT5oeXBlcl9kbWFidWZfaWQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2h5cGVyX2Rt YWJ1Zi9oeXBlcl9kbWFidWZfbGlzdC5oIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVy X2RtYWJ1Zl9saXN0LmgKaW5kZXggODY5Y2Q5YS4uNDYzYTZkYSAxMDA2NDQKLS0tIGEvZHJpdmVy cy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9saXN0LmgKKysrIGIvZHJpdmVycy94ZW4v aHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9saXN0LmgKQEAgLTI1LDcgKzI1LDcgQEAgaW50IGh5 cGVyX2RtYWJ1Zl90YWJsZV9kZXN0cm95KHZvaWQpOwogaW50IGh5cGVyX2RtYWJ1Zl9yZWdpc3Rl cl9leHBvcnRlZChzdHJ1Y3QgaHlwZXJfZG1hYnVmX3NndF9pbmZvICppbmZvKTsKIAogLyogc2Vh cmNoIGZvciBwcmUtZXhwb3J0ZWQgc2d0IGFuZCByZXR1cm4gaWQgb2YgaXQgaWYgaXQgZXhpc3Qg Ki8KLWludCBoeXBlcl9kbWFidWZfZmluZF9pZChzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICph dHRhY2gsIGludCBkb21pZCk7CitpbnQgaHlwZXJfZG1hYnVmX2ZpbmRfaWQoc3RydWN0IGRtYV9i dWYgKmRtYWJ1ZiwgaW50IGRvbWlkKTsKIAogaW50IGh5cGVyX2RtYWJ1Zl9yZWdpc3Rlcl9pbXBv cnRlZChzdHJ1Y3QgaHlwZXJfZG1hYnVmX2ltcG9ydGVkX3NndF9pbmZvKiBpbmZvKTsKIAotLSAK Mi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=