From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 605D6C433DF for ; Mon, 18 May 2020 12:23:16 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3C0C12067D for ; Mon, 18 May 2020 12:23:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3C0C12067D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CF96F89DA3; Mon, 18 May 2020 12:23:15 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id C8A9889DA3 for ; Mon, 18 May 2020 12:23:14 +0000 (UTC) IronPort-SDR: SR7dNis8AN+dVBhWz15+oXwtq8fkpN/D0MOM0s2F3vms2KCqNlCVjAEQbBZknaWVzYXD04rY2g 8LniNEYpEKQg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2020 05:23:15 -0700 IronPort-SDR: nSfauQWlD8ErI50AV7B8ck7H8Ek4MZ5k6oPhUCUedQlUpXwGwBmoF01/Kls3q3hp1qQz10U6YX wB+Cde6Ow5Ww== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,407,1583222400"; d="scan'208";a="308091116" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by FMSMGA003.fm.intel.com with SMTP; 18 May 2020 05:23:12 -0700 Received: by stinkbox (sSMTP sendmail emulation); Mon, 18 May 2020 15:23:11 +0300 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Mon, 18 May 2020 15:23:03 +0300 Message-Id: <20200518122303.28083-4-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200518122303.28083-1-ville.syrjala@linux.intel.com> References: <20200518122303.28083-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 4/4] Revert "drm/i915: Introduce proper dbuf state" X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkRi dWYgc2xpY2UgdHJhY2tpbmcgYnVzdGVkIGFjcm9zcyBydW50aW1lIFBNLiBCYWNrIHRvIHRoZQpk cmF3aW5nIGJvYXJkLgoKVGhpcyByZXZlcnRzIGNvbW1pdCAzY2Y0M2NkYzYzZmJjM2RmMTllYTgz OThlOWI4NzE3YWI0NGE2MzA0LgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXkuYyAgfCAgNjcgKystLS0tLQogLi4uL2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheV9wb3dlci5jICAgIHwgICA4ICstCiAuLi4vZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAgMTMgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgICAgICAgICB8ICAxMSArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYyAgICAgICAgICAgICAgIHwgMTg1ICsrKysrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uaCAgICAgICAgICAgICAgIHwgIDIyIC0tLQogNiBmaWxlcyBj aGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspLCAyMDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwppbmRleCA0OTU3N2YxOWZmOWMuLmQ2 NjM1ZDY0OWRjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5LmMKQEAgLTc1NzksOCArNzU3OSw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJs ZV9ub2F0b21pYyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJdG9faW50ZWxfYndfc3RhdGUo ZGV2X3ByaXYtPmJ3X29iai5zdGF0ZSk7CiAJc3RydWN0IGludGVsX2NkY2xrX3N0YXRlICpjZGNs a19zdGF0ZSA9CiAJCXRvX2ludGVsX2NkY2xrX3N0YXRlKGRldl9wcml2LT5jZGNsay5vYmouc3Rh dGUpOwotCXN0cnVjdCBpbnRlbF9kYnVmX3N0YXRlICpkYnVmX3N0YXRlID0KLQkJdG9faW50ZWxf ZGJ1Zl9zdGF0ZShkZXZfcHJpdi0+ZGJ1Zi5vYmouc3RhdGUpOwogCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlID0KIAkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0 YXRlKTsKIAllbnVtIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbjsKQEAgLTc2NTQs OCArNzY1Miw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9ub2F0b21pYyhzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAljZGNsa19zdGF0ZS0+bWluX3ZvbHRhZ2VfbGV2ZWxbcGlw ZV0gPSAwOwogCWNkY2xrX3N0YXRlLT5hY3RpdmVfcGlwZXMgJj0gfkJJVChwaXBlKTsKIAotCWRi dWZfc3RhdGUtPmFjdGl2ZV9waXBlcyAmPSB+QklUKHBpcGUpOwotCiAJYndfc3RhdGUtPmRhdGFf cmF0ZVtwaXBlXSA9IDA7CiAJYndfc3RhdGUtPm51bV9hY3RpdmVfcGxhbmVzW3BpcGVdID0gMDsK IH0KQEAgLTE0MDEyLDEwICsxNDAwOCwxMCBAQCBzdGF0aWMgdm9pZCB2ZXJpZnlfd21fc3RhdGUo c3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJaHdfZW5hYmxlZF9zbGljZXMgPSBpbnRlbF9lbmFi bGVkX2RidWZfc2xpY2VzX21hc2soZGV2X3ByaXYpOwogCiAJaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPj0gMTEgJiYKLQkgICAgaHdfZW5hYmxlZF9zbGljZXMgIT0gZGV2X3ByaXYtPmRidWYuZW5h YmxlZF9zbGljZXMpCisJICAgIGh3X2VuYWJsZWRfc2xpY2VzICE9IGRldl9wcml2LT5lbmFibGVk X2RidWZfc2xpY2VzX21hc2spCiAJCWRybV9lcnIoJmRldl9wcml2LT5kcm0sCiAJCQkibWlzbWF0 Y2ggaW4gREJVRiBTbGljZXMgKGV4cGVjdGVkIDB4JXgsIGdvdCAweCV4KVxuIiwKLQkJCWRldl9w cml2LT5kYnVmLmVuYWJsZWRfc2xpY2VzLAorCQkJZGV2X3ByaXYtPmVuYWJsZWRfZGJ1Zl9zbGlj ZXNfbWFzaywKIAkJCWh3X2VuYWJsZWRfc2xpY2VzKTsKIAogCS8qIHBsYW5lcyAqLwpAQCAtMTQ1 NTYsNyArMTQ1NTIsOSBAQCBzdGF0aWMgaW50IGludGVsX21vZGVzZXRfY2hlY2tzKHN0cnVjdCBp bnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCXN0YXRlLT5tb2Rlc2V0ID0gdHJ1ZTsKIAlzdGF0 ZS0+YWN0aXZlX3BpcGVzID0gaW50ZWxfY2FsY19hY3RpdmVfcGlwZXMoc3RhdGUsIGRldl9wcml2 LT5hY3RpdmVfcGlwZXMpOwogCi0JaWYgKHN0YXRlLT5hY3RpdmVfcGlwZXMgIT0gZGV2X3ByaXYt PmFjdGl2ZV9waXBlcykgeworCXN0YXRlLT5hY3RpdmVfcGlwZV9jaGFuZ2VzID0gc3RhdGUtPmFj dGl2ZV9waXBlcyBeIGRldl9wcml2LT5hY3RpdmVfcGlwZXM7CisKKwlpZiAoc3RhdGUtPmFjdGl2 ZV9waXBlX2NoYW5nZXMpIHsKIAkJcmV0ID0gX2ludGVsX2F0b21pY19sb2NrX2dsb2JhbF9zdGF0 ZShzdGF0ZSk7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwpAQCAtMTUyMTAsMzggKzE1MjA4 LDIyIEBAIHN0YXRpYyB2b2lkIGludGVsX2NvbW1pdF9tb2Rlc2V0X2VuYWJsZXMoc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiBzdGF0aWMgdm9pZCBpY2xfZGJ1Zl9zbGljZV9wcmVf dXBkYXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKLQljb25z dCBzdHJ1Y3QgaW50ZWxfZGJ1Zl9zdGF0ZSAqbmV3X2RidWZfc3RhdGUgPQotCQlpbnRlbF9hdG9t aWNfZ2V0X25ld19kYnVmX3N0YXRlKHN0YXRlKTsKLQljb25zdCBzdHJ1Y3QgaW50ZWxfZGJ1Zl9z dGF0ZSAqb2xkX2RidWZfc3RhdGUgPQotCQlpbnRlbF9hdG9taWNfZ2V0X29sZF9kYnVmX3N0YXRl KHN0YXRlKTsKLQotCWlmICghbmV3X2RidWZfc3RhdGUgfHwKLQkgICAgbmV3X2RidWZfc3RhdGUt PmVuYWJsZWRfc2xpY2VzID09IG9sZF9kYnVmX3N0YXRlLT5lbmFibGVkX3NsaWNlcykKLQkJcmV0 dXJuOworCXU4IGh3X2VuYWJsZWRfc2xpY2VzID0gZGV2X3ByaXYtPmVuYWJsZWRfZGJ1Zl9zbGlj ZXNfbWFzazsKKwl1OCByZXF1aXJlZF9zbGljZXMgPSBzdGF0ZS0+ZW5hYmxlZF9kYnVmX3NsaWNl c19tYXNrOworCXU4IHNsaWNlc191bmlvbiA9IGh3X2VuYWJsZWRfc2xpY2VzIHwgcmVxdWlyZWRf c2xpY2VzOwogCi0JV0FSTl9PTighbmV3X2RidWZfc3RhdGUtPmJhc2UuY2hhbmdlZCk7Ci0KLQln ZW45X2RidWZfc2xpY2VzX3VwZGF0ZShkZXZfcHJpdiwKLQkJCQlvbGRfZGJ1Zl9zdGF0ZS0+ZW5h YmxlZF9zbGljZXMgfAotCQkJCW5ld19kYnVmX3N0YXRlLT5lbmFibGVkX3NsaWNlcyk7CisJaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEgJiYgc2xpY2VzX3VuaW9uICE9IGh3X2VuYWJsZWRf c2xpY2VzKQorCQlnZW45X2RidWZfc2xpY2VzX3VwZGF0ZShkZXZfcHJpdiwgc2xpY2VzX3VuaW9u KTsKIH0KIAogc3RhdGljIHZvaWQgaWNsX2RidWZfc2xpY2VfcG9zdF91cGRhdGUoc3RydWN0IGlu dGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShzdGF0ZS0+YmFzZS5kZXYpOwotCWNvbnN0IHN0cnVjdCBpbnRlbF9k YnVmX3N0YXRlICpuZXdfZGJ1Zl9zdGF0ZSA9Ci0JCWludGVsX2F0b21pY19nZXRfbmV3X2RidWZf c3RhdGUoc3RhdGUpOwotCWNvbnN0IHN0cnVjdCBpbnRlbF9kYnVmX3N0YXRlICpvbGRfZGJ1Zl9z dGF0ZSA9Ci0JCWludGVsX2F0b21pY19nZXRfb2xkX2RidWZfc3RhdGUoc3RhdGUpOwotCi0JaWYg KCFuZXdfZGJ1Zl9zdGF0ZSB8fAotCSAgICBuZXdfZGJ1Zl9zdGF0ZS0+ZW5hYmxlZF9zbGljZXMg PT0gb2xkX2RidWZfc3RhdGUtPmVuYWJsZWRfc2xpY2VzKQotCQlyZXR1cm47CisJdTggaHdfZW5h YmxlZF9zbGljZXMgPSBkZXZfcHJpdi0+ZW5hYmxlZF9kYnVmX3NsaWNlc19tYXNrOworCXU4IHJl cXVpcmVkX3NsaWNlcyA9IHN0YXRlLT5lbmFibGVkX2RidWZfc2xpY2VzX21hc2s7CiAKLQlXQVJO X09OKCFuZXdfZGJ1Zl9zdGF0ZS0+YmFzZS5jaGFuZ2VkKTsKLQotCWdlbjlfZGJ1Zl9zbGljZXNf dXBkYXRlKGRldl9wcml2LAotCQkJCW5ld19kYnVmX3N0YXRlLT5lbmFibGVkX3NsaWNlcyk7CisJ aWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEgJiYgcmVxdWlyZWRfc2xpY2VzICE9IGh3X2Vu YWJsZWRfc2xpY2VzKQorCQlnZW45X2RidWZfc2xpY2VzX3VwZGF0ZShkZXZfcHJpdiwgcmVxdWly ZWRfc2xpY2VzKTsKIH0KIAogc3RhdGljIHZvaWQgc2tsX2NvbW1pdF9tb2Rlc2V0X2VuYWJsZXMo c3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCkBAIC0xNTQ4NCw3ICsxNTQ2Niw5IEBA IHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSkKIAlpZiAoc3RhdGUtPm1vZGVzZXQpCiAJCWludGVsX2VuY29kZXJzX3Vw ZGF0ZV9wcmVwYXJlKHN0YXRlKTsKIAotCWljbF9kYnVmX3NsaWNlX3ByZV91cGRhdGUoc3RhdGUp OworCS8qIEVuYWJsZSBhbGwgbmV3IHNsaWNlcywgd2UgbWlnaHQgbmVlZCAqLworCWlmIChzdGF0 ZS0+bW9kZXNldCkKKwkJaWNsX2RidWZfc2xpY2VfcHJlX3VwZGF0ZShzdGF0ZSk7CiAKIAkvKiBO b3cgZW5hYmxlIHRoZSBjbG9ja3MsIHBsYW5lLCBwaXBlLCBhbmQgY29ubmVjdG9ycyB0aGF0IHdl IHNldCB1cC4gKi8KIAlkZXZfcHJpdi0+ZGlzcGxheS5jb21taXRfbW9kZXNldF9lbmFibGVzKHN0 YXRlKTsKQEAgLTE1NTM5LDcgKzE1NTIzLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2Nv bW1pdF90YWlsKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQkJZGV2X3ByaXYt PmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7CiAJfQogCi0JaWNsX2Ri dWZfc2xpY2VfcG9zdF91cGRhdGUoc3RhdGUpOworCS8qIERpc2FibGUgYWxsIHNsaWNlcywgd2Ug ZG9uJ3QgbmVlZCAqLworCWlmIChzdGF0ZS0+bW9kZXNldCkKKwkJaWNsX2RidWZfc2xpY2VfcG9z dF91cGRhdGUoc3RhdGUpOwogCiAJZm9yX2VhY2hfb2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUo c3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBuZXdfY3J0Y19zdGF0ZSwgaSkgewogCQlpbnRl bF9wb3N0X3BsYW5lX3VwZGF0ZShzdGF0ZSwgY3J0Yyk7CkBAIC0xNzQzMywxNCArMTc0MTksMTAg QEAgdm9pZCBpbnRlbF9tb2Rlc2V0X2luaXRfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCiB7CiAJc3RydWN0IGludGVsX2NkY2xrX3N0YXRlICpjZGNsa19zdGF0ZSA9CiAJCXRvX2lu dGVsX2NkY2xrX3N0YXRlKGk5MTUtPmNkY2xrLm9iai5zdGF0ZSk7Ci0Jc3RydWN0IGludGVsX2Ri dWZfc3RhdGUgKmRidWZfc3RhdGUgPQotCQl0b19pbnRlbF9kYnVmX3N0YXRlKGk5MTUtPmRidWYu b2JqLnN0YXRlKTsKIAogCWludGVsX3VwZGF0ZV9jZGNsayhpOTE1KTsKIAlpbnRlbF9kdW1wX2Nk Y2xrX2NvbmZpZygmaTkxNS0+Y2RjbGsuaHcsICJDdXJyZW50IENEQ0xLIik7CiAJY2RjbGtfc3Rh dGUtPmxvZ2ljYWwgPSBjZGNsa19zdGF0ZS0+YWN0dWFsID0gaTkxNS0+Y2RjbGsuaHc7Ci0KLQlk YnVmX3N0YXRlLT5lbmFibGVkX3NsaWNlcyA9IGk5MTUtPmRidWYuZW5hYmxlZF9zbGljZXM7CiB9 CiAKIHN0YXRpYyBpbnQgc2FuaXRpemVfd2F0ZXJtYXJrc19hZGRfYWZmZWN0ZWQoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKQpAQCAtMTc3MjksMTAgKzE3NzExLDYgQEAgaW50IGludGVs X21vZGVzZXRfaW5pdF9ub2lycShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlpZiAo cmV0KQogCQlyZXR1cm4gcmV0OwogCi0JcmV0ID0gaW50ZWxfZGJ1Zl9pbml0KGk5MTUpOwotCWlm IChyZXQpCi0JCXJldHVybiByZXQ7Ci0KIAlyZXQgPSBpbnRlbF9id19pbml0KGk5MTUpOwogCWlm IChyZXQpCiAJCXJldHVybiByZXQ7CkBAIC0xODI0OSw4ICsxODIyNyw2IEBAIHN0YXRpYyB2b2lk IGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1 Y3QgaW50ZWxfY2RjbGtfc3RhdGUgKmNkY2xrX3N0YXRlID0KIAkJdG9faW50ZWxfY2RjbGtfc3Rh dGUoZGV2X3ByaXYtPmNkY2xrLm9iai5zdGF0ZSk7Ci0Jc3RydWN0IGludGVsX2RidWZfc3RhdGUg KmRidWZfc3RhdGUgPQotCQl0b19pbnRlbF9kYnVmX3N0YXRlKGRldl9wcml2LT5kYnVmLm9iai5z dGF0ZSk7CiAJZW51bSBwaXBlIHBpcGU7CiAJc3RydWN0IGludGVsX2NydGMgKmNydGM7CiAJc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7CkBAIC0xODI4MSw4ICsxODI1Nyw3IEBAIHN0YXRp YyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCQkJICAgIGVuYWJsZWRkaXNhYmxlZChjcnRjX3N0YXRlLT5ody5hY3RpdmUpKTsKIAl9 CiAKLQlkZXZfcHJpdi0+YWN0aXZlX3BpcGVzID0gY2RjbGtfc3RhdGUtPmFjdGl2ZV9waXBlcyA9 Ci0JCWRidWZfc3RhdGUtPmFjdGl2ZV9waXBlcyA9IGFjdGl2ZV9waXBlczsKKwlkZXZfcHJpdi0+ YWN0aXZlX3BpcGVzID0gY2RjbGtfc3RhdGUtPmFjdGl2ZV9waXBlcyA9IGFjdGl2ZV9waXBlczsK IAogCXJlYWRvdXRfcGxhbmVfc3RhdGUoZGV2X3ByaXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jCmluZGV4IDdhODIxMzk5MzEx MC4uYTNlNTgxOTQ3YmVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXlfcG93ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXlfcG93ZXIuYwpAQCAtMTE2MSw3ICsxMTYxLDcgQEAgc3RhdGljIGJvb2wg Z2VuOV9kY19vZmZfcG93ZXJfd2VsbF9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIHN0YXRpYyB2b2lkIGdlbjlfYXNzZXJ0X2RidWZfZW5hYmxlZChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJdTggaHdfZW5hYmxlZF9kYnVmX3NsaWNlcyA9 IGludGVsX2VuYWJsZWRfZGJ1Zl9zbGljZXNfbWFzayhkZXZfcHJpdik7Ci0JdTggZW5hYmxlZF9k YnVmX3NsaWNlcyA9IGRldl9wcml2LT5kYnVmLmVuYWJsZWRfc2xpY2VzOworCXU4IGVuYWJsZWRf ZGJ1Zl9zbGljZXMgPSBkZXZfcHJpdi0+ZW5hYmxlZF9kYnVmX3NsaWNlc19tYXNrOwogCiAJZHJt X1dBUk4oJmRldl9wcml2LT5kcm0sCiAJCSBod19lbmFibGVkX2RidWZfc2xpY2VzICE9IGVuYWJs ZWRfZGJ1Zl9zbGljZXMsCkBAIC00NTM5LDE0ICs0NTM5LDE0IEBAIHZvaWQgZ2VuOV9kYnVmX3Ns aWNlc191cGRhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWZvciAoc2xp Y2UgPSBEQlVGX1MxOyBzbGljZSA8IG51bV9zbGljZXM7IHNsaWNlKyspCiAJCWdlbjlfZGJ1Zl9z bGljZV9zZXQoZGV2X3ByaXYsIHNsaWNlLCByZXFfc2xpY2VzICYgQklUKHNsaWNlKSk7CiAKLQlk ZXZfcHJpdi0+ZGJ1Zi5lbmFibGVkX3NsaWNlcyA9IHJlcV9zbGljZXM7CisJZGV2X3ByaXYtPmVu YWJsZWRfZGJ1Zl9zbGljZXNfbWFzayA9IHJlcV9zbGljZXM7CiAKIAltdXRleF91bmxvY2soJnBv d2VyX2RvbWFpbnMtPmxvY2spOwogfQogCiBzdGF0aWMgdm9pZCBnZW45X2RidWZfZW5hYmxlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQlkZXZfcHJpdi0+ZGJ1Zi5lbmFi bGVkX3NsaWNlcyA9CisJZGV2X3ByaXYtPmVuYWJsZWRfZGJ1Zl9zbGljZXNfbWFzayA9CiAJCWlu dGVsX2VuYWJsZWRfZGJ1Zl9zbGljZXNfbWFzayhkZXZfcHJpdik7CiAKIAkvKgpAQCAtNDU1NCw3 ICs0NTU0LDcgQEAgc3RhdGljIHZvaWQgZ2VuOV9kYnVmX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogZmlndXJlIG91dCBsYXRlciB3aGljaCBzbGljZXMgd2Ug aGF2ZSBhbmQgd2hhdCB3ZSBuZWVkLgogCSAqLwogCWdlbjlfZGJ1Zl9zbGljZXNfdXBkYXRlKGRl dl9wcml2LCBCSVQoREJVRl9TMSkgfAotCQkJCWRldl9wcml2LT5kYnVmLmVuYWJsZWRfc2xpY2Vz KTsKKwkJCQlkZXZfcHJpdi0+ZW5hYmxlZF9kYnVmX3NsaWNlc19tYXNrKTsKIH0KIAogc3RhdGlj IHZvaWQgZ2VuOV9kYnVmX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5 X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlw ZXMuaAppbmRleCA4M2UyZjBiZDIzODcuLjJiZjNkNGNiNGVhOSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKQEAgLTQ3OSw2ICs0 NzksMTYgQEAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSB7CiAKIAlib29sIGRwbGxfc2V0LCBt b2Rlc2V0OwogCisJLyoKKwkgKiBEb2VzIHRoaXMgdHJhbnNhY3Rpb24gY2hhbmdlIHRoZSBwaXBl cyB0aGF0IGFyZSBhY3RpdmU/ICBUaGlzIG1hc2sKKwkgKiB0cmFja3Mgd2hpY2ggQ1JUQydzIGhh dmUgY2hhbmdlZCB0aGVpciBhY3RpdmUgc3RhdGUgYXQgdGhlIGVuZCBvZgorCSAqIHRoZSB0cmFu c2FjdGlvbiAobm90IGNvdW50aW5nIHRoZSB0ZW1wb3JhcnkgZGlzYWJsZSBkdXJpbmcgbW9kZXNl dHMpLgorCSAqIFRoaXMgbWFzayBzaG91bGQgb25seSBiZSBub24temVybyB3aGVuIGludGVsX3N0 YXRlLT5tb2Rlc2V0IGlzIHRydWUsCisJICogYnV0IHRoZSBjb252ZXJzZSBpcyBub3QgbmVjZXNz YXJpbHkgdHJ1ZTsgc2ltcGx5IGNoYW5naW5nIGEgbW9kZSBtYXkKKwkgKiBub3QgZmxpcCB0aGUg ZmluYWwgYWN0aXZlIHN0YXR1cyBvZiBhbnkgQ1JUQydzCisJICovCisJdTggYWN0aXZlX3BpcGVf Y2hhbmdlczsKKwogCXU4IGFjdGl2ZV9waXBlczsKIAogCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBs bF9zdGF0ZSBzaGFyZWRfZHBsbFtJOTE1X05VTV9QTExTXTsKQEAgLTQ5Niw2ICs1MDYsOSBAQCBz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlIHsKIAkgKi8KIAlib29sIGdsb2JhbF9zdGF0ZV9jaGFu Z2VkOwogCisJLyogTnVtYmVyIG9mIGVuYWJsZWQgREJ1ZiBzbGljZXMgKi8KKwl1OCBlbmFibGVk X2RidWZfc2xpY2VzX21hc2s7CisKIAlzdHJ1Y3QgaTkxNV9zd19mZW5jZSBjb21taXRfcmVhZHk7 CiAKIAlzdHJ1Y3QgbGxpc3Rfbm9kZSBmcmVlZDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4 IDY0Nzk4YjM5ODQ4Mi4uYWRiOWJmMzRjZjk3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAg LTk1MCwxMyArOTUwLDYgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCQlzdHJ1Y3QgaW50 ZWxfZ2xvYmFsX29iaiBvYmo7CiAJfSBjZGNsazsKIAotCXN0cnVjdCB7Ci0JCS8qIFRoZSBjdXJy ZW50IGhhcmR3YXJlIGRidWYgY29uZmlndXJhdGlvbiAqLwotCQl1OCBlbmFibGVkX3NsaWNlczsK LQotCQlzdHJ1Y3QgaW50ZWxfZ2xvYmFsX29iaiBvYmo7Ci0JfSBkYnVmOwotCiAJLyoqCiAJICog d3EgLSBEcml2ZXIgd29ya3F1ZXVlIGZvciBHRU0uCiAJICoKQEAgLTExMzMsMTIgKzExMjYsMTIg QEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCQkgKiBTZXQgZHVyaW5nIEhXIHJlYWRvdXQg b2Ygd2F0ZXJtYXJrcy9EREIuICBTb21lIHBsYXRmb3JtcwogCQkgKiBuZWVkIHRvIGtub3cgd2hl biB3ZSdyZSBzdGlsbCB1c2luZyBCSU9TLXByb3ZpZGVkIHZhbHVlcwogCQkgKiAod2hpY2ggd2Ug ZG9uJ3QgZnVsbHkgdHJ1c3QpLgotCQkgKgotCQkgKiBGSVhNRSBnZXQgcmlkIG9mIHRoaXMuCiAJ CSAqLwogCQlib29sIGRpc3RydXN0X2Jpb3Nfd207CiAJfSB3bTsKIAorCXU4IGVuYWJsZWRfZGJ1 Zl9zbGljZXNfbWFzazsgLyogR0VOMTEgaGFzIGNvbmZpZ3VyYWJsZSAyIHNsaWNlcyAqLworCiAJ c3RydWN0IGRyYW1faW5mbyB7CiAJCWJvb2wgdmFsaWQ7CiAJCWJvb2wgaXNfMTZnYl9kaW1tOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggY2I1Nzc4NmZkYzlmLi41YzQ3Yjg5M2U3YjIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtNDA0MCw3ICs0MDQwLDcgQEAgc3RhdGljIHUxNiBp bnRlbF9nZXRfZGRiX3NpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogc3Rh dGljIHU4IHNrbF9jb21wdXRlX2RidWZfc2xpY2VzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpjcnRjX3N0YXRlLAogCQkJCSAgdTggYWN0aXZlX3BpcGVzKTsKIAotc3RhdGljIGludAor c3RhdGljIHZvaWQKIHNrbF9kZGJfZ2V0X3BpcGVfYWxsb2NhdGlvbl9saW1pdHMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLAogCQkJCSAgIGNvbnN0IHU2NCB0b3RhbF9kYXRhX3JhdGUsCkBA IC00MDUzLDI5ICs0MDUzLDMwIEBAIHNrbF9kZGJfZ2V0X3BpcGVfYWxsb2NhdGlvbl9saW1pdHMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjOwogCXUzMiBwaXBlX3dpZHRoID0gMCwgdG90YWxfd2lkdGhfaW5fcmFuZ2UgPSAw LCB3aWR0aF9iZWZvcmVfcGlwZV9pbl9yYW5nZSA9IDA7CiAJZW51bSBwaXBlIGZvcl9waXBlID0g dG9faW50ZWxfY3J0Yyhmb3JfY3J0YyktPnBpcGU7Ci0Jc3RydWN0IGludGVsX2RidWZfc3RhdGUg Km5ld19kYnVmX3N0YXRlID0KLQkJaW50ZWxfYXRvbWljX2dldF9uZXdfZGJ1Zl9zdGF0ZShpbnRl bF9zdGF0ZSk7Ci0JY29uc3Qgc3RydWN0IGludGVsX2RidWZfc3RhdGUgKm9sZF9kYnVmX3N0YXRl ID0KLQkJaW50ZWxfYXRvbWljX2dldF9vbGRfZGJ1Zl9zdGF0ZShpbnRlbF9zdGF0ZSk7Ci0JdTgg YWN0aXZlX3BpcGVzID0gbmV3X2RidWZfc3RhdGUtPmFjdGl2ZV9waXBlczsKIAl1MTYgZGRiX3Np emU7CiAJdTMyIGRkYl9yYW5nZV9zaXplOwogCXUzMiBpOwogCXUzMiBkYnVmX3NsaWNlX21hc2s7 CisJdTMyIGFjdGl2ZV9waXBlczsKIAl1MzIgb2Zmc2V0OwogCXUzMiBzbGljZV9zaXplOwogCXUz MiB0b3RhbF9zbGljZV9tYXNrOwogCXUzMiBzdGFydCwgZW5kOwotCWludCByZXQ7Ci0KLQkqbnVt X2FjdGl2ZSA9IGh3ZWlnaHQ4KGFjdGl2ZV9waXBlcyk7CiAKLQlpZiAoIWNydGNfc3RhdGUtPmh3 LmFjdGl2ZSkgeworCWlmIChkcm1fV0FSTl9PTigmZGV2X3ByaXYtPmRybSwgIXN0YXRlKSB8fCAh Y3J0Y19zdGF0ZS0+aHcuYWN0aXZlKSB7CiAJCWFsbG9jLT5zdGFydCA9IDA7CiAJCWFsbG9jLT5l bmQgPSAwOwotCQlyZXR1cm4gMDsKKwkJKm51bV9hY3RpdmUgPSBod2VpZ2h0OChkZXZfcHJpdi0+ YWN0aXZlX3BpcGVzKTsKKwkJcmV0dXJuOwogCX0KIAorCWlmIChpbnRlbF9zdGF0ZS0+YWN0aXZl X3BpcGVfY2hhbmdlcykKKwkJYWN0aXZlX3BpcGVzID0gaW50ZWxfc3RhdGUtPmFjdGl2ZV9waXBl czsKKwllbHNlCisJCWFjdGl2ZV9waXBlcyA9IGRldl9wcml2LT5hY3RpdmVfcGlwZXM7CisKKwkq bnVtX2FjdGl2ZSA9IGh3ZWlnaHQ4KGFjdGl2ZV9waXBlcyk7CisKIAlkZGJfc2l6ZSA9IGludGVs X2dldF9kZGJfc2l6ZShkZXZfcHJpdik7CiAKIAlzbGljZV9zaXplID0gZGRiX3NpemUgLyBJTlRF TF9JTkZPKGRldl9wcml2KS0+bnVtX3N1cHBvcnRlZF9kYnVmX3NsaWNlczsKQEAgLTQwODgsMTYg KzQwODksMTMgQEAgc2tsX2RkYl9nZXRfcGlwZV9hbGxvY2F0aW9uX2xpbWl0cyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJICogdGhhdCBjaGFuZ2VzIHRoZSBhY3RpdmUgQ1JU QyBsaXN0IG9yIGRvIG1vZGVzZXQgd291bGQgbmVlZCB0bwogCSAqIGdyYWIgX2FsbF8gY3J0YyBs b2NrcywgaW5jbHVkaW5nIHRoZSBvbmUgd2UgY3VycmVudGx5IGhvbGQuCiAJICovCi0JaWYgKG9s ZF9kYnVmX3N0YXRlLT5hY3RpdmVfcGlwZXMgPT0gbmV3X2RidWZfc3RhdGUtPmFjdGl2ZV9waXBl cyAmJgotCSAgICAhZGV2X3ByaXYtPndtLmRpc3RydXN0X2Jpb3Nfd20pIHsKKwlpZiAoIWludGVs X3N0YXRlLT5hY3RpdmVfcGlwZV9jaGFuZ2VzICYmICFpbnRlbF9zdGF0ZS0+bW9kZXNldCkgewog CQkvKgogCQkgKiBhbGxvYyBtYXkgYmUgY2xlYXJlZCBieSBjbGVhcl9pbnRlbF9jcnRjX3N0YXRl LAogCQkgKiBjb3B5IGZyb20gb2xkIHN0YXRlIHRvIGJlIHN1cmUKLQkJICoKLQkJICogRklYTUUg Z2V0IHJpZCBvZiB0aGlzIG1lc3MKIAkJICovCiAJCSphbGxvYyA9IHRvX2ludGVsX2NydGNfc3Rh dGUoZm9yX2NydGMtPnN0YXRlKS0+d20uc2tsLmRkYjsKLQkJcmV0dXJuIDA7CisJCXJldHVybjsK IAl9CiAKIAkvKgpAQCAtNDE3NiwxMyArNDE3NCw3IEBAIHNrbF9kZGJfZ2V0X3BpcGVfYWxsb2Nh dGlvbl9saW1pdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCSAqIEZJWE1F OiBGb3Igbm93IHdlIGFsd2F5cyBlbmFibGUgc2xpY2UgUzEgYXMgcGVyCiAJICogdGhlIEJzcGVj IGRpc3BsYXkgaW5pdGlhbGl6YXRpb24gc2VxdWVuY2UuCiAJICovCi0JbmV3X2RidWZfc3RhdGUt PmVuYWJsZWRfc2xpY2VzID0gdG90YWxfc2xpY2VfbWFzayB8IEJJVChEQlVGX1MxKTsKLQotCWlm IChvbGRfZGJ1Zl9zdGF0ZS0+ZW5hYmxlZF9zbGljZXMgIT0gbmV3X2RidWZfc3RhdGUtPmVuYWJs ZWRfc2xpY2VzKSB7Ci0JCXJldCA9IGludGVsX2F0b21pY19zZXJpYWxpemVfZ2xvYmFsX3N0YXRl KCZuZXdfZGJ1Zl9zdGF0ZS0+YmFzZSk7Ci0JCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OwotCX0K KwlpbnRlbF9zdGF0ZS0+ZW5hYmxlZF9kYnVmX3NsaWNlc19tYXNrID0gdG90YWxfc2xpY2VfbWFz ayB8IEJJVChEQlVGX1MxKTsKIAogCXN0YXJ0ID0gZGRiX3JhbmdlX3NpemUgKiB3aWR0aF9iZWZv cmVfcGlwZV9pbl9yYW5nZSAvIHRvdGFsX3dpZHRoX2luX3JhbmdlOwogCWVuZCA9IGRkYl9yYW5n ZV9zaXplICoKQEAgLTQxOTMsOCArNDE4NSw5IEBAIHNrbF9kZGJfZ2V0X3BpcGVfYWxsb2NhdGlv bl9saW1pdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJRFJNX0RFQlVH X0tNUygiUGlwZSAlZCBkZGIgJWQtJWRcbiIsIGZvcl9waXBlLAogCQkgICAgICBhbGxvYy0+c3Rh cnQsIGFsbG9jLT5lbmQpOwotCi0JcmV0dXJuIDA7CisJRFJNX0RFQlVHX0tNUygiRW5hYmxlZCBk ZGIgc2xpY2VzIG1hc2sgJXggbnVtIHN1cHBvcnRlZCAlZFxuIiwKKwkJICAgICAgaW50ZWxfc3Rh dGUtPmVuYWJsZWRfZGJ1Zl9zbGljZXNfbWFzaywKKwkJICAgICAgSU5URUxfSU5GTyhkZXZfcHJp diktPm51bV9zdXBwb3J0ZWRfZGJ1Zl9zbGljZXMpOwogfQogCiBzdGF0aWMgaW50IHNrbF9jb21w dXRlX3dtX3BhcmFtcyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwK QEAgLTQzMTcsOCArNDMxMCw4IEBAIHZvaWQgc2tsX3BpcGVfZGRiX2dldF9od19zdGF0ZShzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAogdm9pZCBza2xfZGRiX2dldF9od19zdGF0ZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JZGV2X3ByaXYtPmRidWYuZW5hYmxlZF9z bGljZXMgPQotCQlpbnRlbF9lbmFibGVkX2RidWZfc2xpY2VzX21hc2soZGV2X3ByaXYpOworCWRl dl9wcml2LT5lbmFibGVkX2RidWZfc2xpY2VzX21hc2sgPQorCQkJCWludGVsX2VuYWJsZWRfZGJ1 Zl9zbGljZXNfbWFzayhkZXZfcHJpdik7CiB9CiAKIC8qCkBAIC00NzY1LDcgKzQ3NTgsNiBAQCBz a2xfYWxsb2NhdGVfcGlwZV9kZGIoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp CiAJdTY0IHV2X3BsYW5lX2RhdGFfcmF0ZVtJOTE1X01BWF9QTEFORVNdID0ge307CiAJdTMyIGJs b2NrczsKIAlpbnQgbGV2ZWw7Ci0JaW50IHJldDsKIAogCS8qIENsZWFyIHRoZSBwYXJ0aXRpb25p bmcgZm9yIGRpc2FibGVkIHBsYW5lcy4gKi8KIAltZW1zZXQoY3J0Y19zdGF0ZS0+d20uc2tsLnBs YW5lX2RkYl95LCAwLCBzaXplb2YoY3J0Y19zdGF0ZS0+d20uc2tsLnBsYW5lX2RkYl95KSk7CkBA IC00Nzg2LDEyICs0Nzc4LDggQEAgc2tsX2FsbG9jYXRlX3BpcGVfZGRiKHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQkJCQkJCSBwbGFuZV9kYXRhX3JhdGUsCiAJCQkJCQkJ IHV2X3BsYW5lX2RhdGFfcmF0ZSk7CiAKLQlyZXQgPSBza2xfZGRiX2dldF9waXBlX2FsbG9jYXRp b25fbGltaXRzKGRldl9wcml2LCBjcnRjX3N0YXRlLAotCQkJCQkJIHRvdGFsX2RhdGFfcmF0ZSwK LQkJCQkJCSBhbGxvYywgJm51bV9hY3RpdmUpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0K Kwlza2xfZGRiX2dldF9waXBlX2FsbG9jYXRpb25fbGltaXRzKGRldl9wcml2LCBjcnRjX3N0YXRl LCB0b3RhbF9kYXRhX3JhdGUsCisJCQkJCSAgIGFsbG9jLCAmbnVtX2FjdGl2ZSk7CiAJYWxsb2Nf c2l6ZSA9IHNrbF9kZGJfZW50cnlfc2l6ZShhbGxvYyk7CiAJaWYgKGFsbG9jX3NpemUgPT0gMCkK IAkJcmV0dXJuIDA7CkBAIC01NzEyLDExICs1NzAwLDE0IEBAIHNrbF9kZGJfYWRkX2FmZmVjdGVk X3BsYW5lcyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiBz dGF0aWMgaW50CiBza2xfY29tcHV0ZV9kZGIoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3Rh dGUpCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0 ZS0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZTsK IAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGU7CiAJc3RydWN0IGludGVs X2NydGMgKmNydGM7CiAJaW50IHJldCwgaTsKIAorCXN0YXRlLT5lbmFibGVkX2RidWZfc2xpY2Vz X21hc2sgPSBkZXZfcHJpdi0+ZW5hYmxlZF9kYnVmX3NsaWNlc19tYXNrOworCiAJZm9yX2VhY2hf b2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLAog CQkJCQkgICAgbmV3X2NydGNfc3RhdGUsIGkpIHsKIAkJcmV0ID0gc2tsX2FsbG9jYXRlX3BpcGVf ZGRiKG5ld19jcnRjX3N0YXRlKTsKQEAgLTU4NjQsOCArNTg1NSw3IEBAIHNrbF9wcmludF93bV9j aGFuZ2VzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCX0KIH0KIAotc3RhdGlj IGludCBpbnRlbF9hZGRfYWZmZWN0ZWRfcGlwZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUsCi0JCQkJICAgIHU4IHBpcGVfbWFzaykKK3N0YXRpYyBpbnQgaW50ZWxfYWRkX2FsbF9w aXBlcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5iYXNlLmRldik7CiAJc3RydWN0 IGludGVsX2NydGMgKmNydGM7CkBAIC01ODczLDkgKzU4NjMsNiBAQCBzdGF0aWMgaW50IGludGVs X2FkZF9hZmZlY3RlZF9waXBlcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAlm b3JfZWFjaF9pbnRlbF9jcnRjKCZkZXZfcHJpdi0+ZHJtLCBjcnRjKSB7CiAJCXN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwogCi0JCWlmICgocGlwZV9tYXNrICYgQklUKGNydGMt PnBpcGUpKSA9PSAwKQotCQkJY29udGludWU7Ci0KIAkJY3J0Y19zdGF0ZSA9IGludGVsX2F0b21p Y19nZXRfY3J0Y19zdGF0ZSgmc3RhdGUtPmJhc2UsIGNydGMpOwogCQlpZiAoSVNfRVJSKGNydGNf c3RhdGUpKQogCQkJcmV0dXJuIFBUUl9FUlIoY3J0Y19zdGF0ZSk7CkBAIC01ODg4LDU0ICs1ODc1 LDQ5IEBAIHN0YXRpYyBpbnQKIHNrbF9kZGJfYWRkX2FmZmVjdGVkX3BpcGVzKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YzsKLQlpbnQgaSwgcmV0Owor CWludCByZXQ7CiAKKwkvKgorCSAqIElmIHRoaXMgaXMgb3VyIGZpcnN0IGF0b21pYyB1cGRhdGUg Zm9sbG93aW5nIGhhcmR3YXJlIHJlYWRvdXQsCisJICogd2UgY2FuJ3QgdHJ1c3QgdGhlIEREQiB0 aGF0IHRoZSBCSU9TIHByb2dyYW1tZWQgZm9yIHVzLiAgTGV0J3MKKwkgKiBwcmV0ZW5kIHRoYXQg YWxsIHBpcGVzIHN3aXRjaGVkIGFjdGl2ZSBzdGF0dXMgc28gdGhhdCB3ZSdsbAorCSAqIGVuc3Vy ZSBhIGZ1bGwgRERCIHJlY29tcHV0ZS4KKwkgKi8KIAlpZiAoZGV2X3ByaXYtPndtLmRpc3RydXN0 X2Jpb3Nfd20pIHsKLQkJLyoKLQkJICogc2tsX2RkYl9nZXRfcGlwZV9hbGxvY2F0aW9uX2xpbWl0 cygpIGN1cnJlbnRseSByZXF1aXJlcwotCQkgKiBhbGwgYWN0aXZlIHBpcGVzIHRvIGJlIGluY2x1 ZGVkIGluIHRoZSBzdGF0ZSBzbyB0aGF0Ci0JCSAqIGl0IGNhbiByZWRpc3RyaWJ1dGUgdGhlIGRi dWYgYW1vbmcgdGhlbSwgYW5kIGl0IHJlYWxseQotCQkgKiB3YW50cyB0byByZWNvbXB1dGUgdGhp bmdzIHdoZW4gZGlzdHJ1c3RfYmlvc193bSBpcyBzZXQKLQkJICogc28gd2UgYWRkIGFsbCB0aGUg cGlwZXMgdG8gdGhlIHN0YXRlLgotCQkgKi8KLQkJcmV0ID0gaW50ZWxfYWRkX2FmZmVjdGVkX3Bp cGVzKHN0YXRlLCB+MCk7CisJCXJldCA9IGRybV9tb2Rlc2V0X2xvY2soJmRldl9wcml2LT5kcm0u bW9kZV9jb25maWcuY29ubmVjdGlvbl9tdXRleCwKKwkJCQkgICAgICAgc3RhdGUtPmJhc2UuYWNx dWlyZV9jdHgpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKLQl9CiAKLQlmb3JfZWFjaF9u ZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewotCQlz dHJ1Y3QgaW50ZWxfZGJ1Zl9zdGF0ZSAqbmV3X2RidWZfc3RhdGU7Ci0JCWNvbnN0IHN0cnVjdCBp bnRlbF9kYnVmX3N0YXRlICpvbGRfZGJ1Zl9zdGF0ZTsKLQotCQluZXdfZGJ1Zl9zdGF0ZSA9IGlu dGVsX2F0b21pY19nZXRfZGJ1Zl9zdGF0ZShzdGF0ZSk7Ci0JCWlmIChJU19FUlIobmV3X2RidWZf c3RhdGUpKQotCQkJcmV0dXJuIHJldDsKLQotCQlvbGRfZGJ1Zl9zdGF0ZSA9IGludGVsX2F0b21p Y19nZXRfb2xkX2RidWZfc3RhdGUoc3RhdGUpOwotCi0JCW5ld19kYnVmX3N0YXRlLT5hY3RpdmVf cGlwZXMgPQotCQkJaW50ZWxfY2FsY19hY3RpdmVfcGlwZXMoc3RhdGUsIG9sZF9kYnVmX3N0YXRl LT5hY3RpdmVfcGlwZXMpOwotCi0JCWlmIChvbGRfZGJ1Zl9zdGF0ZS0+YWN0aXZlX3BpcGVzID09 IG5ld19kYnVmX3N0YXRlLT5hY3RpdmVfcGlwZXMpCi0JCQlicmVhazsKLQotCQlyZXQgPSBpbnRl bF9hdG9taWNfbG9ja19nbG9iYWxfc3RhdGUoJm5ld19kYnVmX3N0YXRlLT5iYXNlKTsKLQkJaWYg KHJldCkKLQkJCXJldHVybiByZXQ7CisJCXN0YXRlLT5hY3RpdmVfcGlwZV9jaGFuZ2VzID0gSU5U RUxfSU5GTyhkZXZfcHJpdiktPnBpcGVfbWFzazsKIAogCQkvKgotCQkgKiBza2xfZGRiX2dldF9w aXBlX2FsbG9jYXRpb25fbGltaXRzKCkgY3VycmVudGx5IHJlcXVpcmVzCi0JCSAqIGFsbCBhY3Rp dmUgcGlwZXMgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHN0YXRlIHNvIHRoYXQKLQkJICogaXQgY2Fu IHJlZGlzdHJpYnV0ZSB0aGUgZGJ1ZiBhbW9uZyB0aGVtLgorCQkgKiBXZSB1c3VhbGx5IG9ubHkg aW5pdGlhbGl6ZSBzdGF0ZS0+YWN0aXZlX3BpcGVzIGlmIHdlCisJCSAqIHdlJ3JlIGRvaW5nIGEg bW9kZXNldDsgbWFrZSBzdXJlIHRoaXMgZmllbGQgaXMgYWx3YXlzCisJCSAqIGluaXRpYWxpemVk IGR1cmluZyB0aGUgc2FuaXRpemF0aW9uIHByb2Nlc3MgdGhhdCBoYXBwZW5zCisJCSAqIG9uIHRo ZSBmaXJzdCBjb21taXQgdG9vLgogCQkgKi8KLQkJcmV0ID0gaW50ZWxfYWRkX2FmZmVjdGVkX3Bp cGVzKHN0YXRlLAotCQkJCQkgICAgICAgbmV3X2RidWZfc3RhdGUtPmFjdGl2ZV9waXBlcyk7CisJ CWlmICghc3RhdGUtPm1vZGVzZXQpCisJCQlzdGF0ZS0+YWN0aXZlX3BpcGVzID0gZGV2X3ByaXYt PmFjdGl2ZV9waXBlczsKKwl9CisKKwkvKgorCSAqIElmIHRoZSBtb2Rlc2V0IGNoYW5nZXMgd2hp Y2ggQ1JUQydzIGFyZSBhY3RpdmUsIHdlIG5lZWQgdG8KKwkgKiByZWNvbXB1dGUgdGhlIEREQiBh bGxvY2F0aW9uIGZvciAqYWxsKiBhY3RpdmUgcGlwZXMsIGV2ZW4KKwkgKiB0aG9zZSB0aGF0IHdl cmVuJ3Qgb3RoZXJ3aXNlIGJlaW5nIG1vZGlmaWVkIGluIGFueSB3YXkgYnkgdGhpcworCSAqIGF0 b21pYyBjb21taXQuICBEdWUgdG8gdGhlIHNocmlua2luZyBvZiB0aGUgcGVyLXBpcGUgYWxsb2Nh dGlvbnMKKwkgKiB3aGVuIG5ldyBhY3RpdmUgQ1JUQydzIGFyZSBhZGRlZCwgaXQncyBwb3NzaWJs ZSBmb3IgYSBwaXBlIHRoYXQKKwkgKiB3ZSB3ZXJlIGFscmVhZHkgdXNpbmcgYW5kIGFyZW4ndCBj aGFuZ2luZyBhdCBhbGwgaGVyZSB0byBzdWRkZW5seQorCSAqIGJlY29tZSBpbnZhbGlkIGlmIGl0 cyBEREIgbmVlZHMgZXhjZWVkcyBpdHMgbmV3IGFsbG9jYXRpb24uCisJICoKKwkgKiBOb3RlIHRo YXQgaWYgd2Ugd2luZCB1cCBkb2luZyBhIGZ1bGwgRERCIHJlY29tcHV0ZSwgd2UgY2FuJ3QgbGV0 CisJICogYW55IG90aGVyIGRpc3BsYXkgdXBkYXRlcyByYWNlIHdpdGggdGhpcyB0cmFuc2FjdGlv biwgc28gd2UgbmVlZAorCSAqIHRvIGdyYWIgdGhlIGxvY2sgb24gKmFsbCogQ1JUQydzLgorCSAq LworCWlmIChzdGF0ZS0+YWN0aXZlX3BpcGVfY2hhbmdlcyB8fCBzdGF0ZS0+bW9kZXNldCkgewor CQlyZXQgPSBpbnRlbF9hZGRfYWxsX3BpcGVzKHN0YXRlKTsKIAkJaWYgKHJldCkKIAkJCXJldHVy biByZXQ7Ci0KLQkJYnJlYWs7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC03NzY0LDUyICs3NzQ2LDMg QEAgdm9pZCBpbnRlbF9wbV9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJZGV2X3ByaXYtPnJ1bnRpbWVfcG0uc3VzcGVuZGVkID0gZmFsc2U7CiAJYXRvbWljX3NldCgm ZGV2X3ByaXYtPnJ1bnRpbWVfcG0ud2FrZXJlZl9jb3VudCwgMCk7CiB9Ci0KLXN0YXRpYyBzdHJ1 Y3QgaW50ZWxfZ2xvYmFsX3N0YXRlICppbnRlbF9kYnVmX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3Qg aW50ZWxfZ2xvYmFsX29iaiAqb2JqKQotewotCXN0cnVjdCBpbnRlbF9kYnVmX3N0YXRlICpkYnVm X3N0YXRlOwotCi0JZGJ1Zl9zdGF0ZSA9IGttZW1kdXAob2JqLT5zdGF0ZSwgc2l6ZW9mKCpkYnVm X3N0YXRlKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFkYnVmX3N0YXRlKQotCQlyZXR1cm4gTlVMTDsK LQotCXJldHVybiAmZGJ1Zl9zdGF0ZS0+YmFzZTsKLX0KLQotc3RhdGljIHZvaWQgaW50ZWxfZGJ1 Zl9kZXN0cm95X3N0YXRlKHN0cnVjdCBpbnRlbF9nbG9iYWxfb2JqICpvYmosCi0JCQkJICAgICBz dHJ1Y3QgaW50ZWxfZ2xvYmFsX3N0YXRlICpzdGF0ZSkKLXsKLQlrZnJlZShzdGF0ZSk7Ci19Ci0K LXN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZ2xvYmFsX3N0YXRlX2Z1bmNzIGludGVsX2RidWZf ZnVuY3MgPSB7Ci0JLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBpbnRlbF9kYnVmX2R1cGxpY2F0 ZV9zdGF0ZSwKLQkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBpbnRlbF9kYnVmX2Rlc3Ryb3lfc3Rh dGUsCi19OwotCi1zdHJ1Y3QgaW50ZWxfZGJ1Zl9zdGF0ZSAqCi1pbnRlbF9hdG9taWNfZ2V0X2Ri dWZfc3RhdGUoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCi17Ci0Jc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+YmFzZS5kZXYpOwotCXN0 cnVjdCBpbnRlbF9nbG9iYWxfc3RhdGUgKmRidWZfc3RhdGU7Ci0KLQlkYnVmX3N0YXRlID0gaW50 ZWxfYXRvbWljX2dldF9nbG9iYWxfb2JqX3N0YXRlKHN0YXRlLCAmZGV2X3ByaXYtPmRidWYub2Jq KTsKLQlpZiAoSVNfRVJSKGRidWZfc3RhdGUpKQotCQlyZXR1cm4gRVJSX0NBU1QoZGJ1Zl9zdGF0 ZSk7Ci0KLQlyZXR1cm4gdG9faW50ZWxfZGJ1Zl9zdGF0ZShkYnVmX3N0YXRlKTsKLX0KLQotaW50 IGludGVsX2RidWZfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCi17Ci0J c3RydWN0IGludGVsX2RidWZfc3RhdGUgKmRidWZfc3RhdGU7Ci0KLQlkYnVmX3N0YXRlID0ga3ph bGxvYyhzaXplb2YoKmRidWZfc3RhdGUpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWRidWZfc3RhdGUp Ci0JCXJldHVybiAtRU5PTUVNOwotCi0JaW50ZWxfYXRvbWljX2dsb2JhbF9vYmpfaW5pdChkZXZf cHJpdiwgJmRldl9wcml2LT5kYnVmLm9iaiwKLQkJCQkgICAgICZkYnVmX3N0YXRlLT5iYXNlLCAm aW50ZWxfZGJ1Zl9mdW5jcyk7Ci0KLQlyZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5o CmluZGV4IDlmNzVhYzRjMmJkMS4uNjE0YWM3ZjhkNGNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmgKQEAgLTgsOCArOCw2IEBACiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCi0jaW5jbHVk ZSAiZGlzcGxheS9pbnRlbF9nbG9iYWxfc3RhdGUuaCIKLQogI2luY2x1ZGUgImk5MTVfcmVnLmgi CiAjaW5jbHVkZSAiZGlzcGxheS9pbnRlbF9idy5oIgogCkBAIC02NSwyNCArNjMsNCBAQCB2b2lk IGludGVsX2VuYWJsZV9pcGMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIAog Ym9vbCBpbnRlbF9zZXRfbWVtb3J5X2N4c3Ioc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBib29sIGVuYWJsZSk7CiAKLXN0cnVjdCBpbnRlbF9kYnVmX3N0YXRlIHsKLQlzdHJ1Y3Qg aW50ZWxfZ2xvYmFsX3N0YXRlIGJhc2U7Ci0KLQl1OCBlbmFibGVkX3NsaWNlczsKLQl1OCBhY3Rp dmVfcGlwZXM7Ci19OwotCi1pbnQgaW50ZWxfZGJ1Zl9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Ci0KLXN0cnVjdCBpbnRlbF9kYnVmX3N0YXRlICoKLWludGVsX2F0b21p Y19nZXRfZGJ1Zl9zdGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSk7Ci0KLSNk ZWZpbmUgdG9faW50ZWxfZGJ1Zl9zdGF0ZSh4KSBjb250YWluZXJfb2YoKHgpLCBzdHJ1Y3QgaW50 ZWxfZGJ1Zl9zdGF0ZSwgYmFzZSkKLSNkZWZpbmUgaW50ZWxfYXRvbWljX2dldF9vbGRfZGJ1Zl9z dGF0ZShzdGF0ZSkgXAotCXRvX2ludGVsX2RidWZfc3RhdGUoaW50ZWxfYXRvbWljX2dldF9vbGRf Z2xvYmFsX29ial9zdGF0ZShzdGF0ZSwgJnRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KS0+ZGJ1Zi5v YmopKQotI2RlZmluZSBpbnRlbF9hdG9taWNfZ2V0X25ld19kYnVmX3N0YXRlKHN0YXRlKSBcCi0J dG9faW50ZWxfZGJ1Zl9zdGF0ZShpbnRlbF9hdG9taWNfZ2V0X25ld19nbG9iYWxfb2JqX3N0YXRl KHN0YXRlLCAmdG9faTkxNShzdGF0ZS0+YmFzZS5kZXYpLT5kYnVmLm9iaikpCi0KLWludCBpbnRl bF9kYnVmX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKLQogI2VuZGlm IC8qIF9fSU5URUxfUE1fSF9fICovCi0tIAoyLjI2LjIKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=