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=-8.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,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 A3BA8C43613 for ; Thu, 20 Jun 2019 18:51:08 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 79F252089C for ; Thu, 20 Jun 2019 18:51:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="eBAZ6bLR" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 79F252089C 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=linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=vq9z914H266vzvq9sdyCk9H3BGsJ/c4fCd3V03BozDg=; b=eBAZ6bLRCPmWHA P9BNnuAlueESMDhyzh+M+lVCXwGG8DWnpjx47n1nc02zf0cDzgXo5ncPjq0MsjATKUROgAuCOPF8g 3dYUfMN+jlHSpJ68Yn+7FN4uaed3IG55a30BQbZuAQd+0pRXtzqm6ZaEQhG25mhF1T0cHUGSuIkom w5hVS1lnnMr69cR87Q0WE9qeypSV3x5gR7nkvbh27ugIG+kiuotMKUWdyr8Gf8gCWSCt5UsGR086D h2MJY4rGGzTICW4Xq5qhjrLdxuWvCe0Q8Vr9p8301UdtKf/P7HsDsLeJIkWKiabfdv9ZH4X4DWgxZ ZKFFqmWHx08MTfqf4/wQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1he29D-0000Xx-IZ; Thu, 20 Jun 2019 18:50:59 +0000 Received: from mga09.intel.com ([134.134.136.24]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1he299-0000XC-JE for linux-amlogic@lists.infradead.org; Thu, 20 Jun 2019 18:50:58 +0000 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Jun 2019 11:50:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,397,1557212400"; d="scan'208";a="160756473" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga008.fm.intel.com with SMTP; 20 Jun 2019 11:50:49 -0700 Received: by stinkbox (sSMTP sendmail emulation); Thu, 20 Jun 2019 21:50:49 +0300 From: Ville Syrjala To: dri-devel@lists.freedesktop.org Subject: [PATCH 1/2] drm: Pretty print mode flags Date: Thu, 20 Jun 2019 21:50:48 +0300 Message-Id: <20190620185049.8974-1-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190620_115055_718701_79664563 X-CRM114-Status: GOOD ( 19.63 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: freedreno@lists.freedesktop.org, Neil Armstrong , Vincent Abriou , intel-gfx@lists.freedesktop.org, Russell King , Rob Clark , Tomi Valkeinen , Thierry Reding , Benjamin Gaignard , linux-arm-msm@vger.kernel.org, linux-amlogic@lists.infradead.org, Sam Ravnborg , Ilia Mirkin Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkRl Y29kZSB0aGUgbW9kZSBmbGFncyB3aGVuIHByaW50aW5nIHRoZSBtb2RlbGluZSBzbyB0aGF0IEkK bm8gbG9uZ2VyIGhhdmUgdG8gZGVjb2RlIHRoZSBoZXggbnVtYmVyIG15c2VsZi4KClRvIGRvIHRo aXMgbmVhdGx5IEkgbWFkZSB0aGUgY2FsbGVyIHByb3ZpZGUgYSB0ZW1wb3JhcnkKb24gc3RhY2sg YnVmZmVyIHdoZXJlIHdlIGNhbiBwcm9kdWNlIHRoZSByZXN1bHRzLiBJIGNob2NlIDY0CmJ5dGVz IGFzIGEgcmVhc29uYWJsZSBzaXplIGZvciB0aGlzLiBUaGUgd29yc3QgY2FzZSBJIHRoaW5rCmlz ID4gMTAwIGJ5dGVzIGJ1dCB0aGF0IGtpbmQgb2YgbW9kZSB3b3VsZCBiZSBub25zZW5zZSBhbnl3 YXkKc28gSSBmaWd1cmVkIGNvcnJlY3QgZGVjb2RpbmcgaXNuJ3QgYXMgaW1wb3J0YW50IGluIHN1 Y2gKY2FzZXMuCgpDYzogUnVzc2VsbCBLaW5nIDxsaW51eEBhcm1saW51eC5vcmcudWs+CkNjOiBO ZWlsIEFybXN0cm9uZyA8bmFybXN0cm9uZ0BiYXlsaWJyZS5jb20+CkNjOiBSb2IgQ2xhcmsgPHJv YmRjbGFya0BnbWFpbC5jb20+CkNjOiBUb21pIFZhbGtlaW5lbiA8dG9taS52YWxrZWluZW5AdGku Y29tPgpDYzogVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNvbT4KQ2M6IFNh bSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KQ2M6IEJlbmphbWluIEdhaWduYXJkIDxiZW5q YW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgpDYzogVmluY2VudCBBYnJpb3UgPHZpbmNlbnQuYWJy aW91QHN0LmNvbT4KQ2M6IGxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogbGlu dXgtYXJtLW1zbUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3Rv cC5vcmcKQ2M6IElsaWEgTWlya2luIDxpbWlya2luQGFsdW0ubWl0LmVkdT4KU2lnbmVkLW9mZi1i eTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMgICAgICAgICAgfCAgIDMgKy0KIGRy aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAgICAgICAgICAgICAgICB8ICAgMyArLQogZHJp dmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jICAgICAgICAgICAgICAgICAgIHwgMTE2ICsrKysrKysr KysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAgICAg IHwgICAzICstCiBkcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHdfaGRtaS5jICAgICAgICAg fCAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl92ZW5jLmMgICAgICAgICAgICB8 ICAgNCArLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9jcnRjLmMgICAgIHwg ICAzICstCiAuLi4vZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfZHNpX2VuY29kZXIuYyAgfCAg IDMgKy0KIC4uLi9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9kdHZfZW5jb2Rlci5jICB8ICAg MyArLQogLi4uL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2xjZGNfZW5jb2Rlci5jIHwgICAz ICstCiAuLi4vZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY21kX2VuY29kZXIuYyAgfCAgIDQg Ky0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfY3J0Yy5jICAgICB8ICAgMyAr LQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9lbmNvZGVyLmMgIHwgICAzICst CiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jICAgICAgICAgfCAgIDMgKy0K IGRyaXZlcnMvZ3B1L2RybS9tc20vZWRwL2VkcF9icmlkZ2UuYyAgICAgICAgICB8ICAgMyArLQog ZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYyAgICAgIHwgICA1ICstCiBk cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYyAgICAgICAgICAgfCAgIDMgKy0KIGRy aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb25iby1yYjA3MGQzMC5jICB8ICAgMyArLQogZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfY3J0Yy5jICAgICAgICAgICAgICAgIHwgICAzICstCiBpbmNs dWRlL2RybS9kcm1fbW9kZXMuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgMTQgKystCiAyMCBm aWxlcyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jIGIvZHJpdmVycy9ncHUv ZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jCmluZGV4IGJhNGEzZmFiNzc0NS4uY2U5MzM1NjgyYmQy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jCkBAIC0yNjIsNiArMjYyLDcgQEAg c3RhdGljIHZvaWQgYXJtYWRhX2RybV9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0IGRybV9jcnRj ICpjcnRjKQogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdW5zaWduZWQgaTsKIAlib29sIGludGVy bGFjZWQgPSAhIShhZGotPmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpOworCWNoYXIg YnVmW0RSTV9NT0RFX0ZMQUdTX0JVRl9MRU5dOwogCiAJaSA9IDA7CiAJcm0gPSBhZGotPmNydGNf aHN5bmNfc3RhcnQgLSBhZGotPmNydGNfaGRpc3BsYXk7CkBAIC0yNzAsNyArMjcxLDcgQEAgc3Rh dGljIHZvaWQgYXJtYWRhX2RybV9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0IGRybV9jcnRjICpj cnRjKQogCXRtID0gYWRqLT5jcnRjX3Z0b3RhbCAtIGFkai0+Y3J0Y192c3luY19lbmQ7CiAKIAlE Uk1fREVCVUdfS01TKCJbQ1JUQzolZDolc10gbW9kZSAiIERSTV9NT0RFX0ZNVCAiXG4iLAotCQkg ICAgICBjcnRjLT5iYXNlLmlkLCBjcnRjLT5uYW1lLCBEUk1fTU9ERV9BUkcoYWRqKSk7CisJCSAg ICAgIGNydGMtPmJhc2UuaWQsIGNydGMtPm5hbWUsIERSTV9NT0RFX0FSRyhhZGosIGJ1ZikpOwog CURSTV9ERUJVR19LTVMoImxtICVkIHJtICVkIHRtICVkIGJtICVkXG4iLCBsbSwgcm0sIHRtLCBi bSk7CiAKIAkvKiBOb3cgY29tcHV0ZSB0aGUgZGl2aWRlciBmb3IgcmVhbCAqLwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKaW5kZXggNDE5MzgxYWJiZGQxLi44MWNhZjkxZmJkNzIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YwpAQCAtMzgwLDYgKzM4MCw3IEBAIHN0YXRpYyB2b2lkIGRybV9hdG9taWNfY3J0Y19wcmludF9z dGF0ZShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCiAJCWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqc3RhdGUpCiB7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjID0gc3RhdGUtPmNydGM7CisJY2hh ciBidWZbRFJNX01PREVfRkxBR1NfQlVGX0xFTl07CiAKIAlkcm1fcHJpbnRmKHAsICJjcnRjWyV1 XTogJXNcbiIsIGNydGMtPmJhc2UuaWQsIGNydGMtPm5hbWUpOwogCWRybV9wcmludGYocCwgIlx0 ZW5hYmxlPSVkXG4iLCBzdGF0ZS0+ZW5hYmxlKTsKQEAgLTM5Myw3ICszOTQsNyBAQCBzdGF0aWMg dm9pZCBkcm1fYXRvbWljX2NydGNfcHJpbnRfc3RhdGUoc3RydWN0IGRybV9wcmludGVyICpwLAog CWRybV9wcmludGYocCwgIlx0cGxhbmVfbWFzaz0leFxuIiwgc3RhdGUtPnBsYW5lX21hc2spOwog CWRybV9wcmludGYocCwgIlx0Y29ubmVjdG9yX21hc2s9JXhcbiIsIHN0YXRlLT5jb25uZWN0b3Jf bWFzayk7CiAJZHJtX3ByaW50ZihwLCAiXHRlbmNvZGVyX21hc2s9JXhcbiIsIHN0YXRlLT5lbmNv ZGVyX21hc2spOwotCWRybV9wcmludGYocCwgIlx0bW9kZTogIiBEUk1fTU9ERV9GTVQgIlxuIiwg RFJNX01PREVfQVJHKCZzdGF0ZS0+bW9kZSkpOworCWRybV9wcmludGYocCwgIlx0bW9kZTogIiBE Uk1fTU9ERV9GTVQgIlxuIiwgRFJNX01PREVfQVJHKCZzdGF0ZS0+bW9kZSwgYnVmKSk7CiAKIAlp ZiAoY3J0Yy0+ZnVuY3MtPmF0b21pY19wcmludF9zdGF0ZSkKIAkJY3J0Yy0+ZnVuY3MtPmF0b21p Y19wcmludF9zdGF0ZShwLCBzdGF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X21vZGVzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMKaW5kZXggNTdlNjQwODI4OGM4 Li4zZDE1YzYwMDI5NWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMKQEAgLTQ1LDYgKzQ1LDExOCBAQAogCiAj aW5jbHVkZSAiZHJtX2NydGNfaW50ZXJuYWwuaCIKIAorc3RhdGljIGNoYXIgKnNucHJpbnRfY29u dChjaGFyICpidWYsIGludCAqbGVuLAorCQkJICBjb25zdCBjaGFyICpzdHIsIGJvb2wgbGFzdCkK K3sKKwlpbnQgcjsKKworCXIgPSBzbnByaW50ZihidWYsICpsZW4sICIlcyVzIiwgc3RyLCBsYXN0 ID8gIiIgOiAiLCIpOworCWlmIChyID49ICpsZW4pCisJCXJldHVybiBidWY7CisKKwkqbGVuIC09 IHI7CisJYnVmICs9IHI7CisKKwlyZXR1cm4gYnVmOworfQorCisjZGVmaW5lIE1PREVfU1RSKHgp IHsgLm5hbWUgPSAjeCwgLmZsYWcgPSBEUk1fTU9ERV9GTEFHXyAjIyB4LCB9CisKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJdTMyIGZsYWc7Cit9IG1vZGVfZmxh Z3NbXSA9IHsKKwlNT0RFX1NUUihQSFNZTkMpLAorCU1PREVfU1RSKE5IU1lOQyksCisJTU9ERV9T VFIoUFZTWU5DKSwKKwlNT0RFX1NUUihOVlNZTkMpLAorCU1PREVfU1RSKElOVEVSTEFDRSksCisJ TU9ERV9TVFIoQ1NZTkMpLAorCU1PREVfU1RSKFBDU1lOQyksCisJTU9ERV9TVFIoTkNTWU5DKSwK KwlNT0RFX1NUUihEQkxTQ0FOKSwKKwlNT0RFX1NUUihIU0tFVyksCisJTU9ERV9TVFIoREJMQ0xL KSwKKwlNT0RFX1NUUihDTEtESVYyKSwKK307CisKKyN1bmRlZiBNT0RFX1NUUgorI2RlZmluZSBN T0RFX1NUUih4KSBbRFJNX01PREVfRkxBR18zRF8gIyMgeCA+PiAxNF0gPSAjeAorCitzdGF0aWMg Y29uc3QgY2hhciAqIGNvbnN0IHN0ZXJlb19mbGFnc1tdID0geworCU1PREVfU1RSKE5PTkUpLAor CU1PREVfU1RSKEZSQU1FX1BBQ0tJTkcpLAorCU1PREVfU1RSKEZJRUxEX0FMVEVSTkFUSVZFKSwK KwlNT0RFX1NUUihMSU5FX0FMVEVSTkFUSVZFKSwKKwlNT0RFX1NUUihTSURFX0JZX1NJREVfRlVM TCksCisJTU9ERV9TVFIoTF9ERVBUSCksCisJTU9ERV9TVFIoTF9ERVBUSF9HRlhfR0ZYX0RFUFRI KSwKKwlNT0RFX1NUUihUT1BfQU5EX0JPVFRPTSksCisJTU9ERV9TVFIoU0lERV9CWV9TSURFX0hB TEYpLAorfTsKKworI3VuZGVmIE1PREVfU1RSCisjZGVmaW5lIE1PREVfU1RSKHgpIFtEUk1fTU9E RV9GTEFHX1BJQ19BUl8gIyMgeCA+PiAxOV0gPSAjeAorCitzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IGFzcGVjdF9mbGFnc1tdID0geworCU1PREVfU1RSKE5PTkUpLAorCU1PREVfU1RSKDRfMyks CisJTU9ERV9TVFIoMTZfOSksCisJTU9ERV9TVFIoNjRfMjcpLAorCU1PREVfU1RSKDI1Nl8xMzUp LAorfTsKKworI3VuZGVmIE1PREVfU1RSCisKK2NvbnN0IGNoYXIgKmRybV9nZXRfbW9kZV9mbGFn c19uYW1lKGNoYXIgKmJ1ZiwgaW50IGxlbiwgdTMyIGZsYWdzKQoreworCWNoYXIgKnB0ciA9IGJ1 ZjsKKwlpbnQgaTsKKworCWlmIChsZW4gPT0gMCkKKwkJcmV0dXJuIGJ1ZjsKKworCWJ1ZlswXSA9 ICdcMCc7CisKKwlpZiAoZmxhZ3MgJiBEUk1fTU9ERV9GTEFHXzNEX01BU0spIHsKKwkJaW50IHN0 ZXJlbyA9IChmbGFncyAmIERSTV9NT0RFX0ZMQUdfM0RfTUFTSykgPj4gMTQ7CisKKwkJaWYgKHN0 ZXJlbyA8IEFSUkFZX1NJWkUoc3RlcmVvX2ZsYWdzKSkgeworCQkJZmxhZ3MgJj0gfkRSTV9NT0RF X0ZMQUdfM0RfTUFTSzsKKwkJCXB0ciA9IHNucHJpbnRfY29udChwdHIsICZsZW4sCisJCQkJCSAg IHN0ZXJlb19mbGFnc1tzdGVyZW9dLCAhZmxhZ3MpOworCQl9CisJfQorCisJaWYgKGZsYWdzICYg RFJNX01PREVfRkxBR19QSUNfQVJfTUFTSykgeworCQlpbnQgYXNwZWN0ID0gKGZsYWdzICYgRFJN X01PREVfRkxBR19QSUNfQVJfTUFTSykgPj4gMTk7CisKKwkJaWYgKGFzcGVjdCA8IEFSUkFZX1NJ WkUoYXNwZWN0X2ZsYWdzKSkgeworCQkJZmxhZ3MgJj0gfkRSTV9NT0RFX0ZMQUdfUElDX0FSX01B U0s7CisJCQlwdHIgPSBzbnByaW50X2NvbnQocHRyLCAmbGVuLAorCQkJCQkgICBhc3BlY3RfZmxh Z3NbYXNwZWN0XSwgIWZsYWdzKTsKKwkJfQorCX0KKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9T SVpFKG1vZGVfZmxhZ3MpOyBpKyspIHsKKwkJdTMyIGZsYWcgPSBtb2RlX2ZsYWdzW2ldLmZsYWc7 CisKKwkJaWYgKChmbGFncyAmIGZsYWcpID09IDApCisJCQljb250aW51ZTsKKworCQlmbGFncyAm PSB+ZmxhZzsKKworCQlwdHIgPSBzbnByaW50X2NvbnQocHRyLCAmbGVuLAorCQkJCSAgIG1vZGVf ZmxhZ3NbaV0ubmFtZSwgIWZsYWdzKTsKKwl9CisKKwlpZiAoZmxhZ3MpCisJCXB0ciA9IHNucHJp bnRfY29udChwdHIsICZsZW4sICI/IiwgdHJ1ZSk7CisKKwlyZXR1cm4gYnVmOworfQorRVhQT1JU X1NZTUJPTChkcm1fZ2V0X21vZGVfZmxhZ3NfbmFtZSk7CisKIC8qKgogICogZHJtX21vZGVfZGVi dWdfcHJpbnRtb2RlbGluZSAtIHByaW50IGEgbW9kZSB0byBkbWVzZwogICogQG1vZGU6IG1vZGUg dG8gcHJpbnQKQEAgLTUzLDcgKzE2NSw5IEBACiAgKi8KIHZvaWQgZHJtX21vZGVfZGVidWdfcHJp bnRtb2RlbGluZShjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIHsKLQlEUk1f REVCVUdfS01TKCJNb2RlbGluZSAiIERSTV9NT0RFX0ZNVCAiXG4iLCBEUk1fTU9ERV9BUkcobW9k ZSkpOworCWNoYXIgYnVmW0RSTV9NT0RFX0ZMQUdTX0JVRl9MRU5dOworCisJRFJNX0RFQlVHX0tN UygiTW9kZWxpbmUgIiBEUk1fTU9ERV9GTVQgIlxuIiwgRFJNX01PREVfQVJHKG1vZGUsIGJ1Zikp OwogfQogRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9kZWJ1Z19wcmludG1vZGVsaW5lKTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCA2MmNmMzRkYjkyODAuLjE4YTNmZjhlMTQ2 MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTI1MzksMTIgKzI1MzksMTMg QEAgc3RhdGljIGludCBpOTE1X2RtY19pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51 c2VkKQogc3RhdGljIHZvaWQgaW50ZWxfc2VxX3ByaW50X21vZGUoc3RydWN0IHNlcV9maWxlICpt LCBpbnQgdGFicywKIAkJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCiB7CisJY2hh ciBidWZbRFJNX01PREVfRkxBR1NfQlVGX0xFTl07CiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBp IDwgdGFiczsgaSsrKQogCQlzZXFfcHV0YyhtLCAnXHQnKTsKIAotCXNlcV9wcmludGYobSwgRFJN X01PREVfRk1UICJcbiIsIERSTV9NT0RFX0FSRyhtb2RlKSk7CisJc2VxX3ByaW50ZihtLCBEUk1f TU9ERV9GTVQgIlxuIiwgRFJNX01PREVfQVJHKG1vZGUsIGJ1ZikpOwogfQogCiBzdGF0aWMgdm9p ZCBpbnRlbF9lbmNvZGVyX2luZm8oc3RydWN0IHNlcV9maWxlICptLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21lc29uL21lc29uX2R3X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZXNv bi9tZXNvbl9kd19oZG1pLmMKaW5kZXggZGYzZjlkZGQyMjM0Li4zMGU1M2EwNDNiYTYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kd19oZG1pLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL21lc29uL21lc29uX2R3X2hkbWkuYwpAQCAtNjEwLDEzICs2MTAsMTQgQEAgZHdf aGRtaV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCSAgIGNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQogewogCXN0cnVjdCBtZXNvbl9kcm0g KnByaXYgPSBjb25uZWN0b3ItPmRldi0+ZGV2X3ByaXZhdGU7CisJY2hhciBidWZbRFJNX01PREVf RkxBR1NfQlVGX0xFTl07CiAJdW5zaWduZWQgaW50IHZjbGtfZnJlcTsKIAl1bnNpZ25lZCBpbnQg dmVuY19mcmVxOwogCXVuc2lnbmVkIGludCBoZG1pX2ZyZXE7CiAJaW50IHZpYyA9IGRybV9tYXRj aF9jZWFfbW9kZShtb2RlKTsKIAllbnVtIGRybV9tb2RlX3N0YXR1cyBzdGF0dXM7CiAKLQlEUk1f REVCVUdfRFJJVkVSKCJNb2RlbGluZSAiIERSTV9NT0RFX0ZNVCAiXG4iLCBEUk1fTU9ERV9BUkco bW9kZSkpOworCURSTV9ERUJVR19EUklWRVIoIk1vZGVsaW5lICIgRFJNX01PREVfRk1UICJcbiIs IERSTV9NT0RFX0FSRyhtb2RlLCBidWYpKTsKIAogCS8qIElmIHNpbmsgbWF4IFRNRFMgY2xvY2ss IHdlIHJlamVjdCB0aGUgbW9kZSAqLwogCWlmIChjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5tYXhf dG1kc19jbG9jayAmJgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3Zl bmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl92ZW5jLmMKaW5kZXggN2I3YTBkOGQ3 MzdjLi4wOWFjYmMwNmY5ZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNv bl92ZW5jLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lc29uL21lc29uX3ZlbmMuYwpAQCAtOTg3 LDkgKzk4NywxMSBAQCB2b2lkIG1lc29uX3ZlbmNfaGRtaV9tb2RlX3NldChzdHJ1Y3QgbWVzb25f ZHJtICpwcml2LCBpbnQgdmljLAogCWlmIChtZXNvbl92ZW5jX2hkbWlfc3VwcG9ydGVkX3ZpYyh2 aWMpKSB7CiAJCXZtb2RlID0gbWVzb25fdmVuY19oZG1pX2dldF92aWNfdm1vZGUodmljKTsKIAkJ aWYgKCF2bW9kZSkgeworCQkJY2hhciBidWZbRFJNX01PREVfRkxBR1NfQlVGX0xFTl07CisKIAkJ CWRldl9lcnIocHJpdi0+ZGV2LCAiJXM6IEZhdGFsIEVycm9yLCB1bnN1cHBvcnRlZCBtb2RlICIK IAkJCQlEUk1fTU9ERV9GTVQgIlxuIiwgX19mdW5jX18sCi0JCQkJRFJNX01PREVfQVJHKG1vZGUp KTsKKwkJCQlEUk1fTU9ERV9BUkcobW9kZSwgYnVmKSk7CiAJCQlyZXR1cm47CiAJCX0KIAl9IGVs c2UgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9jcnRj LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2NydGMuYwppbmRleCAwY2Zk NGMwNmI2MTAuLmY2OGQ5Zjc0YjBlNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL21kcDQvbWRwNF9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQv bWRwNF9jcnRjLmMKQEAgLTIzOCw2ICsyMzgsNyBAQCBzdGF0aWMgdm9pZCBtZHA0X2NydGNfbW9k ZV9zZXRfbm9mYihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJZW51bSBtZHA0X2RtYSBkbWEgPSBt ZHA0X2NydGMtPmRtYTsKIAlpbnQgb3ZscCA9IG1kcDRfY3J0Yy0+b3ZscDsKIAlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZTsKKwljaGFyIGJ1ZltEUk1fTU9ERV9GTEFHU19CVUZfTEVOXTsK IAogCWlmIChXQVJOX09OKCFjcnRjLT5zdGF0ZSkpCiAJCXJldHVybjsKQEAgLTI0NSw3ICsyNDYs NyBAQCBzdGF0aWMgdm9pZCBtZHA0X2NydGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCiAJbW9kZSA9ICZjcnRjLT5zdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKIAogCURCRygiJXM6 IHNldCBtb2RlOiAiIERSTV9NT0RFX0ZNVCwKLQkJCW1kcDRfY3J0Yy0+bmFtZSwgRFJNX01PREVf QVJHKG1vZGUpKTsKKwkgICAgbWRwNF9jcnRjLT5uYW1lLCBEUk1fTU9ERV9BUkcobW9kZSwgYnVm KSk7CiAKIAltZHA0X3dyaXRlKG1kcDRfa21zLCBSRUdfTURQNF9ETUFfU1JDX1NJWkUoZG1hKSwK IAkJCU1EUDRfRE1BX1NSQ19TSVpFX1dJRFRIKG1vZGUtPmhkaXNwbGF5KSB8CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2RzaV9lbmNvZGVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2RzaV9lbmNvZGVyLmMKaW5kZXggY2FhMzli NDYyMWUzLi4yZTBkY2E0ZDI0ODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9tZHA0L21kcDRfZHNpX2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av bWRwNC9tZHA0X2RzaV9lbmNvZGVyLmMKQEAgLTU1LDEwICs1NSwxMSBAQCBzdGF0aWMgdm9pZCBt ZHA0X2RzaV9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAl1 aW50MzJfdCBkc2lfaHN5bmNfc2tldywgdnN5bmNfcGVyaW9kLCB2c3luY19sZW4sIGN0cmxfcG9s OwogCXVpbnQzMl90IGRpc3BsYXlfdl9zdGFydCwgZGlzcGxheV92X2VuZDsKIAl1aW50MzJfdCBo c3luY19zdGFydF94LCBoc3luY19lbmRfeDsKKwljaGFyIGJ1ZltEUk1fTU9ERV9GTEFHU19CVUZf TEVOXTsKIAogCW1vZGUgPSBhZGp1c3RlZF9tb2RlOwogCi0JREJHKCJzZXQgbW9kZTogIiBEUk1f TU9ERV9GTVQsIERSTV9NT0RFX0FSRyhtb2RlKSk7CisJREJHKCJzZXQgbW9kZTogIiBEUk1fTU9E RV9GTVQsIERSTV9NT0RFX0FSRyhtb2RlLCBidWYpKTsKIAogCWN0cmxfcG9sID0gMDsKIAlpZiAo bW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX05IU1lOQykKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfZHR2X2VuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9tZHA0L21kcDRfZHR2X2VuY29kZXIuYwppbmRleCAyNTlkNTE5NzE0MDEuLmU4 OGFjMDcwYTY3MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRw NF9kdHZfZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRf ZHR2X2VuY29kZXIuYwpAQCAtMTAxLDEwICsxMDEsMTEgQEAgc3RhdGljIHZvaWQgbWRwNF9kdHZf ZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJdWludDMyX3Qg ZHR2X2hzeW5jX3NrZXcsIHZzeW5jX3BlcmlvZCwgdnN5bmNfbGVuLCBjdHJsX3BvbDsKIAl1aW50 MzJfdCBkaXNwbGF5X3Zfc3RhcnQsIGRpc3BsYXlfdl9lbmQ7CiAJdWludDMyX3QgaHN5bmNfc3Rh cnRfeCwgaHN5bmNfZW5kX3g7CisJY2hhciBidWZbRFJNX01PREVfRkxBR1NfQlVGX0xFTl07CiAK IAltb2RlID0gYWRqdXN0ZWRfbW9kZTsKIAotCURCRygic2V0IG1vZGU6ICIgRFJNX01PREVfRk1U LCBEUk1fTU9ERV9BUkcobW9kZSkpOworCURCRygic2V0IG1vZGU6ICIgRFJNX01PREVfRk1ULCBE Uk1fTU9ERV9BUkcobW9kZSwgYnVmKSk7CiAKIAltZHA0X2R0dl9lbmNvZGVyLT5waXhjbG9jayA9 IG1vZGUtPmNsb2NrICogMTAwMDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL21kcDQvbWRwNF9sY2RjX2VuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9t ZHA0L21kcDRfbGNkY19lbmNvZGVyLmMKaW5kZXggZGY2Zjk4MDNhMWQ3Li45OWJkYWU5Yzk0NWIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfbGNkY19lbmNv ZGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9sY2RjX2VuY29k ZXIuYwpAQCAtMjcwLDEwICsyNzAsMTEgQEAgc3RhdGljIHZvaWQgbWRwNF9sY2RjX2VuY29kZXJf bW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCXVpbnQzMl90IGxjZGNfaHN5 bmNfc2tldywgdnN5bmNfcGVyaW9kLCB2c3luY19sZW4sIGN0cmxfcG9sOwogCXVpbnQzMl90IGRp c3BsYXlfdl9zdGFydCwgZGlzcGxheV92X2VuZDsKIAl1aW50MzJfdCBoc3luY19zdGFydF94LCBo c3luY19lbmRfeDsKKwljaGFyIGJ1ZltEUk1fTU9ERV9GTEFHU19CVUZfTEVOXTsKIAogCW1vZGUg PSBhZGp1c3RlZF9tb2RlOwogCi0JREJHKCJzZXQgbW9kZTogIiBEUk1fTU9ERV9GTVQsIERSTV9N T0RFX0FSRyhtb2RlKSk7CisJREJHKCJzZXQgbW9kZTogIiBEUk1fTU9ERV9GTVQsIERSTV9NT0RF X0FSRyhtb2RlLCBidWYpKTsKIAogCW1kcDRfbGNkY19lbmNvZGVyLT5waXhjbG9jayA9IG1vZGUt PmNsb2NrICogMTAwMDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21k cDUvbWRwNV9jbWRfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRw NV9jbWRfZW5jb2Rlci5jCmluZGV4IGVlZWY0MWZjZDRlMS4uNmJmZmJlYmVlOGJiIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2NtZF9lbmNvZGVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9jbWRfZW5jb2Rlci5jCkBAIC0x MjQsOSArMTI0LDExIEBAIHZvaWQgbWRwNV9jbWRfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUsCiAJCQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCiB7 CisJY2hhciBidWZbRFJNX01PREVfRkxBR1NfQlVGX0xFTl07CisKIAltb2RlID0gYWRqdXN0ZWRf bW9kZTsKIAotCURCRygic2V0IG1vZGU6ICIgRFJNX01PREVfRk1ULCBEUk1fTU9ERV9BUkcobW9k ZSkpOworCURCRygic2V0IG1vZGU6ICIgRFJNX01PREVfRk1ULCBEUk1fTU9ERV9BUkcobW9kZSwg YnVmKSk7CiAJcGluZ3BvbmdfdGVhcmNoZWNrX3NldHVwKGVuY29kZXIsIG1vZGUpOwogCW1kcDVf Y3J0Y19zZXRfcGlwZWxpbmUoZW5jb2Rlci0+Y3J0Yyk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9tZHA1L21kcDVfY3J0Yy5jCmluZGV4IGMzNzUxYzk1YjQ1Mi4uODg4YTI1ZDFkYThiIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2NydGMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2NydGMuYwpAQCAtMzc4LDEzICsz NzgsMTQgQEAgc3RhdGljIHZvaWQgbWRwNV9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0IGRybV9j cnRjICpjcnRjKQogCXUzMiBtaXhlcl93aWR0aCwgdmFsOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7 CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7CisJY2hhciBidWZbRFJNX01PREVfRkxB R1NfQlVGX0xFTl07CiAKIAlpZiAoV0FSTl9PTighY3J0Yy0+c3RhdGUpKQogCQlyZXR1cm47CiAK IAltb2RlID0gJmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlOwogCi0JREJHKCIlczogc2V0IG1v ZGU6ICIgRFJNX01PREVfRk1ULCBjcnRjLT5uYW1lLCBEUk1fTU9ERV9BUkcobW9kZSkpOworCURC RygiJXM6IHNldCBtb2RlOiAiIERSTV9NT0RFX0ZNVCwgY3J0Yy0+bmFtZSwgRFJNX01PREVfQVJH KG1vZGUsIGJ1ZikpOwogCiAJbWl4ZXJfd2lkdGggPSBtb2RlLT5oZGlzcGxheTsKIAlpZiAocl9t aXhlcikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfZW5j b2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9lbmNvZGVyLmMKaW5k ZXggODIwYTYyYzQwMDYzLi44MDkxMThiYjY5NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9tZHA1L21kcDVfZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9tZHA1L21kcDVfZW5jb2Rlci5jCkBAIC0xMTUsMTAgKzExNSwxMSBAQCBzdGF0aWMgdm9p ZCBtZHA1X3ZpZF9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwK IAl1aW50MzJfdCBoc3luY19zdGFydF94LCBoc3luY19lbmRfeDsKIAl1aW50MzJfdCBmb3JtYXQg PSAweDIxMDA7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKKwljaGFyIGJ1ZltEUk1fTU9ERV9GTEFH U19CVUZfTEVOXTsKIAogCW1vZGUgPSBhZGp1c3RlZF9tb2RlOwogCi0JREJHKCJzZXQgbW9kZTog IiBEUk1fTU9ERV9GTVQsIERSTV9NT0RFX0FSRyhtb2RlKSk7CisJREJHKCJzZXQgbW9kZTogIiBE Uk1fTU9ERV9GTVQsIERSTV9NT0RFX0FSRyhtb2RlLCBidWYpKTsKIAogCWN0cmxfcG9sID0gMDsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKaW5kZXggZWM2Y2IwZjdmMjA2Li4x YmYyZjUwM2I4NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5h Z2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYwpAQCAtNTI3 LDggKzUyNyw5IEBAIHN0YXRpYyB2b2lkIGRzaV9tZ3JfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBk cm1fYnJpZGdlICpicmlkZ2UsCiAJc3RydWN0IG1zbV9kc2kgKm90aGVyX2RzaSA9IGRzaV9tZ3Jf Z2V0X290aGVyX2RzaShpZCk7CiAJc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QgPSBtc21fZHNp LT5ob3N0OwogCWJvb2wgaXNfZHVhbF9kc2kgPSBJU19EVUFMX0RTSSgpOworCWNoYXIgYnVmW0RS TV9NT0RFX0ZMQUdTX0JVRl9MRU5dOwogCi0JREJHKCJzZXQgbW9kZTogIiBEUk1fTU9ERV9GTVQs IERSTV9NT0RFX0FSRyhtb2RlKSk7CisJREJHKCJzZXQgbW9kZTogIiBEUk1fTU9ERV9GTVQsIERS TV9NT0RFX0FSRyhtb2RlLCBidWYpKTsKIAogCWlmIChpc19kdWFsX2RzaSAmJiAhSVNfTUFTVEVS X0RTSV9MSU5LKGlkKSkKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9lZHAvZWRwX2JyaWRnZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2JyaWRnZS5j CmluZGV4IDI5NTBiYmE0YWNhOS4uMDg0NDM0NTg2MmVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2VkcC9lZHBfYnJpZGdlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9lZHAv ZWRwX2JyaWRnZS5jCkBAIC01MSw4ICs1MSw5IEBAIHN0YXRpYyB2b2lkIGVkcF9icmlkZ2VfbW9k ZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yOwogCXN0cnVjdCBlZHBfYnJpZGdlICplZHBfYnJpZGdlID0gdG9fZWRwX2JyaWRn ZShicmlkZ2UpOwogCXN0cnVjdCBtc21fZWRwICplZHAgPSBlZHBfYnJpZGdlLT5lZHA7CisJY2hh ciBidWZbRFJNX01PREVfRkxBR1NfQlVGX0xFTl07CiAKLQlEQkcoInNldCBtb2RlOiAiIERSTV9N T0RFX0ZNVCwgRFJNX01PREVfQVJHKG1vZGUpKTsKKwlEQkcoInNldCBtb2RlOiAiIERSTV9NT0RF X0ZNVCwgRFJNX01PREVfQVJHKG1vZGUsIGJ1ZikpOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShj b25uZWN0b3IsICZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rvcl9saXN0LCBoZWFkKSB7CiAJCWlm ICgoY29ubmVjdG9yLT5lbmNvZGVyICE9IE5VTEwpICYmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9jb25uZWN0b3IuYwppbmRleCA1OTY3MjgzOTM0ZTEuLjRjZTI5Mjg4YzcwZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5jCkBAIC0yNzYsNiArMjc2LDcgQEAg c3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIG9tYXBfY29ubmVjdG9yX21vZGVfdmFsaWQoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm4KIAlzdHJ1Y3Qgb21hcF9jb25uZWN0b3IgKm9tYXBfY29u bmVjdG9yID0gdG9fb21hcF9jb25uZWN0b3IoY29ubmVjdG9yKTsKIAlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSBuZXdfbW9kZSA9IHsgeyAwIH0gfTsKIAllbnVtIGRybV9tb2RlX3N0YXR1cyBzdGF0 dXM7CisJY2hhciBidWZbRFJNX01PREVfRkxBR1NfQlVGX0xFTl07CiAKIAlzdGF0dXMgPSBvbWFw X2Nvbm5lY3Rvcl9tb2RlX2ZpeHVwKG9tYXBfY29ubmVjdG9yLT5vdXRwdXQsIG1vZGUsCiAJCQkJ CSAgICZuZXdfbW9kZSk7CkBAIC0yODgsOCArMjg5LDggQEAgc3RhdGljIGVudW0gZHJtX21vZGVf c3RhdHVzIG9tYXBfY29ubmVjdG9yX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm4KIAogZG9uZToKIAlEQkcoImNvbm5lY3RvcjogbW9kZSAlczogIiBEUk1fTU9ERV9GTVQsCi0J CQkoc3RhdHVzID09IE1PREVfT0spID8gInZhbGlkIiA6ICJpbnZhbGlkIiwKLQkJCURSTV9NT0RF X0FSRyhtb2RlKSk7CisJICAgIChzdGF0dXMgPT0gTU9ERV9PSykgPyAidmFsaWQiIDogImludmFs aWQiLAorCSAgICBEUk1fTU9ERV9BUkcobW9kZSwgYnVmKSk7CiAKIAlyZXR1cm4gc3RhdHVzOwog fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2NydGMuYwppbmRleCBkNjEyMTU0OTQ2MTcuLjIyMTQ1 OWQ2YWJlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMKQEAgLTU1Myw5ICs1NTMs MTAgQEAgc3RhdGljIHZvaWQgb21hcF9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0IGRybV9jcnRj ICpjcnRjKQogewogCXN0cnVjdCBvbWFwX2NydGMgKm9tYXBfY3J0YyA9IHRvX29tYXBfY3J0Yyhj cnRjKTsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSA9ICZjcnRjLT5zdGF0ZS0+YWRq dXN0ZWRfbW9kZTsKKwljaGFyIGJ1ZltEUk1fTU9ERV9GTEFHU19CVUZfTEVOXTsKIAogCURCRygi JXM6IHNldCBtb2RlOiAiIERSTV9NT0RFX0ZNVCwKLQkgICAgb21hcF9jcnRjLT5uYW1lLCBEUk1f TU9ERV9BUkcobW9kZSkpOworCSAgICBvbWFwX2NydGMtPm5hbWUsIERSTV9NT0RFX0FSRyhtb2Rl LCBidWYpKTsKIAogCWRybV9kaXNwbGF5X21vZGVfdG9fdmlkZW9tb2RlKG1vZGUsICZvbWFwX2Ny dGMtPnZtKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb25i by1yYjA3MGQzMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvbmJvLXJiMDcwZDMw LmMKaW5kZXggM2MxNTc2NGYwYzAzLi40NjhlYmRjYTk0ZjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1yb25iby1yYjA3MGQzMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1yb25iby1yYjA3MGQzMC5jCkBAIC0xMjYsMTIgKzEyNiwxMyBAQCBzdGF0 aWMgaW50IHJiMDcwZDMwX3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkK IAlzdHJ1Y3QgcmIwNzBkMzBfcGFuZWwgKmN0eCA9IHBhbmVsX3RvX3JiMDcwZDMwX3BhbmVsKHBh bmVsKTsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKIAlzdGF0aWMgY29uc3QgdTMy IGJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDI0OworCWNoYXIgYnVmW0RSTV9N T0RFX0ZMQUdTX0JVRl9MRU5dOwogCiAJbW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShwYW5lbC0+ ZHJtLCAmZGVmYXVsdF9tb2RlKTsKIAlpZiAoIW1vZGUpIHsKIAkJRFJNX0RFVl9FUlJPUigmY3R4 LT5kc2ktPmRldiwKIAkJCSAgICAgICJGYWlsZWQgdG8gYWRkIG1vZGUgIiBEUk1fTU9ERV9GTVQg IlxuIiwKLQkJCSAgICAgIERSTV9NT0RFX0FSRygmZGVmYXVsdF9tb2RlKSk7CisJCQkgICAgICBE Uk1fTU9ERV9BUkcoJmRlZmF1bHRfbW9kZSwgYnVmKSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0K IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3J0Yy5jIGIvZHJpdmVycy9n cHUvZHJtL3N0aS9zdGlfY3J0Yy5jCmluZGV4IGRjNjRmYmZjNGU2MS4uYmM5NjAyZjUxOWQ3IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jcnRjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL3N0aS9zdGlfY3J0Yy5jCkBAIC01NCwxMSArNTQsMTIgQEAgc3RpX2NydGNfbW9kZV9z ZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkK IAlzdHJ1Y3Qgc3RpX2NvbXBvc2l0b3IgKmNvbXBvID0gZGV2X2dldF9kcnZkYXRhKGRldik7CiAJ c3RydWN0IGNsayAqY29tcG9fY2xrLCAqcGl4X2NsazsKIAlpbnQgcmF0ZSA9IG1vZGUtPmNsb2Nr ICogMTAwMDsKKwljaGFyIGJ1ZltEUk1fTU9ERV9GTEFHU19CVUZfTEVOXTsKIAogCURSTV9ERUJV R19LTVMoIkNSVEM6JWQgKCVzKSBtb2RlOiAoJXMpXG4iLAogCQkgICAgICBjcnRjLT5iYXNlLmlk LCBzdGlfbWl4ZXJfdG9fc3RyKG1peGVyKSwgbW9kZS0+bmFtZSk7CiAKLQlEUk1fREVCVUdfS01T KERSTV9NT0RFX0ZNVCAiXG4iLCBEUk1fTU9ERV9BUkcobW9kZSkpOworCURSTV9ERUJVR19LTVMo RFJNX01PREVfRk1UICJcbiIsIERSTV9NT0RFX0FSRyhtb2RlLCBidWYpKTsKIAogCWlmIChtaXhl ci0+aWQgPT0gU1RJX01JWEVSX01BSU4pIHsKIAkJY29tcG9fY2xrID0gY29tcG8tPmNsa19jb21w b19tYWluOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmggYi9pbmNsdWRlL2Ry bS9kcm1fbW9kZXMuaAppbmRleCAwODNmMTY3NDczNjkuLjM5NjJkYmY4MjEwMCAxMDA2NDQKLS0t IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgK QEAgLTQyOCwyMCArNDI4LDI3IEBAIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIHsKIAlzdHJ1Y3Qg bGlzdF9oZWFkIGV4cG9ydF9oZWFkOwogfTsKIAorLyoqCisgKiBEUk1fTU9ERV9GTEFHU19CVUZf TEVOIC0gcmVhc29uYWJsZSBzaXplIGZvciB0aGUgYnVmZmVyIHBhc3NlZCB0byBEUk1fTU9ERV9B UkcoKQorICovCisjZGVmaW5lIERSTV9NT0RFX0ZMQUdTX0JVRl9MRU4gNjQKKwogLyoqCiAgKiBE Uk1fTU9ERV9GTVQgLSBwcmludGYgc3RyaW5nIGZvciAmc3RydWN0IGRybV9kaXNwbGF5X21vZGUK ICAqLwotI2RlZmluZSBEUk1fTU9ERV9GTVQgICAgIlwiJXNcIjogJWQgJWQgJWQgJWQgJWQgJWQg JWQgJWQgJWQgJWQgMHgleCAweCV4IgorI2RlZmluZSBEUk1fTU9ERV9GTVQgICAgIlwiJXNcIjog JWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgMHgleCAweCV4ICVzIgogCiAvKioKICAqIERS TV9NT0RFX0FSRyAtIHByaW50ZiBhcmd1bWVudHMgZm9yICZzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZQogICogQG06IGRpc3BsYXkgbW9kZQorICogQGI6IGJ1ZmZlciBmb3IgdGVtcG9yYXJ5IHN0cmlu ZwogICovCi0jZGVmaW5lIERSTV9NT0RFX0FSRyhtKSBcCisjZGVmaW5lIERSTV9NT0RFX0FSRyht LCBiKSBcCiAJKG0pLT5uYW1lLCAobSktPnZyZWZyZXNoLCAobSktPmNsb2NrLCBcCiAJKG0pLT5o ZGlzcGxheSwgKG0pLT5oc3luY19zdGFydCwgKG0pLT5oc3luY19lbmQsIChtKS0+aHRvdGFsLCBc CiAJKG0pLT52ZGlzcGxheSwgKG0pLT52c3luY19zdGFydCwgKG0pLT52c3luY19lbmQsIChtKS0+ dnRvdGFsLCBcCi0JKG0pLT50eXBlLCAobSktPmZsYWdzCisJKG0pLT50eXBlLCAobSktPmZsYWdz LCBcCisJZHJtX2dldF9tb2RlX2ZsYWdzX25hbWUoYiwgc2l6ZW9mKGIpLCAobSktPmZsYWdzKQog CiAjZGVmaW5lIG9ial90b19tb2RlKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSwgYmFzZSkKIApAQCAtNTQyLDUgKzU0OSw2IEBAIGRybV9tb2RlX3BhcnNlX2NvbW1h bmRfbGluZV9mb3JfY29ubmVjdG9yKGNvbnN0IGNoYXIgKm1vZGVfb3B0aW9uLAogc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKgogZHJtX21vZGVfY3JlYXRlX2Zyb21fY21kbGluZV9tb2RlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICBzdHJ1Y3QgZHJtX2NtZGxpbmVfbW9kZSAqY21kKTsK K2NvbnN0IGNoYXIgKmRybV9nZXRfbW9kZV9mbGFnc19uYW1lKGNoYXIgKmJ1ZiwgaW50IGxlbiwg dTMyIGZsYWdzKTsKIAogI2VuZGlmIC8qIF9fRFJNX01PREVTX0hfXyAqLwotLSAKMi4yMS4wCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYW1s b2dpYyBtYWlsaW5nIGxpc3QKbGludXgtYW1sb2dpY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYW1sb2dpYwo=