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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 1E90BC433EF for ; Fri, 26 Nov 2021 22:31:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WYy7zQqyUYJIuHTJjmh2ZvyXJCK+LAM6ngdk8PZPKGk=; b=fMsvE2xKN9cHat pAC8wUF+kCpONjlhZO46HP8tsIrxhakb/oiyhpFfVZHFj8zYj2rutctRSQFg+8NpRG2BooqIlD3I0 ePKXV+jKaUSlz7Y1FRToB9JspZfFtv+E+fxLxnCWXTMgN/kzS8t3/fXQuQYSjSKr7POKHUwWjnqlS 3vzS0y5GSktsHwTl/bX/CfkoaWUHmaITGLtvgaCdpAGckjJULJBtTNIcZoV4ZUw/seiJQu1eXtD84 RiKzIjAVywYGuveOXUbWbFDyyPLs08dPHE3Rfk8q0NsrzlBf/kPcOEfaqBt/DdJRAWPXgQEFs9B7a fqv5semRw+H3x2oyxhnA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mqjjJ-00Bu47-Kk; Fri, 26 Nov 2021 22:30:05 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mqjjE-00Bu39-V3 for linux-arm-kernel@lists.infradead.org; Fri, 26 Nov 2021 22:30:03 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1637965795; 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=60GQppTRbM0Y6JEekxv0GQtYQ7RJBSFOw1vmFV9kc08=; b=SkniaxV2BNqN0LLJuJolVYRYt9eAqdSzEbuKpCpVOPNAUdEgjm1YeyZnTdQYdoUjfef+mk Zem+qVFLQG2l+27gj5cyfB8WXrUXchXhAle4dNtofjsa7fpY8JOw76mG3/nfi73AGgaQ8h wy6ZlIH0XDV+R5aa+Fv81g5lqm2bYF4= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-467-G2VY6lUqOVax6YCkCg6tZA-1; Fri, 26 Nov 2021 17:29:52 -0500 X-MC-Unique: G2VY6lUqOVax6YCkCg6tZA-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 3BC921006AA0; Fri, 26 Nov 2021 22:29:50 +0000 (UTC) Received: from max.com (unknown [10.40.193.44]) by smtp.corp.redhat.com (Postfix) with ESMTP id AB5425C1CF; Fri, 26 Nov 2021 22:29:46 +0000 (UTC) From: Andreas Gruenbacher To: Catalin Marinas Cc: Andreas Gruenbacher , Matthew Wilcox , Linus Torvalds , Josef Bacik , David Sterba , Al Viro , Andrew Morton , Will Deacon , linux-fsdevel , LKML , Linux ARM , linux-btrfs Subject: Re: [PATCH 3/3] btrfs: Avoid live-lock in search_ioctl() on hardware with sub-page faults Date: Fri, 26 Nov 2021 23:29:45 +0100 Message-Id: <20211126222945.549971-1-agruenba@redhat.com> In-Reply-To: References: <20211124192024.2408218-1-catalin.marinas@arm.com> <20211124192024.2408218-4-catalin.marinas@arm.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211126_143001_308848_EC09DE05 X-CRM114-Status: GOOD ( 48.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBOb3YgMjUsIDIwMjEgYXQgMTE6NDIgUE0gQ2F0YWxpbiBNYXJpbmFzIDxjYXRhbGlu Lm1hcmluYXNAYXJtLmNvbT4gd3JvdGU6Cj4gT24gVGh1LCBOb3YgMjUsIDIwMjEgYXQgMTE6MjU6 NTRQTSArMDEwMCwgQW5kcmVhcyBHcnVlbmJhY2hlciB3cm90ZToKPiA+IE9uIFdlZCwgTm92IDI0 LCAyMDIxIGF0IDk6MzcgUE0gQ2F0YWxpbiBNYXJpbmFzIDxjYXRhbGluLm1hcmluYXNAYXJtLmNv bT4gd3JvdGU6Cj4gPiA+IE9uIFdlZCwgTm92IDI0LCAyMDIxIGF0IDA4OjAzOjU4UE0gKzAwMDAs IE1hdHRoZXcgV2lsY294IHdyb3RlOgo+ID4gPiA+IE9uIFdlZCwgTm92IDI0LCAyMDIxIGF0IDA3 OjIwOjI0UE0gKzAwMDAsIENhdGFsaW4gTWFyaW5hcyB3cm90ZToKPiA+ID4gPiA+ICsrKyBiL2Zz L2J0cmZzL2lvY3RsLmMKPiA+ID4gPiA+IEBAIC0yMjIzLDcgKzIyMjMsOCBAQCBzdGF0aWMgbm9p bmxpbmUgaW50IHNlYXJjaF9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLAo+ID4gPiA+ID4KPiA+ ID4gPiA+IMKgIMKgIHdoaWxlICgxKSB7Cj4gPiA+ID4gPiDCoCDCoCDCoCDCoCDCoCDCoCByZXQg PSAtRUZBVUxUOwo+ID4gPiA+ID4gLSDCoCDCoCDCoCDCoCDCoCBpZiAoZmF1bHRfaW5fd3JpdGVh YmxlKHVidWYgKyBza19vZmZzZXQsICpidWZfc2l6ZSAtIHNrX29mZnNldCkpCj4gPiA+ID4gPiAr IMKgIMKgIMKgIMKgIMKgIGlmIChmYXVsdF9pbl9leGFjdF93cml0ZWFibGUodWJ1ZiArIHNrX29m ZnNldCwKPiA+ID4gPiA+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAqYnVmX3NpemUgLSBza19vZmZzZXQpKQo+ID4gPiA+ID4gwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgYnJlYWs7Cj4gPiA+ID4gPgo+ID4gPiA+ID4gwqAg wqAgwqAgwqAgwqAgwqAgcmV0ID0gYnRyZnNfc2VhcmNoX2ZvcndhcmQocm9vdCwgJmtleSwgcGF0 aCwgc2stPm1pbl90cmFuc2lkKTsKPiA+ID4gPgo+ID4gPiA+IENvdWxkbid0IHdlIGF2b2lkIGFs bCBvZiB0aGlzIG5hc3RpbmVzcyBieSBkb2luZyAuLi4KPiA+ID4KPiA+ID4gSSBoYWQgYSBzaW1p bGFyIGF0dGVtcHQgaW5pdGlhbGx5IGJ1dCBJIGNvbmNsdWRlZCB0aGF0IGl0IGRvZXNuJ3Qgd29y azoKPiA+ID4KPiA+ID4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci9ZUzQwcXFtWEw3Q01GTEdx QGFybS5jb20KPiA+ID4KPiA+ID4gPiBAQCAtMjEyMSwxMCArMjEyMSw5IEBAIHN0YXRpYyBub2lu bGluZSBpbnQgY29weV90b19zayhzdHJ1Y3QgYnRyZnNfcGF0aCAqcGF0aCwKPiA+ID4gPiDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCogcHJvYmxlbS4gT3RoZXJ3aXNlIHdlJ2xsIGZhdWx0IGFu ZCB0aGVuIGNvcHkgdGhlIGJ1ZmZlciBpbgo+ID4gPiA+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgKiBwcm9wZXJseSB0aGlzIG5leHQgdGltZSB0aHJvdWdoCj4gPiA+ID4gwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAqLwo+ID4gPiA+IC0gwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKGNvcHlf dG9fdXNlcl9ub2ZhdWx0KHVidWYgKyAqc2tfb2Zmc2V0LCAmc2gsIHNpemVvZihzaCkpKSB7Cj4g PiA+ID4gLSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCByZXQgPSAwOwo+ID4gPiA+ ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgcmV0ID0gX19jb3B5X3RvX3VzZXJfbm9mYXVsdCh1YnVm ICsgKnNrX29mZnNldCwgJnNoLCBzaXplb2Yoc2gpKTsKPiA+ID4gPiArIMKgIMKgIMKgIMKgIMKg IMKgIMKgIGlmIChyZXQpCj4gPiA+Cj4gPiA+IFRoZXJlIGlzIG5vIHJlcXVpcmVtZW50IGZvciB0 aGUgYXJjaCBpbXBsZW1lbnRhdGlvbiB0byBiZSBleGFjdCBhbmQgY29weQo+ID4gPiB0aGUgbWF4 aW11bSBudW1iZXIgb2YgYnl0ZXMgcG9zc2libGUuIEl0IGNhbiBmYWlsIGVhcmx5IHdoaWxlIHRo ZXJlIGFyZQo+ID4gPiBzdGlsbCBzb21lIGJ5dGVzIGxlZnQgdGhhdCB3b3VsZCBub3QgZmF1bHQu IFRoZSBvbmx5IHJlcXVpcmVtZW50IGlzIHRoYXQKPiA+ID4gaWYgaXQgaXMgcmVzdGFydGVkIGZy b20gd2hlcmUgaXQgZmF1bHRlZCwgaXQgbWFrZXMgc29tZSBwcm9ncmVzcyAob24KPiA+ID4gYXJt NjQgdGhlcmUgaXMgb25lIGV4dHJhIGJ5dGUpLgo+ID4gPgo+ID4gPiA+IMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIGdvdG8gb3V0Owo+ID4gPiA+IC0gwqAgwqAgwqAgwqAgwqAg wqAgwqAgfQo+ID4gPiA+Cj4gPiA+ID4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgKnNrX29mZnNl dCArPSBzaXplb2Yoc2gpOwo+ID4gPiA+IEBAIC0yMTk2LDYgKzIxOTUsNyBAQCBzdGF0aWMgbm9p bmxpbmUgaW50IHNlYXJjaF9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLAo+ID4gPiA+IMKgIMKg IMKgIMKgIGludCByZXQ7Cj4gPiA+ID4gwqAgwqAgwqAgwqAgaW50IG51bV9mb3VuZCA9IDA7Cj4g PiA+ID4gwqAgwqAgwqAgwqAgdW5zaWduZWQgbG9uZyBza19vZmZzZXQgPSAwOwo+ID4gPiA+ICsg wqAgwqAgwqAgdW5zaWduZWQgbG9uZyBuZXh0X29mZnNldCA9IDA7Cj4gPiA+ID4KPiA+ID4gPiDC oCDCoCDCoCDCoCBpZiAoKmJ1Zl9zaXplIDwgc2l6ZW9mKHN0cnVjdCBidHJmc19pb2N0bF9zZWFy Y2hfaGVhZGVyKSkgewo+ID4gPiA+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgICpidWZfc2l6ZSA9 IHNpemVvZihzdHJ1Y3QgYnRyZnNfaW9jdGxfc2VhcmNoX2hlYWRlcik7Cj4gPiA+ID4gQEAgLTIy MjMsNyArMjIyMyw4IEBAIHN0YXRpYyBub2lubGluZSBpbnQgc2VhcmNoX2lvY3RsKHN0cnVjdCBp bm9kZSAqaW5vZGUsCj4gPiA+ID4KPiA+ID4gPiDCoCDCoCDCoCDCoCB3aGlsZSAoMSkgewo+ID4g PiA+IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJldCA9IC1FRkFVTFQ7Cj4gPiA+ID4gLSDCoCDC oCDCoCDCoCDCoCDCoCDCoCBpZiAoZmF1bHRfaW5fd3JpdGVhYmxlKHVidWYgKyBza19vZmZzZXQs ICpidWZfc2l6ZSAtIHNrX29mZnNldCkpCj4gPiA+ID4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBp ZiAoZmF1bHRfaW5fd3JpdGVhYmxlKHVidWYgKyBza19vZmZzZXQgKyBuZXh0X29mZnNldCwKPiA+ ID4gPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgICpidWZfc2l6ZSAtIHNrX29mZnNldCAtIG5leHRfb2Zmc2V0KSkKPiA+ID4gPiDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBicmVhazsKPiA+ID4gPgo+ID4gPiA+IMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJldCA9IGJ0cmZzX3NlYXJjaF9mb3J3YXJkKHJvb3QsICZr ZXksIHBhdGgsIHNrLT5taW5fdHJhbnNpZCk7Cj4gPiA+ID4gQEAgLTIyMzUsMTEgKzIyMzYsMTIg QEAgc3RhdGljIG5vaW5saW5lIGludCBzZWFyY2hfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwK PiA+ID4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCByZXQgPSBjb3B5X3RvX3NrKHBhdGgsICZr ZXksIHNrLCBidWZfc2l6ZSwgdWJ1ZiwKPiA+ID4gPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCZza19vZmZzZXQsICZudW1fZm91bmQpOwo+ID4gPiA+ IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGJ0cmZzX3JlbGVhc2VfcGF0aChwYXRoKTsKPiA+ID4g PiAtIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmIChyZXQpCj4gPiA+ID4gKyDCoCDCoCDCoCDCoCDC oCDCoCDCoCBpZiAocmV0ID4gMCkKPiA+ID4gPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIG5leHRfb2Zmc2V0ID0gcmV0Owo+ID4gPgo+ID4gPiBTbyBhZnRlciB0aGlzIHBvaW50 LCB1YnVmK3NrX29mZnNldCtuZXh0X29mZnNldCBpcyB3cml0ZWFibGUgYnkKPiA+ID4gZmF1bHRf aW5fd3JpdGFibGUoKS4gSWYgY29weV90b191c2VyKCkgd2FzIGF0dGVtcHRlZCBvbgo+ID4gPiB1 YnVmK3NrX29mZnNldCtuZXh0X29mZnNldCwgYWxsIHdvdWxkIGJlIGZpbmUsIGJ1dCBjb3B5X3Rv X3NrKCkgcmVzdGFydHMKPiA+ID4gdGhlIGNvcHkgZnJvbSB1YnVmK3NrX29mZnNldCwgc28gaXQg cmV0dXJucyBleGFjdGluZyB0aGUgc2FtZSByZXQgYXMgaW4KPiA+ID4gdGhlIHByZXZpb3VzIGl0 ZXJhdGlvbi4KPiA+Cj4gPiBTbyB0aGlzIG1lYW5zIHRoYXQgYWZ0ZXIgYSBzaG9ydCBjb3B5X3Rv X3VzZXJfbm9mYXVsdCgpLCBjb3B5X3RvX3NrKCkKPiA+IG5lZWRzIHRvIGZpZ3VyZSBvdXQgdGhl IGFjdHVhbCBwb2ludCBvZiBmYWlsdXJlLiBXZSdsbCBoYXZlIHRoZSBzYW1lCj4gPiBwcm9ibGVt IGVsc2V3aGVyZSwgc28gdGhpcyBzaG91bGQgcHJvYmFibHkgYmUgYSBnZW5lcmljIGhlbHBlci4g VGhlCj4gPiBhbGlnbm1lbnQgaGFja3MgYXJlIGFyY2ggc3BlY2lmaWMsIHNvIG1heWJlIHdlIGNh biBoYXZlIGEgZ2VuZXJpYwo+ID4gdmVyc2lvbiB0aGF0IGFzc3VtZXMgbm8gYWxpZ25tZW50IHJl c3RyaWN0aW9ucywgd2l0aCBhcmNoLXNwZWNpZmljCj4gPiBvdmVycmlkZXMuCj4gPgo+ID4gT25j ZSB3ZSBrbm93IHRoZSBleGFjdCBwb2ludCBvZiBmYWlsdXJlLCBhCj4gPiBmYXVsdF9pbl93cml0 ZWFibGUocG9pbnRfb2ZfZmFpbHVyZSwgMSkgaW4gc2VhcmNoX2lvY3RsKCkgd2lsbCB0ZWxsIGlm Cj4gPiB0aGUgZmFpbHVyZSBpcyBwZXJ0aW5lbnQuIE9uY2Ugd2Uga25vdyB0aGF0IHRoZSBmYWls dXJlIGlzbid0Cj4gPiBwZXJ0aW5lbnQsIHdlJ3JlIHNhZmUgdG8gcmV0cnkgdGhlIG9yaWdpbmFs IGZhdWx0X2luX3dyaXRlYWJsZSgpLgo+Cj4gVGhlICJleGFjdCBwb2ludCBvZiBmYWlsdXJlIiBp cyBwcm9ibGVtYXRpYyBzaW5jZSBjb3B5X3RvX3VzZXIoKSBtYXkKPiBmYWlsIGEgZmV3IGJ5dGVz IGJlZm9yZSB0aGUgYWN0dWFsIGZhdWx0IHBvaW50IChlLmcuIGJ5IGRvaW5nIGFuCj4gdW5hbGln bmVkIHN0b3JlKS4KClRoYXQncyB3aHkgYWZ0ZXIgdGhlIGluaXRpYWwgZmFpbHVyZSwgd2UgbXVz dCBrZWVwIHRyeWluZyB1bnRpbCB3ZSBoaXQKdGhlIGFjdHVhbCBwb2ludCBvZiBmYWlsdXJlIGlu ZGVwZW5kZW50IG9mIGFsaWdubWVudC4gIElmIHRoZXJlJ3MgZXZlbiBhCnNpbmdsZSB3cml0YWJs ZSBieXRlIGxlZnQsIGZhdWx0X2luX3dyaXRhYmxlKCkgd29uJ3QgZmFpbCBhbmQgd2UnbGwgYmUK c3R1Y2sgaW4gYSBsb29wLgoKT24gdGhlIG90aGVyIGhhbmQsIG9uY2Ugd2UndmUgcmVhY2hlZCB0 aGUgYWN0dWFsIHBvaW50IG9mIGZhaWx1cmUsIHRoZQpleGlzdGluZyB2ZXJzaW9uIG9mIGZhdWx0 X2luX3dyaXRlYWJsZSgpIHdpbGwgd29yayBmb3Igc3ViLXBhZ2UgZmF1bHRzCmFzIHdlbGwuCgo+ IEFzIHBlciBMaW51cycgcmVwbHksIHdlIGNhbiB3b3JrIGFyb3VuZCB0aGlzIGJ5IGRvaW5nCj4g YSBzdWItcGFnZSBmYXVsdF9pbl93cml0YWJsZShwb2ludF9vZl9mYWlsdXJlLCBhbGlnbikgd2hl cmUgJ2FsaWduJwo+IHNob3VsZCBjb3ZlciB0aGUgY29weV90b191c2VyKCkgaW1wcmVjaXNlbmVz cy4KPgo+IChvZiBjb3Vyc2UsIGZhdWx0X2luX3dyaXRhYmxlKCkgdGFrZXMgdGhlIGZ1bGwgc2l6 ZSBhcmd1bWVudCBidXQgYmVoaW5kCj4gdGhlIHNjZW5lIGl0IHByb2JlcyB0aGUgJ2FsaWduJyBw cmVmaXggYXQgc3ViLXBhZ2UgZmF1bHQgZ3JhbnVsYXJpdHkpCgpUaGF0IGRvZXNuJ3QgbWFrZSBz ZW5zZTsgd2UgZG9uJ3Qgd2FudCBmYXVsdF9pbl93cml0YWJsZSgpIHRvIGZhaWwgb3IKc3VjY2Vl ZCBkZXBlbmRpbmcgb24gdGhlIGFsaWdubWVudCBvZiB0aGUgYWRkcmVzcyByYW5nZSBwYXNzZWQg dG8gaXQuCgpIYXZlIGEgbG9vayBhdCB0aGUgYmVsb3cgY29kZSB0byBzZWUgd2hhdCBJIG1lYW4u ICBGdW5jdGlvbgpjb3B5X3RvX3VzZXJfbm9mYXVsdF91bmFsaWduZWQoKSBzaG91bGQgYmUgZnVy dGhlciBvcHRpbWl6ZWQsIG1heWJlIGFzCm1tL21hY2Nlc3MuYzpjb3B5X2Zyb21fa2VybmVsX25v ZmF1bHQoKSBhbmQvb3IgcGVyIGFyY2hpdGVjdHVyZQpkZXBlbmRpbmcgb24gdGhlIGFjdHVhbCBh bGlnbm1lbnQgcnVsZXM7IEknbSBub3Qgc3VyZS4KClRoYW5rcywKQW5kcmVhcwoKZGlmZiAtLWdp dCBhL2ZzL2J0cmZzL2V4dGVudF9pby5jIGIvZnMvYnRyZnMvZXh0ZW50X2lvLmMKaW5kZXggNGUw M2E2ZDNhYTMyLi4wNjc0MDhmZDI2ZjkgMTAwNjQ0Ci0tLSBhL2ZzL2J0cmZzL2V4dGVudF9pby5j CisrKyBiL2ZzL2J0cmZzL2V4dGVudF9pby5jCkBAIC02NzY0LDcgKzY3NjQsOCBAQCB2b2lkIHJl YWRfZXh0ZW50X2J1ZmZlcihjb25zdCBzdHJ1Y3QgZXh0ZW50X2J1ZmZlciAqZWIsIHZvaWQgKmRz dHYsCiAKIGludCByZWFkX2V4dGVudF9idWZmZXJfdG9fdXNlcl9ub2ZhdWx0KGNvbnN0IHN0cnVj dCBleHRlbnRfYnVmZmVyICplYiwKIAkJCQkgICAgICAgdm9pZCBfX3VzZXIgKmRzdHYsCi0JCQkJ ICAgICAgIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgbGVuKQorCQkJCSAgICAg ICB1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGxlbiwKKwkJCQkgICAgICAgdm9p ZCBfX3VzZXIgKipjb3B5X2ZhaWx1cmUpCiB7CiAJc2l6ZV90IGN1cjsKIAlzaXplX3Qgb2Zmc2V0 OwpAQCAtNjc3Myw2ICs2Nzc0LDcgQEAgaW50IHJlYWRfZXh0ZW50X2J1ZmZlcl90b191c2VyX25v ZmF1bHQoY29uc3Qgc3RydWN0IGV4dGVudF9idWZmZXIgKmViLAogCWNoYXIgX191c2VyICpkc3Qg PSAoY2hhciBfX3VzZXIgKilkc3R2OwogCXVuc2lnbmVkIGxvbmcgaSA9IGdldF9lYl9wYWdlX2lu ZGV4KHN0YXJ0KTsKIAlpbnQgcmV0ID0gMDsKKwlzaXplX3QgcmVzdDsKIAogCVdBUk5fT04oc3Rh cnQgPiBlYi0+bGVuKTsKIAlXQVJOX09OKHN0YXJ0ICsgbGVuID4gZWItPnN0YXJ0ICsgZWItPmxl bik7CkBAIC02Nzg0LDcgKzY3ODYsOSBAQCBpbnQgcmVhZF9leHRlbnRfYnVmZmVyX3RvX3VzZXJf bm9mYXVsdChjb25zdCBzdHJ1Y3QgZXh0ZW50X2J1ZmZlciAqZWIsCiAKIAkJY3VyID0gbWluKGxl biwgKFBBR0VfU0laRSAtIG9mZnNldCkpOwogCQlrYWRkciA9IHBhZ2VfYWRkcmVzcyhwYWdlKTsK LQkJaWYgKGNvcHlfdG9fdXNlcl9ub2ZhdWx0KGRzdCwga2FkZHIgKyBvZmZzZXQsIGN1cikpIHsK KwkJcmVzdCA9IGNvcHlfdG9fdXNlcl9ub2ZhdWx0X3VuYWxpZ25lZChkc3QsIGthZGRyICsgb2Zm c2V0LCBjdXIpOworCQlpZiAocmVzdCkgeworCQkJKmNvcHlfZmFpbHVyZSA9IGRzdCArIGN1ciAt IHJlc3Q7CiAJCQlyZXQgPSAtRUZBVUxUOwogCQkJYnJlYWs7CiAJCX0KZGlmZiAtLWdpdCBhL2Zz L2J0cmZzL2V4dGVudF9pby5oIGIvZnMvYnRyZnMvZXh0ZW50X2lvLmgKaW5kZXggMDM5OWNmOGUz YzMyLi44MzNmZjU5N2EyN2YgMTAwNjQ0Ci0tLSBhL2ZzL2J0cmZzL2V4dGVudF9pby5oCisrKyBi L2ZzL2J0cmZzL2V4dGVudF9pby5oCkBAIC0yMzgsOSArMjM4LDExIEBAIGludCBtZW1jbXBfZXh0 ZW50X2J1ZmZlcihjb25zdCBzdHJ1Y3QgZXh0ZW50X2J1ZmZlciAqZWIsIGNvbnN0IHZvaWQgKnB0 cnYsCiB2b2lkIHJlYWRfZXh0ZW50X2J1ZmZlcihjb25zdCBzdHJ1Y3QgZXh0ZW50X2J1ZmZlciAq ZWIsIHZvaWQgKmRzdCwKIAkJCXVuc2lnbmVkIGxvbmcgc3RhcnQsCiAJCQl1bnNpZ25lZCBsb25n IGxlbik7CitzaXplX3QgY29weV90b191c2VyX25vZmF1bHRfdW5hbGlnbmVkKHZvaWQgX191c2Vy ICp0bywgdm9pZCAqZnJvbSwgc2l6ZV90IHNpemUpOwogaW50IHJlYWRfZXh0ZW50X2J1ZmZlcl90 b191c2VyX25vZmF1bHQoY29uc3Qgc3RydWN0IGV4dGVudF9idWZmZXIgKmViLAogCQkJCSAgICAg ICB2b2lkIF9fdXNlciAqZHN0LCB1bnNpZ25lZCBsb25nIHN0YXJ0LAotCQkJCSAgICAgICB1bnNp Z25lZCBsb25nIGxlbik7CisJCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgbGVuLAorCQkJCSAgICAg ICB2b2lkIF9fdXNlciAqKmNvcHlfZmFpbHVyZSk7CiB2b2lkIHdyaXRlX2V4dGVudF9idWZmZXJf ZnNpZChjb25zdCBzdHJ1Y3QgZXh0ZW50X2J1ZmZlciAqZWIsIGNvbnN0IHZvaWQgKnNyYyk7CiB2 b2lkIHdyaXRlX2V4dGVudF9idWZmZXJfY2h1bmtfdHJlZV91dWlkKGNvbnN0IHN0cnVjdCBleHRl bnRfYnVmZmVyICplYiwKIAkJY29uc3Qgdm9pZCAqc3JjKTsKZGlmZiAtLWdpdCBhL2ZzL2J0cmZz L2lvY3RsLmMgYi9mcy9idHJmcy9pb2N0bC5jCmluZGV4IGZiOGNjOTY0MmFjNC4uNjQ2ZjljMDI1 MWQ5IDEwMDY0NAotLS0gYS9mcy9idHJmcy9pb2N0bC5jCisrKyBiL2ZzL2J0cmZzL2lvY3RsLmMK QEAgLTIwNTEsMTMgKzIwNTEsMzAgQEAgc3RhdGljIG5vaW5saW5lIGludCBrZXlfaW5fc2soc3Ry dWN0IGJ0cmZzX2tleSAqa2V5LAogCXJldHVybiAxOwogfQogCitzaXplX3QgY29weV90b191c2Vy X25vZmF1bHRfdW5hbGlnbmVkKHZvaWQgX191c2VyICp0bywgdm9pZCAqZnJvbSwgc2l6ZV90IHNp emUpCit7CisJc2l6ZV90IHJlc3QgPSBjb3B5X3RvX3VzZXJfbm9mYXVsdCh0bywgZnJvbSwgc2l6 ZSk7CisKKwlpZiAocmVzdCkgeworCQlzaXplX3QgbjsKKworCQlmb3IgKG4gPSBzaXplIC0gcmVz dDsgbiA8IHNpemU7IG4rKykgeworCQkJaWYgKGNvcHlfdG9fdXNlcl9ub2ZhdWx0KHRvICsgbiwg ZnJvbSArIG4sIDEpKQorCQkJCWJyZWFrOworCQl9CisJCXJlc3QgPSBzaXplIC0gbjsKKwl9CisJ cmV0dXJuIHJlc3Q7Cit9CisKIHN0YXRpYyBub2lubGluZSBpbnQgY29weV90b19zayhzdHJ1Y3Qg YnRyZnNfcGF0aCAqcGF0aCwKIAkJCSAgICAgICBzdHJ1Y3QgYnRyZnNfa2V5ICprZXksCiAJCQkg ICAgICAgc3RydWN0IGJ0cmZzX2lvY3RsX3NlYXJjaF9rZXkgKnNrLAogCQkJICAgICAgIHNpemVf dCAqYnVmX3NpemUsCiAJCQkgICAgICAgY2hhciBfX3VzZXIgKnVidWYsCiAJCQkgICAgICAgdW5z aWduZWQgbG9uZyAqc2tfb2Zmc2V0LAotCQkJICAgICAgIGludCAqbnVtX2ZvdW5kKQorCQkJICAg ICAgIGludCAqbnVtX2ZvdW5kLAorCQkJICAgICAgIHZvaWQgX191c2VyICoqY29weV9mYWlsdXJl KQogewogCXU2NCBmb3VuZF90cmFuc2lkOwogCXN0cnVjdCBleHRlbnRfYnVmZmVyICpsZWFmOwpA QCAtMjA2OSw2ICsyMDg2LDcgQEAgc3RhdGljIG5vaW5saW5lIGludCBjb3B5X3RvX3NrKHN0cnVj dCBidHJmc19wYXRoICpwYXRoLAogCWludCBpOwogCWludCBzbG90OwogCWludCByZXQgPSAwOwor CXNpemVfdCByZXN0OwogCiAJbGVhZiA9IHBhdGgtPm5vZGVzWzBdOwogCXNsb3QgPSBwYXRoLT5z bG90c1swXTsKQEAgLTIxMjEsNyArMjEzOSw5IEBAIHN0YXRpYyBub2lubGluZSBpbnQgY29weV90 b19zayhzdHJ1Y3QgYnRyZnNfcGF0aCAqcGF0aCwKIAkJICogcHJvYmxlbS4gT3RoZXJ3aXNlIHdl J2xsIGZhdWx0IGFuZCB0aGVuIGNvcHkgdGhlIGJ1ZmZlciBpbgogCQkgKiBwcm9wZXJseSB0aGlz IG5leHQgdGltZSB0aHJvdWdoCiAJCSAqLwotCQlpZiAoY29weV90b191c2VyX25vZmF1bHQodWJ1 ZiArICpza19vZmZzZXQsICZzaCwgc2l6ZW9mKHNoKSkpIHsKKwkJcmVzdCA9IGNvcHlfdG9fdXNl cl9ub2ZhdWx0X3VuYWxpZ25lZCh1YnVmICsgKnNrX29mZnNldCwgJnNoLCBzaXplb2Yoc2gpKTsK KwkJaWYgKHJlc3QpIHsKKwkJCSpjb3B5X2ZhaWx1cmUgPSB1YnVmICsgKnNrX29mZnNldCArIHNp emVvZihzaCkgLSByZXN0OwogCQkJcmV0ID0gMDsKIAkJCWdvdG8gb3V0OwogCQl9CkBAIC0yMTM1 LDcgKzIxNTUsOCBAQCBzdGF0aWMgbm9pbmxpbmUgaW50IGNvcHlfdG9fc2soc3RydWN0IGJ0cmZz X3BhdGggKnBhdGgsCiAJCQkgKiAqIHNrX29mZnNldCBzbyB3ZSBjb3B5IHRoZSBmdWxsIHRoaW5n IGFnYWluLgogCQkJICovCiAJCQlpZiAocmVhZF9leHRlbnRfYnVmZmVyX3RvX3VzZXJfbm9mYXVs dChsZWFmLCB1cCwKLQkJCQkJCWl0ZW1fb2ZmLCBpdGVtX2xlbikpIHsKKwkJCQkJCWl0ZW1fb2Zm LCBpdGVtX2xlbiwKKwkJCQkJCWNvcHlfZmFpbHVyZSkpIHsKIAkJCQlyZXQgPSAwOwogCQkJCSpz a19vZmZzZXQgLT0gc2l6ZW9mKHNoKTsKIAkJCQlnb3RvIG91dDsKQEAgLTIyMjIsNiArMjI0Myw4 IEBAIHN0YXRpYyBub2lubGluZSBpbnQgc2VhcmNoX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUs CiAJa2V5Lm9mZnNldCA9IHNrLT5taW5fb2Zmc2V0OwogCiAJd2hpbGUgKDEpIHsKKwkJdm9pZCBf X3VzZXIgKmNvcHlfZmFpbHVyZSA9IE5VTEw7CisKIAkJcmV0ID0gLUVGQVVMVDsKIAkJaWYgKGZh dWx0X2luX3dyaXRlYWJsZSh1YnVmICsgc2tfb2Zmc2V0LCAqYnVmX3NpemUgLSBza19vZmZzZXQp KQogCQkJYnJlYWs7CkBAIC0yMjMzLDExICsyMjU2LDEzIEBAIHN0YXRpYyBub2lubGluZSBpbnQg c2VhcmNoX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlnb3RvIGVycjsKIAkJfQogCQly ZXQgPSBjb3B5X3RvX3NrKHBhdGgsICZrZXksIHNrLCBidWZfc2l6ZSwgdWJ1ZiwKLQkJCQkgJnNr X29mZnNldCwgJm51bV9mb3VuZCk7CisJCQkJICZza19vZmZzZXQsICZudW1fZm91bmQsICZjb3B5 X2ZhaWx1cmUpOwogCQlidHJmc19yZWxlYXNlX3BhdGgocGF0aCk7CiAJCWlmIChyZXQpCiAJCQli cmVhazsKLQorCQlyZXQgPSAtRUZBVUxUOworCQlpZiAoY29weV9mYWlsdXJlICYmIGZhdWx0X2lu X3dyaXRlYWJsZShjb3B5X2ZhaWx1cmUsIDEpKQorCQkJYnJlYWs7CiAJfQogCWlmIChyZXQgPiAw KQogCQlyZXQgPSAwOwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK