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.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MIME_BASE64_TEXT,SIGNED_OFF_BY,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 95F5CC433E3 for ; Tue, 4 Aug 2020 10:14:09 +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 7624222C9F for ; Tue, 4 Aug 2020 10:14:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="b6xCXXw8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7624222C9F 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]:38150 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k2txQ-0006H4-KM for qemu-devel@archiver.kernel.org; Tue, 04 Aug 2020 06:14:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34212) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k2twR-0004zW-2T for qemu-devel@nongnu.org; Tue, 04 Aug 2020 06:13:07 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:23801) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1k2twO-0007Js-Rm for qemu-devel@nongnu.org; Tue, 04 Aug 2020 06:13:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1596535983; 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=v4bCT5klV7TAmFkWeExwY64Qx38yKbxZ0Xk60uu8O3s=; b=b6xCXXw8PgEBmE9qu7A05vY91ujgUvVucSZ5HnipWvSxuv9EkEiltaD2dTKgAxz/y31Vcx 314T0rSEdtHJVKz0zmdCCVMuXFcOAfa+yFQ7w6UOFoyX/CZRHvK2j2iaFJFcJwFSARJcm9 uZtorO/BvGX92FPBPhyja6Mj555dArQ= 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-43-XxT2BjVsMreIePY2Oc0e4g-1; Tue, 04 Aug 2020 06:13:01 -0400 X-MC-Unique: XxT2BjVsMreIePY2Oc0e4g-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AED2F106B242; Tue, 4 Aug 2020 10:13:00 +0000 (UTC) Received: from localhost (ovpn-112-116.ams2.redhat.com [10.36.112.116]) by smtp.corp.redhat.com (Postfix) with ESMTP id A9E6D90E82; Tue, 4 Aug 2020 10:12:54 +0000 (UTC) From: Stefan Hajnoczi To: qemu-devel@nongnu.org Subject: [PATCH 1/3] memory: add readonly support to memory_region_init_ram_from_file() Date: Tue, 4 Aug 2020 11:12:42 +0100 Message-Id: <20200804101244.1283503-2-stefanha@redhat.com> In-Reply-To: <20200804101244.1283503-1-stefanha@redhat.com> References: <20200804101244.1283503-1-stefanha@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 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-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: base64 Received-SPF: pass client-ip=216.205.24.124; envelope-from=stefanha@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/04 06:13:03 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, 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_NONE=-0.0001, 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: Eduardo Habkost , "Michael S. Tsirkin" , Julio Montes , Xiao Guangrong , Stefan Hajnoczi , Paolo Bonzini , Igor Mammedov , Richard Henderson Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" VGhlcmUgaXMgY3VycmVudGx5IG5vIHdheSB0byBvcGVuKE9fUkRPTkxZKSBhbmQgbW1hcChQUk9U X1JFQUQpIHdoZW4KY3JlYXRpbmcgYSBtZW1vcnkgcmVnaW9uIGZyb20gYSBmaWxlLiBUaGlzIGZ1 bmN0aW9uYWxpdHkgaXMgbmVlZGVkIHNpbmNlCnRoZSB1bmRlcmx5aW5nIGhvc3QgZmlsZSBtYXkg bm90IGFsbG93IHdyaXRpbmcuCgpBZGQgYSBib29sIHJlYWRvbmx5IGFyZ3VtZW50IHRvIG1lbW9y eV9yZWdpb25faW5pdF9yYW1fZnJvbV9maWxlKCkgYW5kCnRoZSBBUElzIGl0IGNhbGxzLgoKRXh0 ZW5kIG1lbW9yeV9yZWdpb25faW5pdF9yYW1fZnJvbV9maWxlKCkgcmF0aGVyIHRoYW4gaW50cm9k dWNpbmcgYQptZW1vcnlfcmVnaW9uX2luaXRfcm9tX2Zyb21fZmlsZSgpIEFQSSBzbyB0aGF0IGNh bGxlcnMgY2FuIGVhc2lseSBtYWtlIGEKY2hvaWNlIGJldHdlZW4gcmVhZC93cml0ZSBhbmQgcmVh ZC1vbmx5IGF0IHJ1bnRpbWUgd2l0aG91dCBjYWxsaW5nCmRpZmZlcmVudCBBUElzLgoKTm8gbmV3 IFJBTUJsb2NrIGZsYWcgaXMgaW50cm9kdWNlZCBmb3IgcmVhZC1vbmx5IGJlY2F1c2UgaXQncyB1 bmNsZWFyCndoZXRoZXIgUkFNQmxvY2tzIG5lZWQgdG8ga25vdyB0aGF0IHRoZXkgYXJlIHJlYWQt b25seS4gUGFzcyBhIGJvb2wKcmVhZG9ubHkgYXJndW1lbnQgaW5zdGVhZC4KCkJvdGggb2YgdGhl c2UgZGVzaWduIGRlY2lzaW9ucyBjYW4gYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlLiBJdCBqdXN0 CnNlZW1lZCBsaWtlIHRoZSBzaW1wbGVzdCBhcHByb2FjaCB0byBtZS4KClNpZ25lZC1vZmYtYnk6 IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KLS0tCiBpbmNsdWRlL2V4ZWMv bWVtb3J5LmggICAgIHwgIDIgKysKIGluY2x1ZGUvZXhlYy9yYW1fYWRkci5oICAgfCAgNSArKyst LQogaW5jbHVkZS9xZW11L21tYXAtYWxsb2MuaCB8ICAyICsrCiBiYWNrZW5kcy9ob3N0bWVtLWZp bGUuYyAgIHwgIDIgKy0KIGV4ZWMuYyAgICAgICAgICAgICAgICAgICAgfCAxOCArKysrKysrKysr Ky0tLS0tLS0KIHNvZnRtbXUvbWVtb3J5LmMgICAgICAgICAgfCAgNyArKysrKy0tCiB1dGlsL21t YXAtYWxsb2MuYyAgICAgICAgIHwgMTAgKysrKysrLS0tLQogdXRpbC9vc2xpYi1wb3NpeC5jICAg ICAgICB8ICAyICstCiA4IGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDE3IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhlYy9tZW1vcnkuaCBiL2luY2x1ZGUvZXhl Yy9tZW1vcnkuaAppbmRleCAzMDdlNTI3ODM1Li4xYWU3YjMxZTNhIDEwMDY0NAotLS0gYS9pbmNs dWRlL2V4ZWMvbWVtb3J5LmgKKysrIGIvaW5jbHVkZS9leGVjL21lbW9yeS5oCkBAIC04ODQsNiAr ODg0LDcgQEAgdm9pZCBtZW1vcnlfcmVnaW9uX2luaXRfcmVzaXplYWJsZV9yYW0oTWVtb3J5UmVn aW9uICptciwKICAqICAgICAgICAgICAgIC0gUkFNX1BNRU06IHRoZSBtZW1vcnkgaXMgcGVyc2lz dGVudCBtZW1vcnkKICAqICAgICAgICAgICAgIE90aGVyIGJpdHMgYXJlIGlnbm9yZWQgbm93Lgog ICogQHBhdGg6IHRoZSBwYXRoIGluIHdoaWNoIHRvIGFsbG9jYXRlIHRoZSBSQU0uCisgKiBAcmVh ZG9ubHk6IHRydWUgdG8gb3BlbiBAcGF0aCBmb3IgcmVhZGluZywgZmFsc2UgZm9yIHJlYWQvd3Jp dGUuCiAgKiBAZXJycDogcG9pbnRlciB0byBFcnJvciosIHRvIHN0b3JlIGFuIGVycm9yIGlmIGl0 IGhhcHBlbnMuCiAgKgogICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gZG9lcyBub3QgZG8gYW55 dGhpbmcgdG8gY2F1c2UgdGhlIGRhdGEgaW4gdGhlCkBAIC04OTYsNiArODk3LDcgQEAgdm9pZCBt ZW1vcnlfcmVnaW9uX2luaXRfcmFtX2Zyb21fZmlsZShNZW1vcnlSZWdpb24gKm1yLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBhbGlnbiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcmFtX2ZsYWdzLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwYXRoLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJlYWRvbmx5LAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApOwogCiAvKioKZGlmZiAt LWdpdCBhL2luY2x1ZGUvZXhlYy9yYW1fYWRkci5oIGIvaW5jbHVkZS9leGVjL3JhbV9hZGRyLmgK aW5kZXggM2VmNzI5YTIzYy4uMmEwMzYwYTBmMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9leGVjL3Jh bV9hZGRyLmgKKysrIGIvaW5jbHVkZS9leGVjL3JhbV9hZGRyLmgKQEAgLTExMCw2ICsxMTAsNyBA QCBsb25nIHFlbXVfbWF4cmFtcGFnZXNpemUodm9pZCk7CiAgKiAgICAgICAgICAgICAgLSBSQU1f UE1FTTogdGhlIGJhY2tlbmQgQG1lbV9wYXRoIG9yIEBmZCBpcyBwZXJzaXN0ZW50IG1lbW9yeQog ICogICAgICAgICAgICAgIE90aGVyIGJpdHMgYXJlIGlnbm9yZWQuCiAgKiAgQG1lbV9wYXRoIG9y IEBmZDogc3BlY2lmeSB0aGUgYmFja2luZyBmaWxlIG9yIGRldmljZQorICogIEByZWFkb25seTog dHJ1ZSB0byBvcGVuIEBwYXRoIGZvciByZWFkaW5nLCBmYWxzZSBmb3IgcmVhZC93cml0ZS4KICAq ICBAZXJycDogcG9pbnRlciB0byBFcnJvciosIHRvIHN0b3JlIGFuIGVycm9yIGlmIGl0IGhhcHBl bnMKICAqCiAgKiBSZXR1cm46CkBAIC0xMTgsOSArMTE5LDkgQEAgbG9uZyBxZW11X21heHJhbXBh Z2VzaXplKHZvaWQpOwogICovCiBSQU1CbG9jayAqcWVtdV9yYW1fYWxsb2NfZnJvbV9maWxlKHJh bV9hZGRyX3Qgc2l6ZSwgTWVtb3J5UmVnaW9uICptciwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgcmFtX2ZsYWdzLCBjb25zdCBjaGFyICptZW1fcGF0aCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKTsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCByZWFkb25seSwgRXJyb3IgKiplcnJwKTsK IFJBTUJsb2NrICpxZW11X3JhbV9hbGxvY19mcm9tX2ZkKHJhbV9hZGRyX3Qgc2l6ZSwgTWVtb3J5 UmVnaW9uICptciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHJh bV9mbGFncywgaW50IGZkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgcmFtX2ZsYWdzLCBpbnQgZmQsIGJvb2wgcmVhZG9ubHksCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFcnJvciAqKmVycnApOwogCiBSQU1CbG9jayAqcWVtdV9yYW1fYWxsb2Nf ZnJvbV9wdHIocmFtX2FkZHJfdCBzaXplLCB2b2lkICpob3N0LApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9xZW11L21tYXAtYWxsb2MuaCBiL2luY2x1ZGUvcWVtdS9tbWFwLWFsbG9jLmgKaW5kZXggZTc4 NjI2NmI5Mi4uOGI3YTVjNzBmMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9xZW11L21tYXAtYWxsb2Mu aAorKysgYi9pbmNsdWRlL3FlbXUvbW1hcC1hbGxvYy5oCkBAIC0xNCw2ICsxNCw3IEBAIHNpemVf dCBxZW11X21lbXBhdGhfZ2V0cGFnZXNpemUoY29uc3QgY2hhciAqbWVtX3BhdGgpOwogICogIEBz aXplOiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGJlIG1tYXBlZAogICogIEBhbGlnbjogaWYgbm90 IHplcm8sIHNwZWNpZnkgdGhlIGFsaWdubWVudCBvZiB0aGUgc3RhcnRpbmcgbWFwcGluZyBhZGRy ZXNzOwogICogICAgICAgICAgb3RoZXJ3aXNlLCB0aGUgYWxpZ25tZW50IGluIHVzZSB3aWxsIGJl IGRldGVybWluZWQgYnkgUUVNVS4KKyAqICBAcmVhZG9ubHk6IHRydWUgZm9yIGEgcmVhZC1vbmx5 IG1hcHBpbmcsIGZhbHNlIGZvciByZWFkL3dyaXRlLgogICogIEBzaGFyZWQ6IG1hcCBoYXMgUkFN X1NIQVJFRCBmbGFnLgogICogIEBpc19wbWVtOiBtYXAgaGFzIFJBTV9QTUVNIGZsYWcuCiAgKgpA QCAtMjQsNiArMjUsNyBAQCBzaXplX3QgcWVtdV9tZW1wYXRoX2dldHBhZ2VzaXplKGNvbnN0IGNo YXIgKm1lbV9wYXRoKTsKIHZvaWQgKnFlbXVfcmFtX21tYXAoaW50IGZkLAogICAgICAgICAgICAg ICAgICAgICBzaXplX3Qgc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGFsaWduLAor ICAgICAgICAgICAgICAgICAgICBib29sIHJlYWRvbmx5LAogICAgICAgICAgICAgICAgICAgICBi b29sIHNoYXJlZCwKICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19wbWVtKTsKIApkaWZmIC0t Z2l0IGEvYmFja2VuZHMvaG9zdG1lbS1maWxlLmMgYi9iYWNrZW5kcy9ob3N0bWVtLWZpbGUuYwpp bmRleCA1YjgxOTAyMGI0Li4zN2M3MGFjZmUyIDEwMDY0NAotLS0gYS9iYWNrZW5kcy9ob3N0bWVt LWZpbGUuYworKysgYi9iYWNrZW5kcy9ob3N0bWVtLWZpbGUuYwpAQCAtNTcsNyArNTcsNyBAQCBm aWxlX2JhY2tlbmRfbWVtb3J5X2FsbG9jKEhvc3RNZW1vcnlCYWNrZW5kICpiYWNrZW5kLCBFcnJv ciAqKmVycnApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2VuZC0+ c2l6ZSwgZmItPmFsaWduLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChi YWNrZW5kLT5zaGFyZSA/IFJBTV9TSEFSRUQgOiAwKSB8CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGZiLT5pc19wbWVtID8gUkFNX1BNRU0gOiAwKSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmYi0+bWVtX3BhdGgsIGVycnApOworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZiLT5tZW1fcGF0aCwgZmFsc2UsIGVycnApOwog ICAgIGdfZnJlZShuYW1lKTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvZXhlYy5jIGIvZXhlYy5j CmluZGV4IDZmMzgxZjk4ZTIuLjU4NzRlOTk5YWIgMTAwNjQ0Ci0tLSBhL2V4ZWMuYworKysgYi9l eGVjLmMKQEAgLTE3NjksNiArMTc2OSw3IEBAIHN0YXRpYyBpbnQ2NF90IGdldF9maWxlX2FsaWdu KGludCBmZCkKIAogc3RhdGljIGludCBmaWxlX3JhbV9vcGVuKGNvbnN0IGNoYXIgKnBhdGgsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcmVnaW9uX25hbWUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbCByZWFkb25seSwKICAgICAgICAgICAgICAgICAgICAgICAg ICBib29sICpjcmVhdGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkK IHsKQEAgLTE3NzksNyArMTc4MCw3IEBAIHN0YXRpYyBpbnQgZmlsZV9yYW1fb3Blbihjb25zdCBj aGFyICpwYXRoLAogCiAgICAgKmNyZWF0ZWQgPSBmYWxzZTsKICAgICBmb3IgKDs7KSB7Ci0gICAg ICAgIGZkID0gb3BlbihwYXRoLCBPX1JEV1IpOworICAgICAgICBmZCA9IG9wZW4ocGF0aCwgcmVh ZG9ubHkgPyBPX1JET05MWSA6IE9fUkRXUik7CiAgICAgICAgIGlmIChmZCA+PSAwKSB7CiAgICAg ICAgICAgICAvKiBAcGF0aCBuYW1lcyBhbiBleGlzdGluZyBmaWxlLCB1c2UgaXQgKi8KICAgICAg ICAgICAgIGJyZWFrOwpAQCAtMTgzMSw2ICsxODMyLDcgQEAgc3RhdGljIGludCBmaWxlX3JhbV9v cGVuKGNvbnN0IGNoYXIgKnBhdGgsCiBzdGF0aWMgdm9pZCAqZmlsZV9yYW1fYWxsb2MoUkFNQmxv Y2sgKmJsb2NrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbV9hZGRyX3QgbWVtb3J5 LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBib29sIHJlYWRvbmx5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv b2wgdHJ1bmNhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKQog ewpAQCAtMTg4MSw3ICsxODgzLDcgQEAgc3RhdGljIHZvaWQgKmZpbGVfcmFtX2FsbG9jKFJBTUJs b2NrICpibG9jaywKICAgICAgICAgcGVycm9yKCJmdHJ1bmNhdGUiKTsKICAgICB9CiAKLSAgICBh cmVhID0gcWVtdV9yYW1fbW1hcChmZCwgbWVtb3J5LCBibG9jay0+bXItPmFsaWduLAorICAgIGFy ZWEgPSBxZW11X3JhbV9tbWFwKGZkLCBtZW1vcnksIGJsb2NrLT5tci0+YWxpZ24sIHJlYWRvbmx5 LAogICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrLT5mbGFncyAmIFJBTV9TSEFSRUQsIGJs b2NrLT5mbGFncyAmIFJBTV9QTUVNKTsKICAgICBpZiAoYXJlYSA9PSBNQVBfRkFJTEVEKSB7CiAg ICAgICAgIGVycm9yX3NldGdfZXJybm8oZXJycCwgZXJybm8sCkBAIC0yMzEzLDcgKzIzMTUsNyBA QCBzdGF0aWMgdm9pZCByYW1fYmxvY2tfYWRkKFJBTUJsb2NrICpuZXdfYmxvY2ssIEVycm9yICoq ZXJycCwgYm9vbCBzaGFyZWQpCiAKICNpZmRlZiBDT05GSUdfUE9TSVgKIFJBTUJsb2NrICpxZW11 X3JhbV9hbGxvY19mcm9tX2ZkKHJhbV9hZGRyX3Qgc2l6ZSwgTWVtb3J5UmVnaW9uICptciwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHJhbV9mbGFncywgaW50IGZk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgcmFtX2ZsYWdzLCBp bnQgZmQsIGJvb2wgcmVhZG9ubHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF cnJvciAqKmVycnApCiB7CiAgICAgUkFNQmxvY2sgKm5ld19ibG9jazsKQEAgLTIzNjcsNyArMjM2 OSw4IEBAIFJBTUJsb2NrICpxZW11X3JhbV9hbGxvY19mcm9tX2ZkKHJhbV9hZGRyX3Qgc2l6ZSwg TWVtb3J5UmVnaW9uICptciwKICAgICBuZXdfYmxvY2stPnVzZWRfbGVuZ3RoID0gc2l6ZTsKICAg ICBuZXdfYmxvY2stPm1heF9sZW5ndGggPSBzaXplOwogICAgIG5ld19ibG9jay0+ZmxhZ3MgPSBy YW1fZmxhZ3M7Ci0gICAgbmV3X2Jsb2NrLT5ob3N0ID0gZmlsZV9yYW1fYWxsb2MobmV3X2Jsb2Nr LCBzaXplLCBmZCwgIWZpbGVfc2l6ZSwgZXJycCk7CisgICAgbmV3X2Jsb2NrLT5ob3N0ID0gZmls ZV9yYW1fYWxsb2MobmV3X2Jsb2NrLCBzaXplLCBmZCwgcmVhZG9ubHksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIWZpbGVfc2l6ZSwgZXJycCk7CiAgICAgaWYgKCFuZXdf YmxvY2stPmhvc3QpIHsKICAgICAgICAgZ19mcmVlKG5ld19ibG9jayk7CiAgICAgICAgIHJldHVy biBOVUxMOwpAQCAtMjM4NiwxOCArMjM4OSwxOSBAQCBSQU1CbG9jayAqcWVtdV9yYW1fYWxsb2Nf ZnJvbV9mZChyYW1fYWRkcl90IHNpemUsIE1lbW9yeVJlZ2lvbiAqbXIsCiAKIFJBTUJsb2NrICpx ZW11X3JhbV9hbGxvY19mcm9tX2ZpbGUocmFtX2FkZHJfdCBzaXplLCBNZW1vcnlSZWdpb24gKm1y LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCByYW1fZmxhZ3Ms IGNvbnN0IGNoYXIgKm1lbV9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFcnJvciAqKmVycnApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg cmVhZG9ubHksIEVycm9yICoqZXJycCkKIHsKICAgICBpbnQgZmQ7CiAgICAgYm9vbCBjcmVhdGVk OwogICAgIFJBTUJsb2NrICpibG9jazsKIAotICAgIGZkID0gZmlsZV9yYW1fb3BlbihtZW1fcGF0 aCwgbWVtb3J5X3JlZ2lvbl9uYW1lKG1yKSwgJmNyZWF0ZWQsIGVycnApOworICAgIGZkID0gZmls ZV9yYW1fb3BlbihtZW1fcGF0aCwgbWVtb3J5X3JlZ2lvbl9uYW1lKG1yKSwgcmVhZG9ubHksICZj cmVhdGVkLAorICAgICAgICAgICAgICAgICAgICAgICBlcnJwKTsKICAgICBpZiAoZmQgPCAwKSB7 CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGJsb2NrID0gcWVtdV9yYW1fYWxs b2NfZnJvbV9mZChzaXplLCBtciwgcmFtX2ZsYWdzLCBmZCwgZXJycCk7CisgICAgYmxvY2sgPSBx ZW11X3JhbV9hbGxvY19mcm9tX2ZkKHNpemUsIG1yLCByYW1fZmxhZ3MsIGZkLCByZWFkb25seSwg ZXJycCk7CiAgICAgaWYgKCFibG9jaykgewogICAgICAgICBpZiAoY3JlYXRlZCkgewogICAgICAg ICAgICAgdW5saW5rKG1lbV9wYXRoKTsKZGlmZiAtLWdpdCBhL3NvZnRtbXUvbWVtb3J5LmMgYi9z b2Z0bW11L21lbW9yeS5jCmluZGV4IGFmMjU5ODc1MTguLmQyMjg2MzViYjMgMTAwNjQ0Ci0tLSBh L3NvZnRtbXUvbWVtb3J5LmMKKysrIGIvc29mdG1tdS9tZW1vcnkuYwpAQCAtMTU1MywxNSArMTU1 MywxOCBAQCB2b2lkIG1lbW9yeV9yZWdpb25faW5pdF9yYW1fZnJvbV9maWxlKE1lbW9yeVJlZ2lv biAqbXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGFs aWduLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCByYW1f ZmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg KnBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcmVhZG9u bHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkK IHsKICAgICBFcnJvciAqZXJyID0gTlVMTDsKICAgICBtZW1vcnlfcmVnaW9uX2luaXQobXIsIG93 bmVyLCBuYW1lLCBzaXplKTsKICAgICBtci0+cmFtID0gdHJ1ZTsKKyAgICBtci0+cmVhZG9ubHkg PSByZWFkb25seTsKICAgICBtci0+dGVybWluYXRlcyA9IHRydWU7CiAgICAgbXItPmRlc3RydWN0 b3IgPSBtZW1vcnlfcmVnaW9uX2Rlc3RydWN0b3JfcmFtOwogICAgIG1yLT5hbGlnbiA9IGFsaWdu OwotICAgIG1yLT5yYW1fYmxvY2sgPSBxZW11X3JhbV9hbGxvY19mcm9tX2ZpbGUoc2l6ZSwgbXIs IHJhbV9mbGFncywgcGF0aCwgJmVycik7CisgICAgbXItPnJhbV9ibG9jayA9IHFlbXVfcmFtX2Fs bG9jX2Zyb21fZmlsZShzaXplLCBtciwgcmFtX2ZsYWdzLCBwYXRoLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZG9ubHksICZlcnIpOwogICAgIG1yLT5k aXJ0eV9sb2dfbWFzayA9IHRjZ19lbmFibGVkKCkgPyAoMSA8PCBESVJUWV9NRU1PUllfQ09ERSkg OiAwOwogICAgIGlmIChlcnIpIHsKICAgICAgICAgbXItPnNpemUgPSBpbnQxMjhfemVybygpOwpA QCAtMTU4NSw3ICsxNTg4LDcgQEAgdm9pZCBtZW1vcnlfcmVnaW9uX2luaXRfcmFtX2Zyb21fZmQo TWVtb3J5UmVnaW9uICptciwKICAgICBtci0+ZGVzdHJ1Y3RvciA9IG1lbW9yeV9yZWdpb25fZGVz dHJ1Y3Rvcl9yYW07CiAgICAgbXItPnJhbV9ibG9jayA9IHFlbXVfcmFtX2FsbG9jX2Zyb21fZmQo c2l6ZSwgbXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hh cmUgPyBSQU1fU0hBUkVEIDogMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmZCwgJmVycik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZmQsIGZhbHNlLCAmZXJyKTsKICAgICBtci0+ZGlydHlfbG9nX21hc2sgPSB0Y2dfZW5h YmxlZCgpID8gKDEgPDwgRElSVFlfTUVNT1JZX0NPREUpIDogMDsKICAgICBpZiAoZXJyKSB7CiAg ICAgICAgIG1yLT5zaXplID0gaW50MTI4X3plcm8oKTsKZGlmZiAtLWdpdCBhL3V0aWwvbW1hcC1h bGxvYy5jIGIvdXRpbC9tbWFwLWFsbG9jLmMKaW5kZXggMjdkY2NjZDhlYy4uODkwZmRhNmEzNSAx MDA2NDQKLS0tIGEvdXRpbC9tbWFwLWFsbG9jLmMKKysrIGIvdXRpbC9tbWFwLWFsbG9jLmMKQEAg LTg1LDkgKzg1LDExIEBAIHNpemVfdCBxZW11X21lbXBhdGhfZ2V0cGFnZXNpemUoY29uc3QgY2hh ciAqbWVtX3BhdGgpCiB2b2lkICpxZW11X3JhbV9tbWFwKGludCBmZCwKICAgICAgICAgICAgICAg ICAgICAgc2l6ZV90IHNpemUsCiAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBhbGlnbiwKKyAg ICAgICAgICAgICAgICAgICAgYm9vbCByZWFkb25seSwKICAgICAgICAgICAgICAgICAgICAgYm9v bCBzaGFyZWQsCiAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNfcG1lbSkKIHsKKyAgICBpbnQg cHJvdDsKICAgICBpbnQgZmxhZ3M7CiAgICAgaW50IG1hcF9zeW5jX2ZsYWdzID0gMDsKICAgICBp bnQgZ3VhcmRmZDsKQEAgLTE0Niw4ICsxNDgsOSBAQCB2b2lkICpxZW11X3JhbV9tbWFwKGludCBm ZCwKIAogICAgIG9mZnNldCA9IFFFTVVfQUxJR05fVVAoKHVpbnRwdHJfdClndWFyZHB0ciwgYWxp Z24pIC0gKHVpbnRwdHJfdClndWFyZHB0cjsKIAotICAgIHB0ciA9IG1tYXAoZ3VhcmRwdHIgKyBv ZmZzZXQsIHNpemUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCi0gICAgICAgICAgICAgICBmbGFn cyB8IG1hcF9zeW5jX2ZsYWdzLCBmZCwgMCk7CisgICAgcHJvdCA9IFBST1RfUkVBRCB8IChyZWFk b25seSA/IDAgOiBQUk9UX1dSSVRFKTsKKworICAgIHB0ciA9IG1tYXAoZ3VhcmRwdHIgKyBvZmZz ZXQsIHNpemUsIHByb3QsIGZsYWdzIHwgbWFwX3N5bmNfZmxhZ3MsIGZkLCAwKTsKIAogICAgIGlm IChwdHIgPT0gTUFQX0ZBSUxFRCAmJiBtYXBfc3luY19mbGFncykgewogICAgICAgICBpZiAoZXJy bm8gPT0gRU5PVFNVUCkgewpAQCAtMTcxLDggKzE3NCw3IEBAIHZvaWQgKnFlbXVfcmFtX21tYXAo aW50IGZkLAogICAgICAgICAgKiBpZiBtYXAgZmFpbGVkIHdpdGggTUFQX1NIQVJFRF9WQUxJREFU RSB8IE1BUF9TWU5DLAogICAgICAgICAgKiB3ZSB3aWxsIHJlbW92ZSB0aGVzZSBmbGFncyB0byBo YW5kbGUgY29tcGF0aWJpbGl0eS4KICAgICAgICAgICovCi0gICAgICAgIHB0ciA9IG1tYXAoZ3Vh cmRwdHIgKyBvZmZzZXQsIHNpemUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCi0gICAgICAgICAg ICAgICAgICAgZmxhZ3MsIGZkLCAwKTsKKyAgICAgICAgcHRyID0gbW1hcChndWFyZHB0ciArIG9m ZnNldCwgc2l6ZSwgcHJvdCwgZmxhZ3MsIGZkLCAwKTsKICAgICB9CiAKICAgICBpZiAocHRyID09 IE1BUF9GQUlMRUQpIHsKZGlmZiAtLWdpdCBhL3V0aWwvb3NsaWItcG9zaXguYyBiL3V0aWwvb3Ns aWItcG9zaXguYwppbmRleCBhZDgwMDFhNGFkLi4yMzZiM2E4OGMxIDEwMDY0NAotLS0gYS91dGls L29zbGliLXBvc2l4LmMKKysrIGIvdXRpbC9vc2xpYi1wb3NpeC5jCkBAIC0yMjcsNyArMjI3LDcg QEAgdm9pZCAqcWVtdV9tZW1hbGlnbihzaXplX3QgYWxpZ25tZW50LCBzaXplX3Qgc2l6ZSkKIHZv aWQgKnFlbXVfYW5vbl9yYW1fYWxsb2Moc2l6ZV90IHNpemUsIHVpbnQ2NF90ICphbGlnbm1lbnQs IGJvb2wgc2hhcmVkKQogewogICAgIHNpemVfdCBhbGlnbiA9IFFFTVVfVk1BTExPQ19BTElHTjsK LSAgICB2b2lkICpwdHIgPSBxZW11X3JhbV9tbWFwKC0xLCBzaXplLCBhbGlnbiwgc2hhcmVkLCBm YWxzZSk7CisgICAgdm9pZCAqcHRyID0gcWVtdV9yYW1fbW1hcCgtMSwgc2l6ZSwgYWxpZ24sIGZh bHNlLCBzaGFyZWQsIGZhbHNlKTsKIAogICAgIGlmIChwdHIgPT0gTUFQX0ZBSUxFRCkgewogICAg ICAgICByZXR1cm4gTlVMTDsKLS0gCjIuMjYuMgoK