From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongwon Kim Subject: [RFC PATCH 29/60] hyper_dmabuf: make sure to release allocated buffers when exiting Date: Tue, 19 Dec 2017 11:29:45 -0800 Message-ID: <1513711816-2618-29-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 RnJvbTogTWF0ZXVzeiBQb2xyb2xhIDxtYXRldXN6eC5wb3Ryb2xhQGludGVsLmNvbT4KCkl0IGlz IHJlcXVpcmVkIHRvIHJlbGVhc2UgYWxsIGFsbG9jYXRlZCBidWZmZXJzIHdoZW4gdGhlIGFwcGxp Y2F0aW9uCmNyYXNoZXMuIFdpdGggdGhlIGNoYW5nZSwgaHlwZXJfZG1hYnVmX3NndF9pbmZvIGlu Y2x1ZGVzIGZpbGUgcG9pbnRlcnMKZm9yIHRoZSBkcml2ZXIuIElmIGl0J3MgcmVsZWFzZWQgdW5l eHBlY3RlZGx5LCB0aGUgZHJpdmVyIGlzIG5vdwp1bmV4cG9ydGluZyBhbGwgYWxyZWFkeS1leHBv cnRlZCBidWZmZXJzIHRvIHByZXZlbnQgbWVtb3J5IGxlYWsuCgpJbiBjYXNlIHRoZXJlIGFyZSBt dWx0aXBsZSBhcHBsaWNhdGlvbnMgZXhwb3J0aW5nIHNhbWUgYnVmZmVyIHRvCmFub3RoZXIgVk0s IHVuZXhwb3J0aW5nIGlzIG5vdCBzdGFydGVkIHdoZW4gb25lIG9mIHRob3NlIGNyYXNoZXMuCkFj dHVhbCB1bmV4cG9ydGluZyBpcyBpbnZva2VkIG9ubHkgaWYgdGhlIGxhc3QgYXBwbGljYXRpb24g dGhhdApleHBvcnRlZCB0aGUgYnVmZmVyIGlzIGNyYXNoZWQgb3IgZmluaXNoZWQgdmlhICJlbWVy Z2VuY3ktdW5leHBvcnQiCnJvdXRpbmUsIHRoYXQgaXMgZXhlY3V0ZWQgYXV0b21hdGljYWxseSB3 aGVuIGFsbCBvZiBmaWxlIHBvaW50ZXJzCm9wZW5lZCBmb3IgYWNjZXNzaW5nIGh5cGVyX2RtYWJ1 ZiBkcml2ZXIgYXJlIGNsb3NlZC4KClNpZ25lZC1vZmYtYnk6IERvbmd3b24gS2ltIDxkb25nd29u LmtpbUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1 Zl9kcnYuYyAgICB8ICA2ICsrLQogZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1 Zl9pb2N0bC5jICB8IDczICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL3hlbi9o eXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2lvY3RsLmggIHwgIDIgKy0KIGRyaXZlcnMveGVuL2h5 cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfbGlzdC5jICAgfCAxNCArKysrKwogZHJpdmVycy94ZW4v aHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9saXN0LmggICB8ICA0ICsrCiBkcml2ZXJzL3hlbi9o eXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX3N0cnVjdC5oIHwgIDcgKysrCiA2IGZpbGVzIGNoYW5n ZWQsIDgxIGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfZHJ2LmMgYi9kcml2ZXJzL3hlbi9oeXBl cl9kbWFidWYvaHlwZXJfZG1hYnVmX2Rydi5jCmluZGV4IDQ0YTkxMzkuLmExMmQ0ZGMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfZHJ2LmMKKysrIGIv ZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9kcnYuYwpAQCAtNTQsNyArNTQs NyBAQCBzdGF0aWMgaW50IF9faW5pdCBoeXBlcl9kbWFidWZfZHJ2X2luaXQodm9pZCkKIHsKIAlp bnQgcmV0ID0gMDsKIAotCXByaW50ayggS0VSTl9OT1RJQ0UgImh5cGVyX2RtYWJ1Zl9zdGFydGlu ZzogSW5pdGlhbGl6YXRpb24gc3RhcnRlZCIgKTsKKwlwcmludGsoIEtFUk5fTk9USUNFICJoeXBl cl9kbWFidWZfc3RhcnRpbmc6IEluaXRpYWxpemF0aW9uIHN0YXJ0ZWRcbiIpOwogCiAJbXV0ZXhf aW5pdCgmaHlwZXJfZG1hYnVmX3ByaXZhdGUubG9jayk7CiAKQEAgLTEyMiw3ICsxMjIsOSBAQCBz dGF0aWMgdm9pZCBoeXBlcl9kbWFidWZfZHJ2X2V4aXQodm9pZCkKIAlpZiAoaHlwZXJfZG1hYnVm X3ByaXZhdGUuaWRfcXVldWUpCiAJCWRlc3Ryb3lfcmV1c2FibGVfbGlzdCgpOwogCi0JcHJpbnRr KCBLRVJOX05PVElDRSAiZG1hX2J1Zi1zcmNfc2luayBtb2RlbDogRXhpdGluZyIgKTsKKwlkZXZf aW5mbyhoeXBlcl9kbWFidWZfcHJpdmF0ZS5kZXZpY2UsCisJCSAiaHlwZXJfZG1hYnVmIGRyaXZl cjogRXhpdGluZ1xuIik7CisKIAl1bnJlZ2lzdGVyX2RldmljZSgpOwogfQogLyo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9o eXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2lvY3RsLmMgYi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFi dWYvaHlwZXJfZG1hYnVmX2lvY3RsLmMKaW5kZXggNThiMTE1YS4uZmE3MDBmMiAxMDA2NDQKLS0t IGEvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9pb2N0bC5jCisrKyBiL2Ry aXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfaW9jdGwuYwpAQCAtNDcsNyArNDcs NyBAQAogCiBleHRlcm4gc3RydWN0IGh5cGVyX2RtYWJ1Zl9wcml2YXRlIGh5cGVyX2RtYWJ1Zl9w cml2YXRlOwogCi1zdGF0aWMgaW50IGh5cGVyX2RtYWJ1Zl90eF9jaF9zZXR1cCh2b2lkICpkYXRh KQorc3RhdGljIGludCBoeXBlcl9kbWFidWZfdHhfY2hfc2V0dXAoc3RydWN0IGZpbGUgKmZpbHAs IHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IGlvY3RsX2h5cGVyX2RtYWJ1Zl90eF9jaF9zZXR1cCAq dHhfY2hfYXR0cjsKIAlzdHJ1Y3QgaHlwZXJfZG1hYnVmX2JhY2tlbmRfb3BzICpvcHMgPSBoeXBl cl9kbWFidWZfcHJpdmF0ZS5iYWNrZW5kX29wczsKQEAgLTY0LDcgKzY0LDcgQEAgc3RhdGljIGlu dCBoeXBlcl9kbWFidWZfdHhfY2hfc2V0dXAodm9pZCAqZGF0YSkKIAlyZXR1cm4gcmV0OwogfQog Ci1zdGF0aWMgaW50IGh5cGVyX2RtYWJ1Zl9yeF9jaF9zZXR1cCh2b2lkICpkYXRhKQorc3RhdGlj IGludCBoeXBlcl9kbWFidWZfcnhfY2hfc2V0dXAoc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgKmRh dGEpCiB7CiAJc3RydWN0IGlvY3RsX2h5cGVyX2RtYWJ1Zl9yeF9jaF9zZXR1cCAqcnhfY2hfYXR0 cjsKIAlzdHJ1Y3QgaHlwZXJfZG1hYnVmX2JhY2tlbmRfb3BzICpvcHMgPSBoeXBlcl9kbWFidWZf cHJpdmF0ZS5iYWNrZW5kX29wczsKQEAgLTgyLDcgKzgyLDcgQEAgc3RhdGljIGludCBoeXBlcl9k bWFidWZfcnhfY2hfc2V0dXAodm9pZCAqZGF0YSkKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMg aW50IGh5cGVyX2RtYWJ1Zl9leHBvcnRfcmVtb3RlKHZvaWQgKmRhdGEpCitzdGF0aWMgaW50IGh5 cGVyX2RtYWJ1Zl9leHBvcnRfcmVtb3RlKHN0cnVjdCBmaWxlICpmaWxwLCB2b2lkICpkYXRhKQog ewogCXN0cnVjdCBpb2N0bF9oeXBlcl9kbWFidWZfZXhwb3J0X3JlbW90ZSAqZXhwb3J0X3JlbW90 ZV9hdHRyOwogCXN0cnVjdCBoeXBlcl9kbWFidWZfYmFja2VuZF9vcHMgKm9wcyA9IGh5cGVyX2Rt YWJ1Zl9wcml2YXRlLmJhY2tlbmRfb3BzOwpAQCAtMjI3LDYgKzIyNyw4IEBAIHN0YXRpYyBpbnQg aHlwZXJfZG1hYnVmX2V4cG9ydF9yZW1vdGUodm9pZCAqZGF0YSkKIAlrZnJlZShwYWdlX2luZm8t PnBhZ2VzKTsKIAlrZnJlZShwYWdlX2luZm8pOwogCisJc2d0X2luZm8tPmZpbHAgPSBmaWxwOwor CiAJcmV0dXJuIHJldDsKIAogZmFpbF9zZW5kX3JlcXVlc3Q6CkBAIC0yNDgsNyArMjUwLDcgQEAg c3RhdGljIGludCBoeXBlcl9kbWFidWZfZXhwb3J0X3JlbW90ZSh2b2lkICpkYXRhKQogCXJldHVy biByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX2V4cG9ydF9mZF9pb2N0bCh2b2lk ICpkYXRhKQorc3RhdGljIGludCBoeXBlcl9kbWFidWZfZXhwb3J0X2ZkX2lvY3RsKHN0cnVjdCBm aWxlICpmaWxwLCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBpb2N0bF9oeXBlcl9kbWFidWZfZXhw b3J0X2ZkICpleHBvcnRfZmRfYXR0cjsKIAlzdHJ1Y3QgaHlwZXJfZG1hYnVmX2JhY2tlbmRfb3Bz ICpvcHMgPSBoeXBlcl9kbWFidWZfcHJpdmF0ZS5iYWNrZW5kX29wczsKQEAgLTQxMSw3ICs0MTMs NyBAQCBzdGF0aWMgdm9pZCBoeXBlcl9kbWFidWZfZGVsYXllZF91bmV4cG9ydChzdHJ1Y3Qgd29y a19zdHJ1Y3QgKndvcmspCiAKIC8qIFNjaGVkdWxlcyB1bmV4cG9ydCBvZiBkbWFidWYuCiAgKi8K LXN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX3VuZXhwb3J0KHZvaWQgKmRhdGEpCitzdGF0aWMgaW50 IGh5cGVyX2RtYWJ1Zl91bmV4cG9ydChzdHJ1Y3QgZmlsZSAqZmlscCwgdm9pZCAqZGF0YSkKIHsK IAlzdHJ1Y3QgaW9jdGxfaHlwZXJfZG1hYnVmX3VuZXhwb3J0ICp1bmV4cG9ydF9hdHRyOwogCXN0 cnVjdCBoeXBlcl9kbWFidWZfc2d0X2luZm8gKnNndF9pbmZvOwpAQCAtNDQ4LDcgKzQ1MCw3IEBA IHN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX3VuZXhwb3J0KHZvaWQgKmRhdGEpCiAJcmV0dXJuIDA7 CiB9CiAKLXN0YXRpYyBpbnQgaHlwZXJfZG1hYnVmX3F1ZXJ5KHZvaWQgKmRhdGEpCitzdGF0aWMg aW50IGh5cGVyX2RtYWJ1Zl9xdWVyeShzdHJ1Y3QgZmlsZSAqZmlscCwgdm9pZCAqZGF0YSkKIHsK IAlzdHJ1Y3QgaW9jdGxfaHlwZXJfZG1hYnVmX3F1ZXJ5ICpxdWVyeV9hdHRyOwogCXN0cnVjdCBo eXBlcl9kbWFidWZfc2d0X2luZm8gKnNndF9pbmZvOwpAQCAtNTU4LDcgKzU2MCw3IEBAIHN0YXRp YyBsb25nIGh5cGVyX2RtYWJ1Zl9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwKIAkJcmV0dXJuIC1F RkFVTFQ7CiAJfQogCi0JcmV0ID0gZnVuYyhrZGF0YSk7CisJcmV0ID0gZnVuYyhmaWxwLCBrZGF0 YSk7CiAKIAlpZiAoY29weV90b191c2VyKCh2b2lkIF9fdXNlciAqKXBhcmFtLCBrZGF0YSwgX0lP Q19TSVpFKGNtZCkpICE9IDApIHsKIAkJZGV2X2VycihoeXBlcl9kbWFidWZfcHJpdmF0ZS5kZXZp Y2UsICJmYWlsZWQgdG8gY29weSB0byB1c2VyIGFyZ3VtZW50c1xuIik7CkBAIC01NzAsMTQgKzU3 Miw0OSBAQCBzdGF0aWMgbG9uZyBoeXBlcl9kbWFidWZfaW9jdGwoc3RydWN0IGZpbGUgKmZpbHAs CiAJcmV0dXJuIHJldDsKIH0KIAotc3RydWN0IGRldmljZV9pbmZvIHsKLQlpbnQgY3Vycl9kb21h aW47Ci19OworaW50IGh5cGVyX2RtYWJ1Zl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVj dCBmaWxlICpmaWxwKQoreworCS8qIERvIG5vdCBhbGxvdyBleGNsdXNpdmUgb3BlbiAqLworCWlm IChmaWxwLT5mX2ZsYWdzICYgT19FWENMKQorCQlyZXR1cm4gLUVCVVNZOworCisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyB2b2lkIGh5cGVyX2RtYWJ1Zl9lbWVyZ2VuY3lfcmVsZWFzZShzdHJ1Y3Qg aHlwZXJfZG1hYnVmX3NndF9pbmZvKiBzZ3RfaW5mbywKKwkJCQkJICAgdm9pZCAqYXR0cikKK3sK KwlzdHJ1Y3QgaW9jdGxfaHlwZXJfZG1hYnVmX3VuZXhwb3J0IHVuZXhwb3J0X2F0dHI7CisJc3Ry dWN0IGZpbGUgKmZpbHAgPSAoc3RydWN0IGZpbGUqKSBhdHRyOworCisJaWYgKCFmaWxwIHx8ICFz Z3RfaW5mbykKKwkJcmV0dXJuOworCisJaWYgKHNndF9pbmZvLT5maWxwID09IGZpbHApIHsKKwkJ ZGV2X2RiZyhoeXBlcl9kbWFidWZfcHJpdmF0ZS5kZXZpY2UsCisJCQkiRXhlY3V0aW5nIGVtZXJn ZW5jeSByZWxlYXNlIG9mIGJ1ZmZlciAlZFxuIiwKKwkJCSBzZ3RfaW5mby0+aHlwZXJfZG1hYnVm X2lkKTsKKworCQl1bmV4cG9ydF9hdHRyLmh5cGVyX2RtYWJ1Zl9pZCA9IHNndF9pbmZvLT5oeXBl cl9kbWFidWZfaWQ7CisJCXVuZXhwb3J0X2F0dHIuZGVsYXlfbXMgPSAwOworCisJCWh5cGVyX2Rt YWJ1Zl91bmV4cG9ydChmaWxwLCAmdW5leHBvcnRfYXR0cik7CisJfQorfQorCitpbnQgaHlwZXJf ZG1hYnVmX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7 CisJaHlwZXJfZG1hYnVmX2ZvcmVhY2hfZXhwb3J0ZWQoaHlwZXJfZG1hYnVmX2VtZXJnZW5jeV9y ZWxlYXNlLCBmaWxwKTsKKworCXJldHVybiAwOworfQogCiAvKj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ki8KIHN0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGh5cGVy X2RtYWJ1Zl9kcml2ZXJfZm9wcyA9CiB7CiAgICAub3duZXIgPSBUSElTX01PRFVMRSwKKyAgIC5v cGVuID0gaHlwZXJfZG1hYnVmX29wZW4sCisgICAucmVsZWFzZSA9IGh5cGVyX2RtYWJ1Zl9yZWxl YXNlLAogICAgLnVubG9ja2VkX2lvY3RsID0gaHlwZXJfZG1hYnVmX2lvY3RsLAogfTsKIApAQCAt NTk3LDcgKzYzNCw3IEBAIGludCByZWdpc3Rlcl9kZXZpY2Uodm9pZCkKIAlyZXQgPSBtaXNjX3Jl Z2lzdGVyKCZoeXBlcl9kbWFidWZfbWlzY2Rldik7CiAKIAlpZiAocmV0KSB7Ci0JCXByaW50ayhL RVJOX1dBUk5JTkcgImh5cGVyX2RtYWJ1ZjogZHJpdmVyIGNhbid0IGJlIHJlZ2lzdGVyZWRcbiIp OworCQlwcmludGsoS0VSTl9FUlIgImh5cGVyX2RtYWJ1ZjogZHJpdmVyIGNhbid0IGJlIHJlZ2lz dGVyZWRcbiIpOwogCQlyZXR1cm4gcmV0OwogCX0KIApAQCAtNjA2LDIyICs2NDMsMTQgQEAgaW50 IHJlZ2lzdGVyX2RldmljZSh2b2lkKQogCS8qIFRPRE86IENoZWNrIGlmIHRoZXJlIGlzIGEgZGlm ZmVyZW50IHdheSB0byBpbml0aWFsaXplIGRtYSBtYXNrIG5pY2VseSAqLwogCWRtYV9jb2VyY2Vf bWFza19hbmRfY29oZXJlbnQoaHlwZXJfZG1hYnVmX3ByaXZhdGUuZGV2aWNlLCAweEZGRkZGRkZG KTsKIAotCS8qIFRPRE8gZmluZCBhIHdheSB0byBwcm92aWRlIHBhcmFtZXRlcnMgZm9yIGJlbG93 IGZ1bmN0aW9uIG9yIG1vdmUgdGhhdCB0byBpb2N0bCAqLwotLyoJZXJyID0gYmluZF9pbnRlcmRv bWFpbl9ldnRjaG5fdG9faXJxaGFuZGxlcihyZG9tYWluLCBldnRjaG4sCi0JCQkJc3JjX3Npbmtf aXNyLCBQT1JUX05VTSwgInJlbW90ZV9kb21haW4iLCAmaW5mbyk7Ci0JaWYgKGVyciA8IDApIHsK LQkJcHJpbnRrKCJoeXBlcl9kbWFidWY6IGNhbid0IHJlZ2lzdGVyIGludGVycnVwdCBoYW5kbGVy c1xuIik7Ci0JCXJldHVybiAtRUZBVUxUOwotCX0KLQotCWluZm8uaXJxID0gZXJyOwotKi8KIAly ZXR1cm4gcmV0OwogfQogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ki8KIHZvaWQgdW5yZWdpc3Rlcl9kZXZpY2Uodm9pZCkKIHsKLQlwcmludGsoIEtFUk5fTk9USUNF ICJoeXBlcl9kbWFidWY6IHVucmVnaXN0ZXJfZGV2aWNlKCkgaXMgY2FsbGVkIiApOworCWRldl9p bmZvKGh5cGVyX2RtYWJ1Zl9wcml2YXRlLmRldmljZSwKKwkJICJoeXBlcl9kbWFidWY6IHVucmVn aXN0ZXJfZGV2aWNlKCkgaXMgY2FsbGVkXG4iKTsKKwogCW1pc2NfZGVyZWdpc3RlcigmaHlwZXJf ZG1hYnVmX21pc2NkZXYpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVm L2h5cGVyX2RtYWJ1Zl9pb2N0bC5oIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2Rt YWJ1Zl9pb2N0bC5oCmluZGV4IDgzNTVlMzAuLmViZmJiODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv eGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfaW9jdGwuaAorKysgYi9kcml2ZXJzL3hlbi9o eXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2lvY3RsLmgKQEAgLTI1LDcgKzI1LDcgQEAKICNpZm5k ZWYgX19IWVBFUl9ETUFCVUZfSU9DVExfSF9fCiAjZGVmaW5lIF9fSFlQRVJfRE1BQlVGX0lPQ1RM X0hfXwogCi10eXBlZGVmIGludCAoKmh5cGVyX2RtYWJ1Zl9pb2N0bF90KSh2b2lkICpkYXRhKTsK K3R5cGVkZWYgaW50ICgqaHlwZXJfZG1hYnVmX2lvY3RsX3QpKHN0cnVjdCBmaWxlICpmaWxwLCB2 b2lkICpkYXRhKTsKIAogc3RydWN0IGh5cGVyX2RtYWJ1Zl9pb2N0bF9kZXNjIHsKIAl1bnNpZ25l ZCBpbnQgY21kOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2Rt YWJ1Zl9saXN0LmMgYi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX2xpc3Qu YwppbmRleCAyY2I0YmI0Li5jMTI4NWViIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9oeXBlcl9k bWFidWYvaHlwZXJfZG1hYnVmX2xpc3QuYworKysgYi9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYv aHlwZXJfZG1hYnVmX2xpc3QuYwpAQCAtMjIxLDMgKzIyMSwxNyBAQCBpbnQgaHlwZXJfZG1hYnVm X3JlbW92ZV9pbXBvcnRlZChpbnQgaWQpCiAKIAlyZXR1cm4gLUVOT0VOVDsKIH0KKwordm9pZCBo eXBlcl9kbWFidWZfZm9yZWFjaF9leHBvcnRlZCgKKwl2b2lkICgqZnVuYykoc3RydWN0IGh5cGVy X2RtYWJ1Zl9zZ3RfaW5mbyAqLCB2b2lkICphdHRyKSwKKwl2b2lkICphdHRyKQoreworCXN0cnVj dCBoeXBlcl9kbWFidWZfaW5mb19lbnRyeV9leHBvcnRlZCAqaW5mb19lbnRyeTsKKwlzdHJ1Y3Qg aGxpc3Rfbm9kZSAqdG1wOworCWludCBia3Q7CisKKwloYXNoX2Zvcl9lYWNoX3NhZmUoaHlwZXJf ZG1hYnVmX2hhc2hfZXhwb3J0ZWQsIGJrdCwgdG1wLAorCQkJaW5mb19lbnRyeSwgbm9kZSkgewor CQlmdW5jKGluZm9fZW50cnktPmluZm8sIGF0dHIpOworCX0KK30KZGlmZiAtLWdpdCBhL2RyaXZl cnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfbGlzdC5oIGIvZHJpdmVycy94ZW4vaHlw ZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9saXN0LmgKaW5kZXggMzVkYzcyMi4uOTI1YjBkMSAxMDA2 NDQKLS0tIGEvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9saXN0LmgKKysr IGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9saXN0LmgKQEAgLTYxLDYg KzYxLDEwIEBAIGludCBoeXBlcl9kbWFidWZfcmVtb3ZlX2V4cG9ydGVkKGludCBpZCk7CiAKIGlu dCBoeXBlcl9kbWFidWZfcmVtb3ZlX2ltcG9ydGVkKGludCBpZCk7CiAKK3ZvaWQgaHlwZXJfZG1h YnVmX2ZvcmVhY2hfZXhwb3J0ZWQoCisJdm9pZCAoKmZ1bmMpKHN0cnVjdCBoeXBlcl9kbWFidWZf c2d0X2luZm8gKiwgdm9pZCAqYXR0ciksCisJdm9pZCAqYXR0cik7CisKIGludCBoeXBlcl9kbWFi dWZfcmVnaXN0ZXJfc3lzZnMoc3RydWN0IGRldmljZSAqZGV2KTsKIGludCBoeXBlcl9kbWFidWZf dW5yZWdpc3Rlcl9zeXNmcyhzdHJ1Y3QgZGV2aWNlICpkZXYpOwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX3N0cnVjdC5oIGIvZHJpdmVycy94ZW4v aHlwZXJfZG1hYnVmL2h5cGVyX2RtYWJ1Zl9zdHJ1Y3QuaAppbmRleCBhNDFmZDBhLi45OTUyYjNm IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYvaHlwZXJfZG1hYnVmX3N0cnVj dC5oCisrKyBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi9oeXBlcl9kbWFidWZfc3RydWN0LmgK QEAgLTgwLDYgKzgwLDEzIEBAIHN0cnVjdCBoeXBlcl9kbWFidWZfc2d0X2luZm8gewogCXZvaWQg KnJlZnNfaW5mbzsgLyogaHlwZXJ2aXNvci1zcGVjaWZpYyBpbmZvIGZvciB0aGUgcmVmZXJlbmNl cyAqLwogCXN0cnVjdCBkZWxheWVkX3dvcmsgdW5leHBvcnRfd29yazsKIAlib29sIHVuZXhwb3J0 X3NjaGVkdWxlZDsKKwkvKiBvd25lciBvZiBidWZmZXIKKwkgKiBUT0RPOiB0aGF0IGlzIG5haWl2 ZSBhcyBidWZmZXIgbWF5IGJlIHJldXNlZCBieQorCSAqIGFub3RoZXIgdXNlcnNwYWNlIGFwcCwg c28gaGVyZSBsaXN0IG9mIHN0cnVjdCBmaWxlIHNob3VsZCBiZSBrZXB0CisJICogYW5kIGVtZXJn ZW5jeSB1bmV4cG9ydCBzaG91bGQgYmUgZXhlY3V0ZWQgb25seSBhZnRlciBsYXN0IG9mIGJ1ZmZl cgorCSAqIHVzZXMgcmVsZWFzZXMgaHlwZXJfZG1hYnVmIGRldmljZQorCSAqLworCXN0cnVjdCBm aWxlICpmaWxwOwogCWludCBwcml2YXRlWzRdOyAvKiBkZXZpY2Ugc3BlY2lmaWMgaW5mbyAoZS5n LiBpbWFnZSdzIG1ldGEgaW5mbz8pICovCiB9OwogCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v cmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=