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=-11.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SPF_HELO_NONE,SPF_PASS 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 7EC3CC433DB for ; Wed, 10 Feb 2021 09:34:57 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 F108564DEE for ; Wed, 10 Feb 2021 09:34:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F108564DEE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:52672 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l9ltf-0000Xz-U8 for qemu-devel@archiver.kernel.org; Wed, 10 Feb 2021 04:34:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:56068) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l9lnS-0003Cw-9I for qemu-devel@nongnu.org; Wed, 10 Feb 2021 04:28:30 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:22458) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1l9lnP-0006Db-3r for qemu-devel@nongnu.org; Wed, 10 Feb 2021 04:28:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1612949306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=i602zba5OrXr1+Wma3ATnIOK5j3HAfTANAzZX4JUPX0=; b=SdG0Fo/WTLRHRutCOXCblErT9ydB9pJ9gyFJ/9Jo9ltkmQz4V0O56nvWyIZ0gsqWHqKaSX uMQ7Ql62UUoGVwHwYk8VC21GnnriEty0HpIknVqKFmgiAuhda4OiehYEgKsjAVAtazp/t4 CXSx/GFhTJjHHGHv8yW6yhdON7agPMY= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-330-zCvMZ6VoOrqS8ObEczK3vQ-1; Wed, 10 Feb 2021 04:28:24 -0500 X-MC-Unique: zCvMZ6VoOrqS8ObEczK3vQ-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9987680196E; Wed, 10 Feb 2021 09:28:22 +0000 (UTC) Received: from localhost (ovpn-115-120.ams2.redhat.com [10.36.115.120]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6F0965C3F8; Wed, 10 Feb 2021 09:28:10 +0000 (UTC) From: Stefan Hajnoczi To: Peter Maydell , qemu-devel@nongnu.org Subject: [PULL v4 09/27] memory: alloc RAM from file at offset Date: Wed, 10 Feb 2021 09:26:10 +0000 Message-Id: <20210210092628.193785-10-stefanha@redhat.com> In-Reply-To: <20210210092628.193785-1-stefanha@redhat.com> References: <20210210092628.193785-1-stefanha@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=stefanha@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="US-ASCII" Received-SPF: pass client-ip=63.128.21.124; envelope-from=stefanha@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.57, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MIME_BASE64_TEXT=1.741, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , John G Johnson , thuth@redhat.com, Jagannathan Raman , Eduardo Habkost , qemu-block@nongnu.org, "Michael S. Tsirkin" , "Denis V. Lunev" , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Stefan Hajnoczi , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Wainer dos Santos Moschetta , Elena Ufimtseva , Igor Mammedov , Paolo Bonzini , =?UTF-8?q?Alex=20Benn=C3=A9e?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" RnJvbTogSmFnYW5uYXRoYW4gUmFtYW4gPGphZy5yYW1hbkBvcmFjbGUuY29tPgoKQWxsb3cgUkFN IE1lbW9yeVJlZ2lvbiB0byBiZSBjcmVhdGVkIGZyb20gYW4gb2Zmc2V0IGluIGEgZmlsZSwgaW5z dGVhZApvZiBhbGxvY2F0aW5nIGF0IG9mZnNldCBvZiAwIGJ5IGRlZmF1bHQuIFRoaXMgaXMgbmVl ZGVkIHRvIHN5bmNocm9uaXplClJBTSBiZXR3ZWVuIFFFTVUgJiByZW1vdGUgcHJvY2Vzcy4KClNp Z25lZC1vZmYtYnk6IEphZ2FubmF0aGFuIFJhbWFuIDxqYWcucmFtYW5Ab3JhY2xlLmNvbT4KU2ln bmVkLW9mZi1ieTogSm9obiBHIEpvaG5zb24gPGpvaG4uZy5qb2huc29uQG9yYWNsZS5jb20+ClNp Z25lZC1vZmYtYnk6IEVsZW5hIFVmaW10c2V2YSA8ZWxlbmEudWZpbXRzZXZhQG9yYWNsZS5jb20+ ClJldmlld2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+Ck1lc3Nh Z2UtaWQ6IDYwOTk5NjY5N2FkODYxN2UzYjAxZGYzOGFjY2M1YzIwOGMyNGQ3NGUuMTYxMTkzODMx OS5naXQuamFnLnJhbWFuQG9yYWNsZS5jb20KU2lnbmVkLW9mZi1ieTogU3RlZmFuIEhham5vY3pp IDxzdGVmYW5oYUByZWRoYXQuY29tPgotLS0KIGluY2x1ZGUvZXhlYy9tZW1vcnkuaCAgICAgfCAg MiArKwogaW5jbHVkZS9leGVjL3JhbV9hZGRyLmggICB8ICA0ICsrLS0KIGluY2x1ZGUvcWVtdS9t bWFwLWFsbG9jLmggfCAgNCArKystCiBiYWNrZW5kcy9ob3N0bWVtLW1lbWZkLmMgIHwgIDIgKy0K IGh3L21pc2MvaXZzaG1lbS5jICAgICAgICAgfCAgMyArKy0KIHNvZnRtbXUvbWVtb3J5LmMgICAg ICAgICAgfCAgMyArKy0KIHNvZnRtbXUvcGh5c21lbS5jICAgICAgICAgfCAxMiArKysrKysrLS0t LS0KIHV0aWwvbW1hcC1hbGxvYy5jICAgICAgICAgfCAgOCArKysrKy0tLQogdXRpbC9vc2xpYi1w b3NpeC5jICAgICAgICB8ICAyICstCiA5IGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyks IDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhlYy9tZW1vcnkuaCBiL2lu Y2x1ZGUvZXhlYy9tZW1vcnkuaAppbmRleCBlZDI5Mjc2N2NkLi5jNmZiNzE0ZTQ5IDEwMDY0NAot LS0gYS9pbmNsdWRlL2V4ZWMvbWVtb3J5LmgKKysrIGIvaW5jbHVkZS9leGVjL21lbW9yeS5oCkBA IC05OTgsNiArOTk4LDcgQEAgdm9pZCBtZW1vcnlfcmVnaW9uX2luaXRfcmFtX2Zyb21fZmlsZShN ZW1vcnlSZWdpb24gKm1yLAogICogQHNpemU6IHNpemUgb2YgdGhlIHJlZ2lvbi4KICAqIEBzaGFy ZTogJXRydWUgaWYgbWVtb3J5IG11c3QgYmUgbW1hcGVkIHdpdGggdGhlIE1BUF9TSEFSRUQgZmxh ZwogICogQGZkOiB0aGUgZmQgdG8gbW1hcC4KKyAqIEBvZmZzZXQ6IG9mZnNldCB3aXRoaW4gdGhl IGZpbGUgcmVmZXJlbmNlZCBieSBmZAogICogQGVycnA6IHBvaW50ZXIgdG8gRXJyb3IqLCB0byBz dG9yZSBhbiBlcnJvciBpZiBpdCBoYXBwZW5zLgogICoKICAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0 aW9uIGRvZXMgbm90IGRvIGFueXRoaW5nIHRvIGNhdXNlIHRoZSBkYXRhIGluIHRoZQpAQCAtMTAw OSw2ICsxMDEwLDcgQEAgdm9pZCBtZW1vcnlfcmVnaW9uX2luaXRfcmFtX2Zyb21fZmQoTWVtb3J5 UmVnaW9uICptciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90 IHNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHNoYXJlLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZkLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmFtX2FkZHJfdCBvZmZzZXQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApOwogI2VuZGlmCiAKZGlmZiAtLWdp dCBhL2luY2x1ZGUvZXhlYy9yYW1fYWRkci5oIGIvaW5jbHVkZS9leGVjL3JhbV9hZGRyLmgKaW5k ZXggNDBiMTY2MDlhYi4uM2NiOTc5MWRmMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9leGVjL3JhbV9h ZGRyLmgKKysrIGIvaW5jbHVkZS9leGVjL3JhbV9hZGRyLmgKQEAgLTEyMSw4ICsxMjEsOCBAQCBS QU1CbG9jayAqcWVtdV9yYW1fYWxsb2NfZnJvbV9maWxlKHJhbV9hZGRyX3Qgc2l6ZSwgTWVtb3J5 UmVnaW9uICptciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg cmFtX2ZsYWdzLCBjb25zdCBjaGFyICptZW1fcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCByZWFkb25seSwgRXJyb3IgKiplcnJwKTsKIFJBTUJsb2NrICpxZW11 X3JhbV9hbGxvY19mcm9tX2ZkKHJhbV9hZGRyX3Qgc2l6ZSwgTWVtb3J5UmVnaW9uICptciwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHJhbV9mbGFncywgaW50IGZk LCBib29sIHJlYWRvbmx5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3Ig KiplcnJwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHJhbV9m bGFncywgaW50IGZkLCBvZmZfdCBvZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBib29sIHJlYWRvbmx5LCBFcnJvciAqKmVycnApOwogCiBSQU1CbG9jayAqcWVtdV9yYW1f YWxsb2NfZnJvbV9wdHIocmFtX2FkZHJfdCBzaXplLCB2b2lkICpob3N0LAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvbiAqbXIsIEVycm9yICoqZXJycCk7CmRp ZmYgLS1naXQgYS9pbmNsdWRlL3FlbXUvbW1hcC1hbGxvYy5oIGIvaW5jbHVkZS9xZW11L21tYXAt YWxsb2MuaAppbmRleCA4YjdhNWM3MGYzLi40NTZmZjg3ZGYxIDEwMDY0NAotLS0gYS9pbmNsdWRl L3FlbXUvbW1hcC1hbGxvYy5oCisrKyBiL2luY2x1ZGUvcWVtdS9tbWFwLWFsbG9jLmgKQEAgLTE3 LDYgKzE3LDcgQEAgc2l6ZV90IHFlbXVfbWVtcGF0aF9nZXRwYWdlc2l6ZShjb25zdCBjaGFyICpt ZW1fcGF0aCk7CiAgKiAgQHJlYWRvbmx5OiB0cnVlIGZvciBhIHJlYWQtb25seSBtYXBwaW5nLCBm YWxzZSBmb3IgcmVhZC93cml0ZS4KICAqICBAc2hhcmVkOiBtYXAgaGFzIFJBTV9TSEFSRUQgZmxh Zy4KICAqICBAaXNfcG1lbTogbWFwIGhhcyBSQU1fUE1FTSBmbGFnLgorICogIEBtYXBfb2Zmc2V0 OiBtYXAgc3RhcnRzIGF0IG9mZnNldCBvZiBtYXBfb2Zmc2V0IGZyb20gdGhlIHN0YXJ0IG9mIGZk CiAgKgogICogUmV0dXJuOgogICogIE9uIHN1Y2Nlc3MsIHJldHVybiBhIHBvaW50ZXIgdG8gdGhl IG1hcHBlZCBhcmVhLgpAQCAtMjcsNyArMjgsOCBAQCB2b2lkICpxZW11X3JhbV9tbWFwKGludCBm ZCwKICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGFsaWduLAogICAgICAgICAgICAgICAgICAg ICBib29sIHJlYWRvbmx5LAogICAgICAgICAgICAgICAgICAgICBib29sIHNoYXJlZCwKLSAgICAg ICAgICAgICAgICAgICAgYm9vbCBpc19wbWVtKTsKKyAgICAgICAgICAgICAgICAgICAgYm9vbCBp c19wbWVtLAorICAgICAgICAgICAgICAgICAgICBvZmZfdCBtYXBfb2Zmc2V0KTsKIAogdm9pZCBx ZW11X3JhbV9tdW5tYXAoaW50IGZkLCB2b2lkICpwdHIsIHNpemVfdCBzaXplKTsKIApkaWZmIC0t Z2l0IGEvYmFja2VuZHMvaG9zdG1lbS1tZW1mZC5jIGIvYmFja2VuZHMvaG9zdG1lbS1tZW1mZC5j CmluZGV4IGU1NjI2ZDQzMzAuLjY5YjBhZTMwYmIgMTAwNjQ0Ci0tLSBhL2JhY2tlbmRzL2hvc3Rt ZW0tbWVtZmQuYworKysgYi9iYWNrZW5kcy9ob3N0bWVtLW1lbWZkLmMKQEAgLTU1LDcgKzU1LDcg QEAgbWVtZmRfYmFja2VuZF9tZW1vcnlfYWxsb2MoSG9zdE1lbW9yeUJhY2tlbmQgKmJhY2tlbmQs IEVycm9yICoqZXJycCkKICAgICBuYW1lID0gaG9zdF9tZW1vcnlfYmFja2VuZF9nZXRfbmFtZShi YWNrZW5kKTsKICAgICBtZW1vcnlfcmVnaW9uX2luaXRfcmFtX2Zyb21fZmQoJmJhY2tlbmQtPm1y LCBPQkpFQ1QoYmFja2VuZCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5h bWUsIGJhY2tlbmQtPnNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJh Y2tlbmQtPnNoYXJlLCBmZCwgZXJycCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJhY2tlbmQtPnNoYXJlLCBmZCwgMCwgZXJycCk7CiAgICAgZ19mcmVlKG5hbWUpOwogfQog CmRpZmYgLS1naXQgYS9ody9taXNjL2l2c2htZW0uYyBiL2h3L21pc2MvaXZzaG1lbS5jCmluZGV4 IDA1MDViNTJjOTguLjYwM2U5OTJhN2YgMTAwNjQ0Ci0tLSBhL2h3L21pc2MvaXZzaG1lbS5jCisr KyBiL2h3L21pc2MvaXZzaG1lbS5jCkBAIC00OTUsNyArNDk1LDggQEAgc3RhdGljIHZvaWQgcHJv Y2Vzc19tc2dfc2htZW0oSVZTaG1lbVN0YXRlICpzLCBpbnQgZmQsIEVycm9yICoqZXJycCkKIAog ICAgIC8qIG1tYXAgdGhlIHJlZ2lvbiBhbmQgbWFwIGludG8gdGhlIEJBUjIgKi8KICAgICBtZW1v cnlfcmVnaW9uX2luaXRfcmFtX2Zyb21fZmQoJnMtPnNlcnZlcl9iYXIyLCBPQkpFQ1QocyksCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdnNobWVtLmJhcjIiLCBzaXplLCB0 cnVlLCBmZCwgJmxvY2FsX2Vycik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJpdnNobWVtLmJhcjIiLCBzaXplLCB0cnVlLCBmZCwgMCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmxvY2FsX2Vycik7CiAgICAgaWYgKGxvY2FsX2VycikgewogICAgICAg ICBlcnJvcl9wcm9wYWdhdGUoZXJycCwgbG9jYWxfZXJyKTsKICAgICAgICAgcmV0dXJuOwpkaWZm IC0tZ2l0IGEvc29mdG1tdS9tZW1vcnkuYyBiL3NvZnRtbXUvbWVtb3J5LmMKaW5kZXggMjNlOGUz MzAwMS4uODc0YThmY2NkZSAxMDA2NDQKLS0tIGEvc29mdG1tdS9tZW1vcnkuYworKysgYi9zb2Z0 bW11L21lbW9yeS5jCkBAIC0xNjEyLDYgKzE2MTIsNyBAQCB2b2lkIG1lbW9yeV9yZWdpb25faW5p dF9yYW1fZnJvbV9mZChNZW1vcnlSZWdpb24gKm1yLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDY0X3Qgc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2wgc2hhcmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgZmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW1fYWRkcl90IG9m ZnNldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkK IHsKICAgICBFcnJvciAqZXJyID0gTlVMTDsKQEAgLTE2MjEsNyArMTYyMiw3IEBAIHZvaWQgbWVt b3J5X3JlZ2lvbl9pbml0X3JhbV9mcm9tX2ZkKE1lbW9yeVJlZ2lvbiAqbXIsCiAgICAgbXItPmRl c3RydWN0b3IgPSBtZW1vcnlfcmVnaW9uX2Rlc3RydWN0b3JfcmFtOwogICAgIG1yLT5yYW1fYmxv Y2sgPSBxZW11X3JhbV9hbGxvY19mcm9tX2ZkKHNpemUsIG1yLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlID8gUkFNX1NIQVJFRCA6IDAsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQsIGZhbHNlLCAmZXJyKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZCwgb2Zmc2V0LCBmYWxz ZSwgJmVycik7CiAgICAgaWYgKGVycikgewogICAgICAgICBtci0+c2l6ZSA9IGludDEyOF96ZXJv KCk7CiAgICAgICAgIG9iamVjdF91bnBhcmVudChPQkpFQ1QobXIpKTsKZGlmZiAtLWdpdCBhL3Nv ZnRtbXUvcGh5c21lbS5jIGIvc29mdG1tdS9waHlzbWVtLmMKaW5kZXggOTZlZmFlZjk3YS4uMTll MGFhOTgzNiAxMDA2NDQKLS0tIGEvc29mdG1tdS9waHlzbWVtLmMKKysrIGIvc29mdG1tdS9waHlz bWVtLmMKQEAgLTE1NDMsNiArMTU0Myw3IEBAIHN0YXRpYyB2b2lkICpmaWxlX3JhbV9hbGxvYyhS QU1CbG9jayAqYmxvY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZkLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcmVhZG9ubHksCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCB0cnVuY2F0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBv ZmZfdCBvZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKQog ewogICAgIHZvaWQgKmFyZWE7CkBAIC0xNTkzLDcgKzE1OTQsOCBAQCBzdGF0aWMgdm9pZCAqZmls ZV9yYW1fYWxsb2MoUkFNQmxvY2sgKmJsb2NrLAogICAgIH0KIAogICAgIGFyZWEgPSBxZW11X3Jh bV9tbWFwKGZkLCBtZW1vcnksIGJsb2NrLT5tci0+YWxpZ24sIHJlYWRvbmx5LAotICAgICAgICAg ICAgICAgICAgICAgICAgIGJsb2NrLT5mbGFncyAmIFJBTV9TSEFSRUQsIGJsb2NrLT5mbGFncyAm IFJBTV9QTUVNKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBibG9jay0+ZmxhZ3MgJiBSQU1f U0hBUkVELCBibG9jay0+ZmxhZ3MgJiBSQU1fUE1FTSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICBvZmZzZXQpOwogICAgIGlmIChhcmVhID09IE1BUF9GQUlMRUQpIHsKICAgICAgICAgZXJyb3Jf c2V0Z19lcnJubyhlcnJwLCBlcnJubywKICAgICAgICAgICAgICAgICAgICAgICAgICAidW5hYmxl IHRvIG1hcCBiYWNraW5nIHN0b3JlIGZvciBndWVzdCBSQU0iKTsKQEAgLTIwMjQsOCArMjAyNiw4 IEBAIHN0YXRpYyB2b2lkIHJhbV9ibG9ja19hZGQoUkFNQmxvY2sgKm5ld19ibG9jaywgRXJyb3Ig KiplcnJwLCBib29sIHNoYXJlZCkKIAogI2lmZGVmIENPTkZJR19QT1NJWAogUkFNQmxvY2sgKnFl bXVfcmFtX2FsbG9jX2Zyb21fZmQocmFtX2FkZHJfdCBzaXplLCBNZW1vcnlSZWdpb24gKm1yLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcmFtX2ZsYWdzLCBpbnQg ZmQsIGJvb2wgcmVhZG9ubHksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJv ciAqKmVycnApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCByYW1f ZmxhZ3MsIGludCBmZCwgb2ZmX3Qgb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYm9vbCByZWFkb25seSwgRXJyb3IgKiplcnJwKQogewogICAgIFJBTUJsb2NrICpuZXdf YmxvY2s7CiAgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CkBAIC0yMDc5LDcgKzIwODEsNyBA QCBSQU1CbG9jayAqcWVtdV9yYW1fYWxsb2NfZnJvbV9mZChyYW1fYWRkcl90IHNpemUsIE1lbW9y eVJlZ2lvbiAqbXIsCiAgICAgbmV3X2Jsb2NrLT5tYXhfbGVuZ3RoID0gc2l6ZTsKICAgICBuZXdf YmxvY2stPmZsYWdzID0gcmFtX2ZsYWdzOwogICAgIG5ld19ibG9jay0+aG9zdCA9IGZpbGVfcmFt X2FsbG9jKG5ld19ibG9jaywgc2l6ZSwgZmQsIHJlYWRvbmx5LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICFmaWxlX3NpemUsIGVycnApOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICFmaWxlX3NpemUsIG9mZnNldCwgZXJycCk7CiAgICAgaWYgKCFu ZXdfYmxvY2stPmhvc3QpIHsKICAgICAgICAgZ19mcmVlKG5ld19ibG9jayk7CiAgICAgICAgIHJl dHVybiBOVUxMOwpAQCAtMjExMCw3ICsyMTEyLDcgQEAgUkFNQmxvY2sgKnFlbXVfcmFtX2FsbG9j X2Zyb21fZmlsZShyYW1fYWRkcl90IHNpemUsIE1lbW9yeVJlZ2lvbiAqbXIsCiAgICAgICAgIHJl dHVybiBOVUxMOwogICAgIH0KIAotICAgIGJsb2NrID0gcWVtdV9yYW1fYWxsb2NfZnJvbV9mZChz aXplLCBtciwgcmFtX2ZsYWdzLCBmZCwgcmVhZG9ubHksIGVycnApOworICAgIGJsb2NrID0gcWVt dV9yYW1fYWxsb2NfZnJvbV9mZChzaXplLCBtciwgcmFtX2ZsYWdzLCBmZCwgMCwgcmVhZG9ubHks IGVycnApOwogICAgIGlmICghYmxvY2spIHsKICAgICAgICAgaWYgKGNyZWF0ZWQpIHsKICAgICAg ICAgICAgIHVubGluayhtZW1fcGF0aCk7CmRpZmYgLS1naXQgYS91dGlsL21tYXAtYWxsb2MuYyBi L3V0aWwvbW1hcC1hbGxvYy5jCmluZGV4IDg5MGZkYTZhMzUuLmU2ZmE4YjU5OGIgMTAwNjQ0Ci0t LSBhL3V0aWwvbW1hcC1hbGxvYy5jCisrKyBiL3V0aWwvbW1hcC1hbGxvYy5jCkBAIC04Nyw3ICs4 Nyw4IEBAIHZvaWQgKnFlbXVfcmFtX21tYXAoaW50IGZkLAogICAgICAgICAgICAgICAgICAgICBz aXplX3QgYWxpZ24sCiAgICAgICAgICAgICAgICAgICAgIGJvb2wgcmVhZG9ubHksCiAgICAgICAg ICAgICAgICAgICAgIGJvb2wgc2hhcmVkLAotICAgICAgICAgICAgICAgICAgICBib29sIGlzX3Bt ZW0pCisgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNfcG1lbSwKKyAgICAgICAgICAgICAgICAg ICAgb2ZmX3QgbWFwX29mZnNldCkKIHsKICAgICBpbnQgcHJvdDsKICAgICBpbnQgZmxhZ3M7CkBA IC0xNTAsNyArMTUxLDggQEAgdm9pZCAqcWVtdV9yYW1fbW1hcChpbnQgZmQsCiAKICAgICBwcm90 ID0gUFJPVF9SRUFEIHwgKHJlYWRvbmx5ID8gMCA6IFBST1RfV1JJVEUpOwogCi0gICAgcHRyID0g bW1hcChndWFyZHB0ciArIG9mZnNldCwgc2l6ZSwgcHJvdCwgZmxhZ3MgfCBtYXBfc3luY19mbGFn cywgZmQsIDApOworICAgIHB0ciA9IG1tYXAoZ3VhcmRwdHIgKyBvZmZzZXQsIHNpemUsIHByb3Qs CisgICAgICAgICAgICAgICBmbGFncyB8IG1hcF9zeW5jX2ZsYWdzLCBmZCwgbWFwX29mZnNldCk7 CiAKICAgICBpZiAocHRyID09IE1BUF9GQUlMRUQgJiYgbWFwX3N5bmNfZmxhZ3MpIHsKICAgICAg ICAgaWYgKGVycm5vID09IEVOT1RTVVApIHsKQEAgLTE3NCw3ICsxNzYsNyBAQCB2b2lkICpxZW11 X3JhbV9tbWFwKGludCBmZCwKICAgICAgICAgICogaWYgbWFwIGZhaWxlZCB3aXRoIE1BUF9TSEFS RURfVkFMSURBVEUgfCBNQVBfU1lOQywKICAgICAgICAgICogd2Ugd2lsbCByZW1vdmUgdGhlc2Ug ZmxhZ3MgdG8gaGFuZGxlIGNvbXBhdGliaWxpdHkuCiAgICAgICAgICAqLwotICAgICAgICBwdHIg PSBtbWFwKGd1YXJkcHRyICsgb2Zmc2V0LCBzaXplLCBwcm90LCBmbGFncywgZmQsIDApOworICAg ICAgICBwdHIgPSBtbWFwKGd1YXJkcHRyICsgb2Zmc2V0LCBzaXplLCBwcm90LCBmbGFncywgZmQs IG1hcF9vZmZzZXQpOwogICAgIH0KIAogICAgIGlmIChwdHIgPT0gTUFQX0ZBSUxFRCkgewpkaWZm IC0tZ2l0IGEvdXRpbC9vc2xpYi1wb3NpeC5jIGIvdXRpbC9vc2xpYi1wb3NpeC5jCmluZGV4IGJm NTdkM2IwMzAuLjM2ODIwZmVjMTYgMTAwNjQ0Ci0tLSBhL3V0aWwvb3NsaWItcG9zaXguYworKysg Yi91dGlsL29zbGliLXBvc2l4LmMKQEAgLTIzMCw3ICsyMzAsNyBAQCB2b2lkICpxZW11X21lbWFs aWduKHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBzaXplKQogdm9pZCAqcWVtdV9hbm9uX3JhbV9h bGxvYyhzaXplX3Qgc2l6ZSwgdWludDY0X3QgKmFsaWdubWVudCwgYm9vbCBzaGFyZWQpCiB7CiAg ICAgc2l6ZV90IGFsaWduID0gUUVNVV9WTUFMTE9DX0FMSUdOOwotICAgIHZvaWQgKnB0ciA9IHFl bXVfcmFtX21tYXAoLTEsIHNpemUsIGFsaWduLCBmYWxzZSwgc2hhcmVkLCBmYWxzZSk7CisgICAg dm9pZCAqcHRyID0gcWVtdV9yYW1fbW1hcCgtMSwgc2l6ZSwgYWxpZ24sIGZhbHNlLCBzaGFyZWQs IGZhbHNlLCAwKTsKIAogICAgIGlmIChwdHIgPT0gTUFQX0ZBSUxFRCkgewogICAgICAgICByZXR1 cm4gTlVMTDsKLS0gCjIuMjkuMgoK