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.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 AE9C7C2BA83 for ; Fri, 7 Feb 2020 20:28:13 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 772E421741 for ; Fri, 7 Feb 2020 20:28:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 772E421741 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xen.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j0AE7-0002ox-TT; Fri, 07 Feb 2020 20:27:47 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j0AE6-0002os-Mg for xen-devel@lists.xenproject.org; Fri, 07 Feb 2020 20:27:46 +0000 X-Inumbo-ID: 4c670948-49e8-11ea-a759-bc764e2007e4 Received: from mail-wr1-f65.google.com (unknown [209.85.221.65]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 4c670948-49e8-11ea-a759-bc764e2007e4; Fri, 07 Feb 2020 20:27:45 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id z9so383086wrs.10 for ; Fri, 07 Feb 2020 12:27:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=jeCEv+8MHCW/BEAd1KhqqNLWQdYOC4J+prlXgjXtC/4=; b=c8LMa+fQmtvNscUSH+eHeX2rFXdQ0+X/ktEjL7EvXDiO+IQTZqtXqnNwlWFsm+ZmZz LS5J2nXQgjndot0IM447Erf81TQlkkxSjEKuvk/Ok1C7gBVuZuB6i/W/eiaiv4h+f+GS XATJQ5V4xcu+VHh9lgHfwCRpKSJ1FDIWy9V3R3uBekIrutuXveKqeMeO3uVDrdz9WXvf sddSGSsIGt1utwUflmugvA06OGlMPKB43P9TYlY39HG77Rzcd4CVFXsCWRjKvX0pP0j2 RVfcWdW/S0Oyzc/i1d5wnC5ctaiGaj8kgnGSBNvcVyicWN5X48gp7mEflxRrAFyg4MJJ Nsww== X-Gm-Message-State: APjAAAVk8E8tYrH2bG6caad3RcPewzM6J0tKaoxnwNipyvuQ/wB+mudG 0ehIk68vsFWWb7zHBTc9las= X-Google-Smtp-Source: APXvYqxoCXFT1yLIae3AyI/+H/tHKvd9J0w8osyfbWL7BsA8IEysy4/F5rIp6xOsSrBpwnVsmrT9cQ== X-Received: by 2002:a5d:638f:: with SMTP id p15mr757296wru.402.1581107264578; Fri, 07 Feb 2020 12:27:44 -0800 (PST) Received: from a483e7b01a66.ant.amazon.com (54-240-197-226.amazon.com. [54.240.197.226]) by smtp.gmail.com with ESMTPSA id h2sm5053213wrt.45.2020.02.07.12.27.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 07 Feb 2020 12:27:44 -0800 (PST) To: David Woodhouse , Jan Beulich References: <56f7fe21daff2dc4bf8db7ee356666233bdb0f7a.camel@infradead.org> <20200207155701.2781820-1-dwmw2@infradead.org> From: Julien Grall Message-ID: <28e1dfce-b4c5-7c73-0574-48fc4179443e@xen.org> Date: Fri, 7 Feb 2020 20:27:42 +0000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 MIME-Version: 1.0 In-Reply-To: <20200207155701.2781820-1-dwmw2@infradead.org> Content-Language: en-GB Subject: Re: [Xen-devel] [PATCH 1/2] xen/mm: fold PGC_broken into PGC_state bits X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , George Dunlap , Jeff Kubascik , Stewart Hildebrand , xen-devel@lists.xenproject.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" SGkgRGF2aWQsCgpDb3VsZCB5b3UgcGxlYXNlIHNlbmQgdGhlIHNlcmllcyBpbiBhIHNlcGFyYXRl IHRocmVhZD8gU28gd2UgZG9uJ3QgbWl4IAp0aGUgdHdvIGRpc2N1c3Npb25zIChpLmUgbWVyZ2Ug YW5kIGZyZWUgb24gYm9vdCBhbGxvY2F0ZWQgcGFnZSkgdG9nZXRoZXIuCgpPbiAwNy8wMi8yMDIw IDE1OjU3LCBEYXZpZCBXb29kaG91c2Ugd3JvdGU6Cj4gRnJvbTogRGF2aWQgV29vZGhvdXNlIDxk d213QGFtYXpvbi5jby51az4KPiAKPiBPbmx5IFBHQ19zdGF0ZV9vZmZsaW5pbmcgYW5kIFBHQ19z dGF0ZV9vZmZsaW5lZCBhcmUgdmFsaWQgaW4gY29uanVuY3Rpb24KPiB3aXRoIFBHQ19icm9rZW4u IFRoZSBvdGhlciB0d28gc3RhdGVzIChmcmVlIGFuZCBpbnVzZSkgd2VyZSBuZXZlciB2YWxpZAo+ IGZvciBhIGJyb2tlbiBwYWdlLgo+IAo+IEJ5IGZvbGRpbmcgUEdDX2Jyb2tlbiBpbiwgd2UgY2Fu IGhhdmUgdGhyZWUgYml0cyBmb3IgUEdDX3N0YXRlIHdoaWNoCj4gYWxsb3dzIHVwIHRvIDggc3Rh dGVzLCBvZiB3aGljaCA2IGFyZSBjdXJyZW50bHkgdXNlZCBhbmQgMiBhcmUgYXZhaWxhYmxlCj4g Zm9yIG5ldyB1c2UgY2FzZXMuCgpUaGUgaWRlYSBsb29rcyBnb29kIHRvIG1lLiBJIGhhdmUgYSBm ZXcgIG1vc3RseSBuaXRwaWNraW5nIGNvbW1lbnQgYmVsb3cuCgo+IAo+IFNpZ25lZC1vZmYtYnk6 IERhdmlkIFdvb2Rob3VzZSA8ZHdtd0BhbWF6b24uY28udWs+Cj4gLS0tCj4gICB4ZW4vYXJjaC94 ODYvZG9tY3RsLmMgICAgfCAgMiArLQo+ICAgeGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMgIHwgNjcg KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQo+ICAgeGVuL2luY2x1ZGUv YXNtLWFybS9tbS5oIHwgMjYgKysrKysrKysrKystLS0tLQo+ICAgeGVuL2luY2x1ZGUvYXNtLXg4 Ni9tbS5oIHwgMzMgKysrKysrKysrKysrKy0tLS0tLS0KPiAgIDQgZmlsZXMgY2hhbmdlZCwgODIg aW5zZXJ0aW9ucygrKSwgNDYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9kb21jdGwuYyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwo+IGluZGV4IDRmYTljOTExNDAu LjE3YTMxOGUxNmQgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5jCj4gKysrIGIv eGVuL2FyY2gveDg2L2RvbWN0bC5jCj4gQEAgLTQxNSw3ICs0MTUsNyBAQCBsb25nIGFyY2hfZG9f ZG9tY3RsKAo+ICAgICAgICAgICAgICAgICAgIGlmICggcGFnZS0+dS5pbnVzZS50eXBlX2luZm8g JiBQR1RfcGlubmVkICkKPiAgICAgICAgICAgICAgICAgICAgICAgdHlwZSB8PSBYRU5fRE9NQ1RM X1BGSU5GT19MUElOVEFCOwo+ICAgCj4gLSAgICAgICAgICAgICAgICBpZiAoIHBhZ2UtPmNvdW50 X2luZm8gJiBQR0NfYnJva2VuICkKPiArICAgICAgICAgICAgICAgIGlmICggcGFnZV9pc19icm9r ZW4ocGFnZSkgKQo+ICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gWEVOX0RPTUNUTF9QRklO Rk9fQlJPS0VOOwo+ICAgICAgICAgICAgICAgfQo+ICAgCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21t b24vcGFnZV9hbGxvYy5jIGIveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMKPiBpbmRleCA5NzkwMmQ0 MmMxLi40MDg0NTAzNTU0IDEwMDY0NAo+IC0tLSBhL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCj4g KysrIGIveGVuL2NvbW1vbi9wYWdlX2FsbG9jLmMKPiBAQCAtMTA5Myw3ICsxMDkzLDcgQEAgc3Rh dGljIGludCByZXNlcnZlX29mZmxpbmVkX3BhZ2Uoc3RydWN0IHBhZ2VfaW5mbyAqaGVhZCkKPiAg ICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7Cj4gICAgICAgICAgIGludCBuZXh0X29yZGVy Owo+ICAgCj4gLSAgICAgICAgaWYgKCBwYWdlX3N0YXRlX2lzKGN1cl9oZWFkLCBvZmZsaW5lZCkg KQo+ICsgICAgICAgIGlmICggcGFnZV9pc19vZmZsaW5lZChjdXJfaGVhZCkgKQo+ICAgICAgICAg ICB7Cj4gICAgICAgICAgICAgICBjdXJfaGVhZCsrOwo+ICAgICAgICAgICAgICAgaWYgKCBmaXJz dF9kaXJ0eSAhPSBJTlZBTElEX0RJUlRZX0lEWCAmJiBmaXJzdF9kaXJ0eSApCj4gQEAgLTExMTMs NyArMTExMyw3IEBAIHN0YXRpYyBpbnQgcmVzZXJ2ZV9vZmZsaW5lZF9wYWdlKHN0cnVjdCBwYWdl X2luZm8gKmhlYWQpCj4gICAgICAgICAgICAgICBmb3IgKCBpID0gKDEgPDwgY3VyX29yZGVyKSwg cGcgPSBjdXJfaGVhZCArICgxIDw8IGN1cl9vcmRlciApOwo+ICAgICAgICAgICAgICAgICAgICAg aSA8ICgxIDw8IG5leHRfb3JkZXIpOwo+ICAgICAgICAgICAgICAgICAgICAgaSsrLCBwZysrICkK PiAtICAgICAgICAgICAgICAgIGlmICggcGFnZV9zdGF0ZV9pcyhwZywgb2ZmbGluZWQpICkKPiAr ICAgICAgICAgICAgICAgIGlmICggcGFnZV9pc19vZmZsaW5lZChwZykgKQo+ICAgICAgICAgICAg ICAgICAgICAgICBicmVhazsKPiAgICAgICAgICAgICAgIGlmICggaSA9PSAoIDEgPDwgbmV4dF9v cmRlcikgKQo+ICAgICAgICAgICAgICAgewo+IEBAIC0xMTQ1LDE2ICsxMTQ1LDE5IEBAIHN0YXRp YyBpbnQgcmVzZXJ2ZV9vZmZsaW5lZF9wYWdlKHN0cnVjdCBwYWdlX2luZm8gKmhlYWQpCj4gICAK PiAgICAgICBmb3IgKCBjdXJfaGVhZCA9IGhlYWQ7IGN1cl9oZWFkIDwgaGVhZCArICggMVVMIDw8 IGhlYWRfb3JkZXIpOyBjdXJfaGVhZCsrICkKPiAgICAgICB7Cj4gLSAgICAgICAgaWYgKCAhcGFn ZV9zdGF0ZV9pcyhjdXJfaGVhZCwgb2ZmbGluZWQpICkKPiArICAgICAgICBzdHJ1Y3QgcGFnZV9s aXN0X2hlYWQgKmxpc3Q7CgpXZSB0ZW5kIHRvIGFkZCBhIG5ld2xpbmUgYWZ0ZXIgYSBzZXJpZXMg b2YgZGVjbGFyYXRpb24uCgo+ICsgICAgICAgIGlmICggcGFnZV9zdGF0ZV9pcyhjdXJfaGVhZCwg b2ZmbGluZWQpICkKPiArICAgICAgICAgICAgbGlzdCA9ICZwYWdlX29mZmxpbmVkX2xpc3Q7Cj4g KyAgICAgICAgZWxzZSBpZiAocGFnZV9zdGF0ZV9pcyhjdXJfaGVhZCwgYnJva2VuKSApCj4gKyAg ICAgICAgICAgIGxpc3QgPSAmcGFnZV9icm9rZW5fbGlzdDsKPiArICAgICAgICBlbHNlCj4gICAg ICAgICAgICAgICBjb250aW51ZTsKPiAgIAo+ICAgICAgICAgICBhdmFpbFtub2RlXVt6b25lXS0t Owo+ICAgICAgICAgICB0b3RhbF9hdmFpbF9wYWdlcy0tOwo+ICAgICAgICAgICBBU1NFUlQodG90 YWxfYXZhaWxfcGFnZXMgPj0gMCk7Cj4gICAKPiAtICAgICAgICBwYWdlX2xpc3RfYWRkX3RhaWwo Y3VyX2hlYWQsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfYml0KF9QR0NfYnJv a2VuLCAmY3VyX2hlYWQtPmNvdW50X2luZm8pID8KPiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgJnBhZ2VfYnJva2VuX2xpc3QgOiAmcGFnZV9vZmZsaW5lZF9saXN0KTsKPiArICAgICAgICBw YWdlX2xpc3RfYWRkX3RhaWwoY3VyX2hlYWQsIGxpc3QpOwo+ICAgCj4gICAgICAgICAgIGNvdW50 Kys7Cj4gICAgICAgfQo+IEBAIC0xNDA0LDEzICsxNDA3LDE2IEBAIHN0YXRpYyB2b2lkIGZyZWVf aGVhcF9wYWdlcygKPiAgICAgICAgICAgc3dpdGNoICggcGdbaV0uY291bnRfaW5mbyAmIFBHQ19z dGF0ZSApCj4gICAgICAgICAgIHsKPiAgICAgICAgICAgY2FzZSBQR0Nfc3RhdGVfaW51c2U6Cj4g LSAgICAgICAgICAgIEJVR19PTihwZ1tpXS5jb3VudF9pbmZvICYgUEdDX2Jyb2tlbik7Cj4gICAg ICAgICAgICAgICBwZ1tpXS5jb3VudF9pbmZvID0gUEdDX3N0YXRlX2ZyZWU7Cj4gICAgICAgICAg ICAgICBicmVhazsKPiAgIAo+ICAgICAgICAgICBjYXNlIFBHQ19zdGF0ZV9vZmZsaW5pbmc6Cj4g LSAgICAgICAgICAgIHBnW2ldLmNvdW50X2luZm8gPSAocGdbaV0uY291bnRfaW5mbyAmIFBHQ19i cm9rZW4pIHwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBHQ19zdGF0ZV9vZmZs aW5lZDsKPiArICAgICAgICAgICAgcGdbaV0uY291bnRfaW5mbyA9IFBHQ19zdGF0ZV9vZmZsaW5l ZDsKPiArICAgICAgICAgICAgdGFpbnRlZCA9IDE7Cj4gKyAgICAgICAgICAgIGJyZWFrOwo+ICsK PiArICAgICAgICBjYXNlIFBHQ19zdGF0ZV9icm9rZW5fb2ZmbGluaW5nOgo+ICsgICAgICAgICAg ICBwZ1tpXS5jb3VudF9pbmZvID0gUEdDX3N0YXRlX2Jyb2tlbjsKPiAgICAgICAgICAgICAgIHRh aW50ZWQgPSAxOwo+ICAgICAgICAgICAgICAgYnJlYWs7Cj4gICAKPiBAQCAtMTUyNywxNiArMTUz MywyNSBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBtYXJrX3BhZ2Vfb2ZmbGluZShzdHJ1Y3QgcGFn ZV9pbmZvICpwZywgaW50IGJyb2tlbikKPiAgICAgICBkbyB7Cj4gICAgICAgICAgIG54ID0geCA9 IHk7Cj4gICAKPiAtICAgICAgICBpZiAoICgoeCAmIFBHQ19zdGF0ZSkgIT0gUEdDX3N0YXRlX29m ZmxpbmVkKSAmJgo+IC0gICAgICAgICAgICAgKCh4ICYgUEdDX3N0YXRlKSAhPSBQR0Nfc3RhdGVf b2ZmbGluaW5nKSApCj4gKyAgICAgICAgbnggJj0gflBHQ19zdGF0ZTsKPiArCj4gKyAgICAgICAg c3dpdGNoICggeCAmIFBHQ19zdGF0ZSApCj4gICAgICAgICAgIHsKPiAtICAgICAgICAgICAgbngg Jj0gflBHQ19zdGF0ZTsKPiAtICAgICAgICAgICAgbnggfD0gKCgoeCAmIFBHQ19zdGF0ZSkgPT0g UEdDX3N0YXRlX2ZyZWUpCj4gLSAgICAgICAgICAgICAgICAgICA/IFBHQ19zdGF0ZV9vZmZsaW5l ZCA6IFBHQ19zdGF0ZV9vZmZsaW5pbmcpOwo+IC0gICAgICAgIH0KPiArICAgICAgICBjYXNlIFBH Q19zdGF0ZV9pbnVzZToKPiArICAgICAgICBjYXNlIFBHQ19zdGF0ZV9vZmZsaW5pbmc6Cj4gKyAg ICAgICAgICAgIG54IHw9IGJyb2tlbiA/IFBHQ19zdGF0ZV9vZmZsaW5pbmcgOiBQR0Nfc3RhdGVf YnJva2VuX29mZmxpbmluZzsKPiArICAgICAgICAgICAgYnJlYWs7Cj4gKwo+ICsgICAgICAgIGNh c2UgUEdDX3N0YXRlX2ZyZWU6Cj4gKyAgICAgICAgICAgIG54IHw9IGJyb2tlbiA/IFBHQ19zdGF0 ZV9icm9rZW4gOiBQR0Nfc3RhdGVfb2ZmbGluZWQ7Cj4gICAKPiAtICAgICAgICBpZiAoIGJyb2tl biApCj4gLSAgICAgICAgICAgIG54IHw9IFBHQ19icm9rZW47Cj4gKyAgICAgICAgY2FzZSBQR0Nf c3RhdGVfYnJva2VuX29mZmxpbmluZzoKPiArICAgICAgICAgICAgbnggfD0gUEdDX3N0YXRlX2Jy b2tlbl9vZmZsaW5pbmc7Cj4gKwo+ICsgICAgICAgIGNhc2UgUEdDX3N0YXRlX29mZmxpbmVkOgo+ ICsgICAgICAgIGNhc2UgUEdDX3N0YXRlX2Jyb2tlbjoKPiArICAgICAgICAgICAgbnggfD0gUEdD X3N0YXRlX2Jyb2tlbjsKClNob3VsZG4ndCB0aGlzIGJlOgoKY2FzZSBQR0Nfc3RhdGVfb2ZmbGlu ZWQ6CiAgICAgbnggfD0gYnJva2VuID8gUEdDX3N0YXRlX29mZmxpbmVkIDogUEdDX3N0YXRlX2Jy b2tlbjsKCmNhc2UgUEdDX3N0YXRlX2Jyb2tlbjoKICAgICBueCB8PSBQR0Nfc3RhdGVfYnJva2Vu OwoKVGhlcmUgYXJlIGFsc28gcXVpdGUgYSBkaWZmZXJlbmNlIHdpdGggdGhlIGRlZmF1bHQgY2Fz ZSBub3cuIFdpdGhvdXQgCnRoaXMgcGF0Y2gsIGlmIHlvdSB3ZXJlIHRvIGFkZCBhIG5ldyBzdGF0 ZSBidXQgbm90IGhhbmRsaW5nIGl0IGhlcmUsIHlvdSAKd291bGQgdHJhbnNpdGlvbiB0byBQR0Nf c3RhdGVfb2ZmbGluaW5nLiBXaXRoIHRoaXMgcGF0Y2gsIHdlIHdpbGwgCnRyYW5zdGlvbiB0byAw IChpLmUgUEdDX3N0YXRlX2ludXNlIGZvciBub3cpLgoKUEdDX3N0YXRlXyogYXJlIG5vdCBhbiBl bnVtLCB0aGUgY29tcGlsZXIgY2FuJ3QgaGVscCB0byBjYXRjaCBuZXcgc3RhdGUgCnRoYXQgZG9l c24ndCBoYXZlIGEgY29ycmVzcG9uZGluZyBjYXNlLiBTbyBJIHdvdWxkIHN1Z2dlc3QgdG8gYWRk IGEgCmRlZmF1bHQgbWF0Y2hpbmcgdGhlIGN1cnJlbnQgYmVoYXZpb3IgYW5kIGFkZGluZyBhbiAK QVNTRVJUX1VOUkVBQ0hBQkxFKCkuIE5vdGUgdGhhdCBJIGFtIG9wZW4gdG8gYSBkaWZmZXJlbnQg a2luZCBvZiAKaGFuZGxpbmcgaGVyZS4KCj4gKyAgICAgICAgfQo+ICAgCj4gICAgICAgICAgIGlm ICggeCA9PSBueCApCj4gICAgICAgICAgICAgICBicmVhazsKPiBAQCAtMTYwOSw3ICsxNjI0LDcg QEAgaW50IG9mZmxpbmVfcGFnZShtZm5fdCBtZm4sIGludCBicm9rZW4sIHVpbnQzMl90ICpzdGF0 dXMpCj4gICAgICAgICogbmVlZCB0byBwcmV2ZW50IG1hbGljaW91cyBndWVzdCBhY2Nlc3MgdGhl IGJyb2tlbiBwYWdlIGFnYWluLgo+ICAgICAgICAqIFVuZGVyIHN1Y2ggY2FzZSwgaHlwZXJ2aXNv ciBzaHV0ZG93biBndWVzdCwgcHJldmVudGluZyByZWN1cnNpdmUgbWNlLgo+ICAgICAgICAqLwo+ IC0gICAgaWYgKCAocGctPmNvdW50X2luZm8gJiBQR0NfYnJva2VuKSAmJiAob3duZXIgPSBwYWdl X2dldF9vd25lcihwZykpICkKPiArICAgIGlmICggcGFnZV9pc19icm9rZW4ocGcpICYmIChvd25l ciA9IHBhZ2VfZ2V0X293bmVyKHBnKSkgKQo+ICAgICAgIHsKPiAgICAgICAgICAgKnN0YXR1cyA9 IFBHX09GRkxJTkVfQUdBSU47Cj4gICAgICAgICAgIGRvbWFpbl9jcmFzaChvd25lcik7Cj4gQEAg LTE2MjAsNyArMTYzNSw3IEBAIGludCBvZmZsaW5lX3BhZ2UobWZuX3QgbWZuLCBpbnQgYnJva2Vu LCB1aW50MzJfdCAqc3RhdHVzKQo+ICAgCj4gICAgICAgb2xkX2luZm8gPSBtYXJrX3BhZ2Vfb2Zm bGluZShwZywgYnJva2VuKTsKPiAgIAo+IC0gICAgaWYgKCBwYWdlX3N0YXRlX2lzKHBnLCBvZmZs aW5lZCkgKQo+ICsgICAgaWYgKCBwYWdlX2lzX29mZmxpbmVkKHBnKSApCj4gICAgICAgewo+ICAg ICAgICAgICByZXNlcnZlX2hlYXBfcGFnZShwZyk7Cj4gICAKPiBAQCAtMTY5OSwxNCArMTcxNCwx NCBAQCB1bnNpZ25lZCBpbnQgb25saW5lX3BhZ2UobWZuX3QgbWZuLCB1aW50MzJfdCAqc3RhdHVz KQo+ICAgICAgIGRvIHsKPiAgICAgICAgICAgcmV0ID0gKnN0YXR1cyA9IDA7Cj4gICAKPiAtICAg ICAgICBpZiAoIHkgJiBQR0NfYnJva2VuICkKPiArICAgICAgICBpZiAoICh5ICYgUEdDX3N0YXRl KSA9PSBQR0Nfc3RhdGVfYnJva2VuIHx8Cj4gKyAgICAgICAgICAgICAoeSAmIFBHQ19zdGF0ZSkg PT0gUEdDX3N0YXRlX2Jyb2tlbl9vZmZsaW5pbmcgKQoKVGhpcyBpcyBhIGJpdCBhIHNoYW1lIHdl IGNhbid0IHVzZSBwYWdlX2lzX2Jyb2tlbi4gV291bGQgaXQgbWFrZSBzZW5zZSAKdG8gaW50cm9k dWNlIGFuIGhlbHBlciB0aGF0IGp1c3QgdGFrZSBhIGNvdW50X2luZm8/Cgo+ICAgICAgICAgICB7 Cj4gICAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOwo+ICAgICAgICAgICAgICAgKnN0YXR1cyA9 IFBHX09OTElORV9GQUlMRUQgfFBHX09OTElORV9CUk9LRU47Cj4gICAgICAgICAgICAgICBicmVh azsKPiAgICAgICAgICAgfQo+IC0KPiAtICAgICAgICBpZiAoICh5ICYgUEdDX3N0YXRlKSA9PSBQ R0Nfc3RhdGVfb2ZmbGluZWQgKQo+ICsgICAgICAgIGVsc2UgaWYgKCAoeSAmIFBHQ19zdGF0ZSkg PT0gUEdDX3N0YXRlX29mZmxpbmVkICkKPiAgICAgICAgICAgewo+ICAgICAgICAgICAgICAgcGFn ZV9saXN0X2RlbChwZywgJnBhZ2Vfb2ZmbGluZWRfbGlzdCk7Cj4gICAgICAgICAgICAgICAqc3Rh dHVzID0gUEdfT05MSU5FX09OTElORUQ7Cj4gQEAgLTE3NDcsMTEgKzE3NjIsMTEgQEAgaW50IHF1 ZXJ5X3BhZ2Vfb2ZmbGluZShtZm5fdCBtZm4sIHVpbnQzMl90ICpzdGF0dXMpCj4gICAKPiAgICAg ICBwZyA9IG1mbl90b19wYWdlKG1mbik7Cj4gICAKPiAtICAgIGlmICggcGFnZV9zdGF0ZV9pcyhw Zywgb2ZmbGluaW5nKSApCj4gKyAgICBpZiAoIHBhZ2VfaXNfb2ZmbGluaW5nKHBnKSApCj4gICAg ICAgICAgICpzdGF0dXMgfD0gUEdfT0ZGTElORV9TVEFUVVNfT0ZGTElORV9QRU5ESU5HOwo+IC0g ICAgaWYgKCBwZy0+Y291bnRfaW5mbyAmIFBHQ19icm9rZW4gKQo+ICsgICAgaWYgKCBwYWdlX2lz X2Jyb2tlbihwZykgKQo+ICAgICAgICAgICAqc3RhdHVzIHw9IFBHX09GRkxJTkVfU1RBVFVTX0JS T0tFTjsKPiAtICAgIGlmICggcGFnZV9zdGF0ZV9pcyhwZywgb2ZmbGluZWQpICkKPiArICAgIGlm ICggcGFnZV9pc19vZmZsaW5lZChwZykgKQo+ICAgICAgICAgICAqc3RhdHVzIHw9IFBHX09GRkxJ TkVfU1RBVFVTX09GRkxJTkVEOwo+ICAgCj4gICAgICAgc3Bpbl91bmxvY2soJmhlYXBfbG9jayk7 Cj4gQEAgLTI0ODMsNyArMjQ5OCw3IEBAIF9faW5pdGNhbGwocGFnZWFsbG9jX2tleWhhbmRsZXJf aW5pdCk7Cj4gICAKPiAgIHZvaWQgc2NydWJfb25lX3BhZ2Uoc3RydWN0IHBhZ2VfaW5mbyAqcGcp Cj4gICB7Cj4gLSAgICBpZiAoIHVubGlrZWx5KHBnLT5jb3VudF9pbmZvICYgUEdDX2Jyb2tlbikg KQo+ICsgICAgaWYgKCB1bmxpa2VseShwYWdlX2lzX2Jyb2tlbihwZykpICkKPiAgICAgICAgICAg cmV0dXJuOwo+ICAgCj4gICAjaWZuZGVmIE5ERUJVRwo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20tYXJtL21tLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL21tLmgKPiBpbmRleCAzMzNlZmQz YTYwLi5jOTQ2NmM4Y2EwIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbW0uaAo+ ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vbW0uaAo+IEBAIC0xMTIsMTMgKzExMiwyNSBAQCBz dHJ1Y3QgcGFnZV9pbmZvCj4gICAvKiBQYWdlIGlzIGJyb2tlbj8gKi8KPiAgICNkZWZpbmUgX1BH Q19icm9rZW4gICAgICAgUEdfc2hpZnQoNykKPiAgICNkZWZpbmUgUEdDX2Jyb2tlbiAgICAgICAg UEdfbWFzaygxLCA3KQoKU2hvdWxkbid0IHRoaXMgYmUgZHJvcHBlZCBub3c/Cgo+IC0gLyogTXV0 dWFsbHktZXhjbHVzaXZlIHBhZ2Ugc3RhdGVzOiB7IGludXNlLCBvZmZsaW5pbmcsIG9mZmxpbmVk LCBmcmVlIH0uICovCj4gLSNkZWZpbmUgUEdDX3N0YXRlICAgICAgICAgUEdfbWFzaygzLCA5KQo+ IC0jZGVmaW5lIFBHQ19zdGF0ZV9pbnVzZSAgIFBHX21hc2soMCwgOSkKPiAtI2RlZmluZSBQR0Nf c3RhdGVfb2ZmbGluaW5nIFBHX21hc2soMSwgOSkKPiAtI2RlZmluZSBQR0Nfc3RhdGVfb2ZmbGlu ZWQgUEdfbWFzaygyLCA5KQo+IC0jZGVmaW5lIFBHQ19zdGF0ZV9mcmVlICAgIFBHX21hc2soMywg OSkKPiAtI2RlZmluZSBwYWdlX3N0YXRlX2lzKHBnLCBzdCkgKCgocGcpLT5jb3VudF9pbmZvJlBH Q19zdGF0ZSkgPT0gUEdDX3N0YXRlXyMjc3QpCj4gKyAvKgo+ICsgICogTXV0dWFsbHktZXhjbHVz aXZlIHBhZ2Ugc3RhdGVzOgo+ICsgICogeyBpbnVzZSwgb2ZmbGluaW5nLCBvZmZsaW5lZCwgZnJl ZSwgYnJva2VuX29mZmxpbmluZywgYnJva2VuIH0KPiArICAqLwo+ICsjZGVmaW5lIFBHQ19zdGF0 ZSAgICAgICAgICAgICAgICAgIFBHX21hc2soNywgOSkKPiArI2RlZmluZSBQR0Nfc3RhdGVfaW51 c2UgICAgICAgICAgICBQR19tYXNrKDAsIDkpCj4gKyNkZWZpbmUgUEdDX3N0YXRlX29mZmxpbmlu ZyAgICAgICAgUEdfbWFzaygxLCA5KQo+ICsjZGVmaW5lIFBHQ19zdGF0ZV9vZmZsaW5lZCAgICAg ICAgIFBHX21hc2soMiwgOSkKPiArI2RlZmluZSBQR0Nfc3RhdGVfZnJlZSAgICAgICAgICAgICBQ R19tYXNrKDMsIDkpCj4gKyNkZWZpbmUgUEdDX3N0YXRlX2Jyb2tlbl9vZmZsaW5pbmcgUEdfbWFz ayg0LCA5KQo+ICsjZGVmaW5lIFBHQ19zdGF0ZV9icm9rZW4gICAgICAgICAgIFBHX21hc2soNSwg OSkKCkkgYWdyZWUgdGhhdCBtYWtpbmcgYWxsIHRoZSB2YWx1ZSBhbGlnbmVkIG1ha2UgaXQgbmlj ZXIgdG8gcmVhZCwgYnV0IAp0aGlzIGlzIGluY3JlYXNpbmcgbnVtYmVyIG9mICJ1bnJlbGF0ZWQi IGNoYW5nZXMgYW5kIG1ha2VzIHRoZSByZXZpZXcgCm1vcmUgZGlmZmljdWx0LgoKSSB3b3VsZCBw cmVmZXIgaWYgd2UgbGVhdmUgdGhlIGluZGVudGF0aW9uIGFsb25lIGZvciB0aGUgY3VycmVudCAK I2RlZmluZS4gQnV0IEkgYW0gbm90IGdvaW5nIHRvIHB1c2ggZm9yIGl0IDopLgoKPiArCj4gKyNk ZWZpbmUgcGFnZV9zdGF0ZV9pcyhwZywgc3QpICAgICAgKCgocGcpLT5jb3VudF9pbmZvJlBHQ19z dGF0ZSkgPT0gUEdDX3N0YXRlXyMjc3QpCj4gKyNkZWZpbmUgcGFnZV9pc19icm9rZW4ocGcpICAg ICAgICAgKHBhZ2Vfc3RhdGVfaXMoKHBnKSwgYnJva2VuX29mZmxpbmluZykgfHwgIFwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZV9zdGF0ZV9pcygocGcpLCBicm9r ZW4pKQo+ICsjZGVmaW5lIHBhZ2VfaXNfb2ZmbGluZWQocGcpICAgICAgIChwYWdlX3N0YXRlX2lz KChwZyksIGJyb2tlbikgfHwgICAgXAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwYWdlX3N0YXRlX2lzKChwZyksIG9mZmxpbmVkKSkKPiArI2RlZmluZSBwYWdlX2lzX29m ZmxpbmluZyhwZykgICAgICAocGFnZV9zdGF0ZV9pcygocGcpLCBicm9rZW5fb2ZmbGluaW5nKSB8 fCBcCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Vfc3RhdGVfaXMo KHBnKSwgb2ZmbGluaW5nKSkKPiAgIAo+ICAgLyogQ291bnQgb2YgcmVmZXJlbmNlcyB0byB0aGlz IGZyYW1lLiAqLwo+ICAgI2RlZmluZSBQR0NfY291bnRfd2lkdGggICBQR19zaGlmdCg5KQo+IGRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmggYi94ZW4vaW5jbHVkZS9hc20teDg2 L21tLmgKPiBpbmRleCAyY2E4ODgyYWQwLi4zZWRhZGY3YTdjIDEwMDY0NAo+IC0tLSBhL3hlbi9p bmNsdWRlL2FzbS14ODYvbW0uaAo+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaAo+IEBA IC02NywxOCArNjcsMjcgQEAKPiAgICAvKiAzLWJpdCBQQVQvUENEL1BXVCBjYWNoZS1hdHRyaWJ1 dGUgaGludC4gKi8KPiAgICNkZWZpbmUgUEdDX2NhY2hlYXR0cl9iYXNlIFBHX3NoaWZ0KDYpCj4g ICAjZGVmaW5lIFBHQ19jYWNoZWF0dHJfbWFzayBQR19tYXNrKDcsIDYpCj4gLSAvKiBQYWdlIGlz IGJyb2tlbj8gKi8KPiAtI2RlZmluZSBfUEdDX2Jyb2tlbiAgICAgICBQR19zaGlmdCg3KQo+IC0j ZGVmaW5lIFBHQ19icm9rZW4gICAgICAgIFBHX21hc2soMSwgNykKPiAtIC8qIE11dHVhbGx5LWV4 Y2x1c2l2ZSBwYWdlIHN0YXRlczogeyBpbnVzZSwgb2ZmbGluaW5nLCBvZmZsaW5lZCwgZnJlZSB9 LiAqLwo+IC0jZGVmaW5lIFBHQ19zdGF0ZSAgICAgICAgIFBHX21hc2soMywgOSkKPiAtI2RlZmlu ZSBQR0Nfc3RhdGVfaW51c2UgICBQR19tYXNrKDAsIDkpCj4gLSNkZWZpbmUgUEdDX3N0YXRlX29m ZmxpbmluZyBQR19tYXNrKDEsIDkpCj4gLSNkZWZpbmUgUEdDX3N0YXRlX29mZmxpbmVkIFBHX21h c2soMiwgOSkKPiAtI2RlZmluZSBQR0Nfc3RhdGVfZnJlZSAgICBQR19tYXNrKDMsIDkpCj4gLSNk ZWZpbmUgcGFnZV9zdGF0ZV9pcyhwZywgc3QpICgoKHBnKS0+Y291bnRfaW5mbyZQR0Nfc3RhdGUp ID09IFBHQ19zdGF0ZV8jI3N0KQo+IC0KPiAtIC8qIENvdW50IG9mIHJlZmVyZW5jZXMgdG8gdGhp cyBmcmFtZS4gKi8KPiArIC8qCj4gKyAgKiBNdXR1YWxseS1leGNsdXNpdmUgcGFnZSBzdGF0ZXM6 Cj4gKyAgKiB7IGludXNlLCBvZmZsaW5pbmcsIG9mZmxpbmVkLCBmcmVlLCBicm9rZW5fb2ZmbGlu aW5nLCBicm9rZW4gfQo+ICsgICovCj4gKyNkZWZpbmUgUEdDX3N0YXRlICAgICAgICAgICAgICAg ICAgUEdfbWFzayg3LCA5KQo+ICsjZGVmaW5lIFBHQ19zdGF0ZV9pbnVzZSAgICAgICAgICAgIFBH X21hc2soMCwgOSkKPiArI2RlZmluZSBQR0Nfc3RhdGVfb2ZmbGluaW5nICAgICAgICBQR19tYXNr KDEsIDkpCj4gKyNkZWZpbmUgUEdDX3N0YXRlX29mZmxpbmVkICAgICAgICAgUEdfbWFzaygyLCA5 KQo+ICsjZGVmaW5lIFBHQ19zdGF0ZV9mcmVlICAgICAgICAgICAgIFBHX21hc2soMywgOSkKPiAr I2RlZmluZSBQR0Nfc3RhdGVfYnJva2VuX29mZmxpbmluZyBQR19tYXNrKDQsIDkpCj4gKyNkZWZp bmUgUEdDX3N0YXRlX2Jyb2tlbiAgICAgICAgICAgUEdfbWFzayg1LCA5KQo+ICsKPiArI2RlZmlu ZSBwYWdlX3N0YXRlX2lzKHBnLCBzdCkgICAgICAoKChwZyktPmNvdW50X2luZm8mUEdDX3N0YXRl KSA9PSBQR0Nfc3RhdGVfIyNzdCkKPiArI2RlZmluZSBwYWdlX2lzX2Jyb2tlbihwZykgICAgICAg ICAocGFnZV9zdGF0ZV9pcygocGcpLCBicm9rZW5fb2ZmbGluaW5nKSB8fCAgXAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlX3N0YXRlX2lzKChwZyksIGJyb2tlbikp Cj4gKyNkZWZpbmUgcGFnZV9pc19vZmZsaW5lZChwZykgICAgICAgKHBhZ2Vfc3RhdGVfaXMoKHBn KSwgYnJva2VuKSB8fCAgICBcCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBhZ2Vfc3RhdGVfaXMoKHBnKSwgb2ZmbGluZWQpKQo+ICsjZGVmaW5lIHBhZ2VfaXNfb2ZmbGlu aW5nKHBnKSAgICAgIChwYWdlX3N0YXRlX2lzKChwZyksIGJyb2tlbl9vZmZsaW5pbmcpIHx8IFwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZV9zdGF0ZV9pcygocGcp LCBvZmZsaW5pbmcpKQo+ICsKPiArLyogQ291bnQgb2YgcmVmZXJlbmNlcyB0byB0aGlzIGZyYW1l LiAqLwo+ICAgI2RlZmluZSBQR0NfY291bnRfd2lkdGggICBQR19zaGlmdCg5KQo+ICAgI2RlZmlu ZSBQR0NfY291bnRfbWFzayAgICAoKDFVTDw8UEdDX2NvdW50X3dpZHRoKS0xKQo+ICAgCj4gCgpD aGVlcnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu Zm8veGVuLWRldmVs