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 F35B5C433F5 for ; Mon, 10 Jan 2022 20:48:19 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=+X3af6Y7COpy2VwNY0FqQH+S4LYDfjC+PQ1g7yVaBho=; b=zVB+Re8qI0JP7u RnUk4dp0Wzl2XX/4s/ZlBvIxQBMXecIP7CSXbujQXvowN5s+KWDlvh1TaWBfO+f616qbdxy2st8jJ lIdU8g01Upnw9o0uJw7F6CaxQU9CEa/kDVJzRI7lzBEHhq2/FK0cOMEESjVgNNzj/zDq6F5ThlAvz rxxWyipyUqgnVouwVy62K5Epq6ZO96PXpZ4NcV7SLilxAkSqYaORDeiiIcTAtLpcnNRnWUlHp0F1w P06VN1tUhnQqIHmNydC/lv04QTW88QIvrnR64AWwUUBkQYNNi/ccYN73r7dLgBgOqohP7NSSg7IA4 CXeDFeJX5jYLdtFJRdGw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n71ZD-00DHYD-RW; Mon, 10 Jan 2022 20:47:00 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n71ZA-00DHXe-E1 for linux-arm-kernel@bombadil.infradead.org; Mon, 10 Jan 2022 20:46:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=cAyMRDjkSPvI5mmxGVrUYT6lIWPB64uGOupKmvGrD9M=; b=KFKwo+kxcTfqU3etRq4e1vgJ77 Zr+Pgo3SfCiqoOmTL31/s0DsewVcoloEtuy0ueJxhTkjW35H4+1llvFmBRIBsRooc3yCldbMJlJuA uiU0URabISBMIfgLQ5MO6VUTbRo6rSKhNPijsCJsVUa6QY18w8RLoWHknsNblIUS+naowJzh0QpjT 37et6jCE4/wXUrJCDkCMqtPUtLSHrkGEvkF+r+XQ4x/w0q+iuAn6zy9FElMm5NCEttHZO51qn/smB MzrTkrRpDm8LexwrrJ94NZTnETil21AeIefXkfgHQbkGP4KosExyH3OdeMWX14ctyzFfLOF5/4l1+ 2+nysTeQ==; Received: from [179.97.37.151] (helo=quaco.ghostprotocols.net) by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1n71Z8-002i9r-9y; Mon, 10 Jan 2022 20:46:55 +0000 Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id 2742D40714; Mon, 10 Jan 2022 17:46:52 -0300 (-03) Date: Mon, 10 Jan 2022 17:46:52 -0300 From: Arnaldo Carvalho de Melo To: Ian Rogers Cc: Andi Kleen , Jiri Olsa , Namhyung Kim , John Garry , Kajol Jain , "Paul A . Clarke" , Riccardo Mancini , Kan Liang , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Vineet Singh , James Clark , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Leo Yan , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, zhengjun.xing@intel.com, eranian@google.com Subject: Re: [PATCH v3 06/48] perf cpumap: Switch cpu_map__build_map to cpu function Message-ID: References: <20211230072030.302559-1-irogers@google.com> <20211230072030.302559-8-irogers@google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20211230072030.302559-8-irogers@google.com> X-Url: http://acmel.wordpress.com 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 RW0gV2VkLCBEZWMgMjksIDIwMjEgYXQgMTE6MTk6NDhQTSAtMDgwMCwgSWFuIFJvZ2VycyBlc2Ny ZXZldToKPiBBdm9pZCBlcnJvciBwcm9uZSBjcHVfbWFwICsgaWR4IHZhcmlhbnQuIFJlbW92ZSBu b3cgdW51c2VkIGZ1bmN0aW9ucy4KCkF0IHRoaXMgcG9pbnQgd2UgbmVlZCB0byByZW1vdmUgdGhl IG5vdyB1bnVzZWQgcGVyZl9lbnZfX2dldF9jcHUoKSwgYW5kCnRoZW4gZGVhbCB3aXRoIHRoZSBm YWxsb3V0IGluIHRoZSBmb2xsb3dpbmcgcGF0Y2hlcyB0aGF0IG5lZWRsZXNzbHkKbW9kaWZ5IHRo aXMgdW51c2VkIGZ1bmN0aW9uLgoKRG9pbmcgdGhhdCBub3cuCgotIEFybmFsZG8KCuKsolthY21l QHRvb2xib3ggcGVyZl0kIGdpdCBkaWZmCmRpZmYgLS1naXQgYS90b29scy9wZXJmL2J1aWx0aW4t c3RhdC5jIGIvdG9vbHMvcGVyZi9idWlsdGluLXN0YXQuYwppbmRleCA2Yjk4NWFiYWEyZDIyYzU4 Li40MGNiMzUxOGYyN2UyMzA5IDEwMDY0NAotLS0gYS90b29scy9wZXJmL2J1aWx0aW4tc3RhdC5j CisrKyBiL3Rvb2xzL3BlcmYvYnVpbHRpbi1zdGF0LmMKQEAgLTE0NzcsMjIgKzE0NzcsNiBAQCBz dGF0aWMgdm9pZCBwZXJmX3N0YXRfX2V4aXRfYWdncl9tb2RlKHZvaWQpCiAgICAgICAgc3RhdF9j b25maWcuY3B1c19hZ2dyX21hcCA9IE5VTEw7CiB9Cgotc3RhdGljIGlubGluZSBpbnQgcGVyZl9l bnZfX2dldF9jcHUodm9pZCAqZGF0YSwgc3RydWN0IHBlcmZfY3B1X21hcCAqbWFwLCBpbnQgaWR4 KQotewotICAgICAgIHN0cnVjdCBwZXJmX2VudiAqZW52ID0gZGF0YTsKLSAgICAgICBpbnQgY3B1 OwotCi0gICAgICAgaWYgKGlkeCA+IG1hcC0+bnIpCi0gICAgICAgICAgICAgICByZXR1cm4gLTE7 Ci0KLSAgICAgICBjcHUgPSBtYXAtPm1hcFtpZHhdOwotCi0gICAgICAgaWYgKGNwdSA+PSBlbnYt Pm5yX2NwdXNfYXZhaWwpCi0gICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0KLSAgICAgICByZXR1 cm4gY3B1OwotfQotCiBzdGF0aWMgc3RydWN0IGFnZ3JfY3B1X2lkIHBlcmZfZW52X19nZXRfc29j a2V0X2FnZ3JfYnlfY3B1KGludCBjcHUsIHZvaWQgKmRhdGEpCiB7CiAgICAgICAgc3RydWN0IHBl cmZfZW52ICplbnYgPSBkYXRhOwogCj4gUmV2aWV3ZWQtYnk6IEphbWVzIENsYXJrIDxqYW1lcy5j bGFya0Bhcm0uY29tPgo+IFNpZ25lZC1vZmYtYnk6IElhbiBSb2dlcnMgPGlyb2dlcnNAZ29vZ2xl LmNvbT4KPiAtLS0KPiAgdG9vbHMvcGVyZi9idWlsdGluLXN0YXQuYyB8IDI4ICsrKystLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiAgdG9vbHMvcGVyZi91dGlsL2NwdW1hcC5jICB8IDEyICsrKysr Ky0tLS0tLQo+ICB0b29scy9wZXJmL3V0aWwvY3B1bWFwLmggIHwgIDIgKy0KPiAgMyBmaWxlcyBj aGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvdG9vbHMvcGVyZi9idWlsdGluLXN0YXQuYyBiL3Rvb2xzL3BlcmYvYnVpbHRpbi1zdGF0LmMK PiBpbmRleCA5NzkxYWU5YjFhNTMuLjZiOTg1YWJhYTJkMiAxMDA2NDQKPiAtLS0gYS90b29scy9w ZXJmL2J1aWx0aW4tc3RhdC5jCj4gKysrIGIvdG9vbHMvcGVyZi9idWlsdGluLXN0YXQuYwo+IEBA IC0xNTA0LDExICsxNTA0LDYgQEAgc3RhdGljIHN0cnVjdCBhZ2dyX2NwdV9pZCBwZXJmX2Vudl9f Z2V0X3NvY2tldF9hZ2dyX2J5X2NwdShpbnQgY3B1LCB2b2lkICpkYXRhKQo+ICAJcmV0dXJuIGlk Owo+ICB9Cj4gIAo+IC1zdGF0aWMgc3RydWN0IGFnZ3JfY3B1X2lkIHBlcmZfZW52X19nZXRfc29j a2V0KHN0cnVjdCBwZXJmX2NwdV9tYXAgKm1hcCwgaW50IGlkeCwgdm9pZCAqZGF0YSkKPiAtewo+ IC0JcmV0dXJuIHBlcmZfZW52X19nZXRfc29ja2V0X2FnZ3JfYnlfY3B1KHBlcmZfZW52X19nZXRf Y3B1KGRhdGEsIG1hcCwgaWR4KSwgZGF0YSk7Cj4gLX0KPiAtCj4gIHN0YXRpYyBzdHJ1Y3QgYWdn cl9jcHVfaWQgcGVyZl9lbnZfX2dldF9kaWVfYWdncl9ieV9jcHUoaW50IGNwdSwgdm9pZCAqZGF0 YSkKPiAgewo+ICAJc3RydWN0IHBlcmZfZW52ICplbnYgPSBkYXRhOwo+IEBAIC0xNTI3LDExICsx NTIyLDYgQEAgc3RhdGljIHN0cnVjdCBhZ2dyX2NwdV9pZCBwZXJmX2Vudl9fZ2V0X2RpZV9hZ2dy X2J5X2NwdShpbnQgY3B1LCB2b2lkICpkYXRhKQo+ICAJcmV0dXJuIGlkOwo+ICB9Cj4gIAo+IC1z dGF0aWMgc3RydWN0IGFnZ3JfY3B1X2lkIHBlcmZfZW52X19nZXRfZGllKHN0cnVjdCBwZXJmX2Nw dV9tYXAgKm1hcCwgaW50IGlkeCwgdm9pZCAqZGF0YSkKPiAtewo+IC0JcmV0dXJuIHBlcmZfZW52 X19nZXRfZGllX2FnZ3JfYnlfY3B1KHBlcmZfZW52X19nZXRfY3B1KGRhdGEsIG1hcCwgaWR4KSwg ZGF0YSk7Cj4gLX0KPiAtCj4gIHN0YXRpYyBzdHJ1Y3QgYWdncl9jcHVfaWQgcGVyZl9lbnZfX2dl dF9jb3JlX2FnZ3JfYnlfY3B1KGludCBjcHUsIHZvaWQgKmRhdGEpCj4gIHsKPiAgCXN0cnVjdCBw ZXJmX2VudiAqZW52ID0gZGF0YTsKPiBAQCAtMTU1MSwxMSArMTU0MSw2IEBAIHN0YXRpYyBzdHJ1 Y3QgYWdncl9jcHVfaWQgcGVyZl9lbnZfX2dldF9jb3JlX2FnZ3JfYnlfY3B1KGludCBjcHUsIHZv aWQgKmRhdGEpCj4gIAlyZXR1cm4gaWQ7Cj4gIH0KPiAgCj4gLXN0YXRpYyBzdHJ1Y3QgYWdncl9j cHVfaWQgcGVyZl9lbnZfX2dldF9jb3JlKHN0cnVjdCBwZXJmX2NwdV9tYXAgKm1hcCwgaW50IGlk eCwgdm9pZCAqZGF0YSkKPiAtewo+IC0JcmV0dXJuIHBlcmZfZW52X19nZXRfY29yZV9hZ2dyX2J5 X2NwdShwZXJmX2Vudl9fZ2V0X2NwdShkYXRhLCBtYXAsIGlkeCksIGRhdGEpOwo+IC19Cj4gLQo+ ICBzdGF0aWMgc3RydWN0IGFnZ3JfY3B1X2lkIHBlcmZfZW52X19nZXRfbm9kZV9hZ2dyX2J5X2Nw dShpbnQgY3B1LCB2b2lkICpkYXRhKQo+ICB7Cj4gIAlzdHJ1Y3QgYWdncl9jcHVfaWQgaWQgPSBj cHVfbWFwX19lbXB0eV9hZ2dyX2NwdV9pZCgpOwo+IEBAIC0xNTY0LDMzICsxNTQ5LDI4IEBAIHN0 YXRpYyBzdHJ1Y3QgYWdncl9jcHVfaWQgcGVyZl9lbnZfX2dldF9ub2RlX2FnZ3JfYnlfY3B1KGlu dCBjcHUsIHZvaWQgKmRhdGEpCj4gIAlyZXR1cm4gaWQ7Cj4gIH0KPiAgCj4gLXN0YXRpYyBzdHJ1 Y3QgYWdncl9jcHVfaWQgcGVyZl9lbnZfX2dldF9ub2RlKHN0cnVjdCBwZXJmX2NwdV9tYXAgKm1h cCwgaW50IGlkeCwgdm9pZCAqZGF0YSkKPiAtewo+IC0JcmV0dXJuIHBlcmZfZW52X19nZXRfbm9k ZV9hZ2dyX2J5X2NwdShwZXJmX2Vudl9fZ2V0X2NwdShkYXRhLCBtYXAsIGlkeCksIGRhdGEpOwo+ IC19Cj4gLQo+ICBzdGF0aWMgaW50IHBlcmZfZW52X19idWlsZF9zb2NrZXRfbWFwKHN0cnVjdCBw ZXJmX2VudiAqZW52LCBzdHJ1Y3QgcGVyZl9jcHVfbWFwICpjcHVzLAo+ICAJCQkJICAgICAgc3Ry dWN0IGNwdV9hZ2dyX21hcCAqKnNvY2twKQo+ICB7Cj4gLQlyZXR1cm4gY3B1X21hcF9fYnVpbGRf bWFwKGNwdXMsIHNvY2twLCBwZXJmX2Vudl9fZ2V0X3NvY2tldCwgZW52KTsKPiArCXJldHVybiBj cHVfbWFwX19idWlsZF9tYXAoY3B1cywgc29ja3AsIHBlcmZfZW52X19nZXRfc29ja2V0X2FnZ3Jf YnlfY3B1LCBlbnYpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IHBlcmZfZW52X19idWlsZF9kaWVf bWFwKHN0cnVjdCBwZXJmX2VudiAqZW52LCBzdHJ1Y3QgcGVyZl9jcHVfbWFwICpjcHVzLAo+ICAJ CQkJICAgc3RydWN0IGNwdV9hZ2dyX21hcCAqKmRpZXApCj4gIHsKPiAtCXJldHVybiBjcHVfbWFw X19idWlsZF9tYXAoY3B1cywgZGllcCwgcGVyZl9lbnZfX2dldF9kaWUsIGVudik7Cj4gKwlyZXR1 cm4gY3B1X21hcF9fYnVpbGRfbWFwKGNwdXMsIGRpZXAsIHBlcmZfZW52X19nZXRfZGllX2FnZ3Jf YnlfY3B1LCBlbnYpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IHBlcmZfZW52X19idWlsZF9jb3Jl X21hcChzdHJ1Y3QgcGVyZl9lbnYgKmVudiwgc3RydWN0IHBlcmZfY3B1X21hcCAqY3B1cywKPiAg CQkJCSAgICBzdHJ1Y3QgY3B1X2FnZ3JfbWFwICoqY29yZXApCj4gIHsKPiAtCXJldHVybiBjcHVf bWFwX19idWlsZF9tYXAoY3B1cywgY29yZXAsIHBlcmZfZW52X19nZXRfY29yZSwgZW52KTsKPiAr CXJldHVybiBjcHVfbWFwX19idWlsZF9tYXAoY3B1cywgY29yZXAsIHBlcmZfZW52X19nZXRfY29y ZV9hZ2dyX2J5X2NwdSwgZW52KTsKPiAgfQo+ICAKPiAgc3RhdGljIGludCBwZXJmX2Vudl9fYnVp bGRfbm9kZV9tYXAoc3RydWN0IHBlcmZfZW52ICplbnYsIHN0cnVjdCBwZXJmX2NwdV9tYXAgKmNw dXMsCj4gIAkJCQkgICAgc3RydWN0IGNwdV9hZ2dyX21hcCAqKm5vZGVwKQo+ICB7Cj4gLQlyZXR1 cm4gY3B1X21hcF9fYnVpbGRfbWFwKGNwdXMsIG5vZGVwLCBwZXJmX2Vudl9fZ2V0X25vZGUsIGVu dik7Cj4gKwlyZXR1cm4gY3B1X21hcF9fYnVpbGRfbWFwKGNwdXMsIG5vZGVwLCBwZXJmX2Vudl9f Z2V0X25vZGVfYWdncl9ieV9jcHUsIGVudik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgYWdn cl9jcHVfaWQgcGVyZl9zdGF0X19nZXRfc29ja2V0X2ZpbGUoc3RydWN0IHBlcmZfc3RhdF9jb25m aWcgKmNvbmZpZyBfX21heWJlX3VudXNlZCwKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi91dGls L2NwdW1hcC5jIGIvdG9vbHMvcGVyZi91dGlsL2NwdW1hcC5jCj4gaW5kZXggNDlmYmEyYzUzODIy Li5mZWFmMzRiMjVlZmMgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvcGVyZi91dGlsL2NwdW1hcC5jCj4g KysrIGIvdG9vbHMvcGVyZi91dGlsL2NwdW1hcC5jCj4gQEAgLTE2Myw3ICsxNjMsNyBAQCBzdGF0 aWMgaW50IGNtcF9hZ2dyX2NwdV9pZChjb25zdCB2b2lkICphX3BvaW50ZXIsIGNvbnN0IHZvaWQg KmJfcG9pbnRlcikKPiAgfQo+ICAKPiAgaW50IGNwdV9tYXBfX2J1aWxkX21hcChzdHJ1Y3QgcGVy Zl9jcHVfbWFwICpjcHVzLCBzdHJ1Y3QgY3B1X2FnZ3JfbWFwICoqcmVzLAo+IC0JCSAgICAgICBz dHJ1Y3QgYWdncl9jcHVfaWQgKCpmKShzdHJ1Y3QgcGVyZl9jcHVfbWFwICptYXAsIGludCBjcHUs IHZvaWQgKmRhdGEpLAo+ICsJCSAgICAgICBzdHJ1Y3QgYWdncl9jcHVfaWQgKCpmKShpbnQgY3B1 LCB2b2lkICpkYXRhKSwKPiAgCQkgICAgICAgdm9pZCAqZGF0YSkKPiAgewo+ICAJaW50IG5yID0g Y3B1cy0+bnI7Cj4gQEAgLTE3OCw3ICsxNzgsNyBAQCBpbnQgY3B1X21hcF9fYnVpbGRfbWFwKHN0 cnVjdCBwZXJmX2NwdV9tYXAgKmNwdXMsIHN0cnVjdCBjcHVfYWdncl9tYXAgKipyZXMsCj4gIAlj LT5uciA9IDA7Cj4gIAo+ICAJZm9yIChjcHUgPSAwOyBjcHUgPCBucjsgY3B1KyspIHsKPiAtCQlz MSA9IGYoY3B1cywgY3B1LCBkYXRhKTsKPiArCQlzMSA9IGYoY3B1LCBkYXRhKTsKPiAgCQlmb3Ig KHMyID0gMDsgczIgPCBjLT5ucjsgczIrKykgewo+ICAJCQlpZiAoY3B1X21hcF9fY29tcGFyZV9h Z2dyX2NwdV9pZChzMSwgYy0+bWFwW3MyXSkpCj4gIAkJCQlicmVhazsKPiBAQCAtMjkwLDIyICsy OTAsMjIgQEAgc3RydWN0IGFnZ3JfY3B1X2lkIGNwdV9tYXBfX2dldF9ub2RlKHN0cnVjdCBwZXJm X2NwdV9tYXAgKm1hcCwgaW50IGlkeCwgdm9pZCAqZGEKPiAgCj4gIGludCBjcHVfbWFwX19idWls ZF9zb2NrZXRfbWFwKHN0cnVjdCBwZXJmX2NwdV9tYXAgKmNwdXMsIHN0cnVjdCBjcHVfYWdncl9t YXAgKipzb2NrcCkKPiAgewo+IC0JcmV0dXJuIGNwdV9tYXBfX2J1aWxkX21hcChjcHVzLCBzb2Nr cCwgY3B1X21hcF9fZ2V0X3NvY2tldCwgTlVMTCk7Cj4gKwlyZXR1cm4gY3B1X21hcF9fYnVpbGRf bWFwKGNwdXMsIHNvY2twLCBjcHVfbWFwX19nZXRfc29ja2V0X2FnZ3JfYnlfY3B1LCBOVUxMKTsK PiAgfQo+ICAKPiAgaW50IGNwdV9tYXBfX2J1aWxkX2RpZV9tYXAoc3RydWN0IHBlcmZfY3B1X21h cCAqY3B1cywgc3RydWN0IGNwdV9hZ2dyX21hcCAqKmRpZXApCj4gIHsKPiAtCXJldHVybiBjcHVf bWFwX19idWlsZF9tYXAoY3B1cywgZGllcCwgY3B1X21hcF9fZ2V0X2RpZSwgTlVMTCk7Cj4gKwly ZXR1cm4gY3B1X21hcF9fYnVpbGRfbWFwKGNwdXMsIGRpZXAsIGNwdV9tYXBfX2dldF9kaWVfYWdn cl9ieV9jcHUsIE5VTEwpOwo+ICB9Cj4gIAo+ICBpbnQgY3B1X21hcF9fYnVpbGRfY29yZV9tYXAo c3RydWN0IHBlcmZfY3B1X21hcCAqY3B1cywgc3RydWN0IGNwdV9hZ2dyX21hcCAqKmNvcmVwKQo+ ICB7Cj4gLQlyZXR1cm4gY3B1X21hcF9fYnVpbGRfbWFwKGNwdXMsIGNvcmVwLCBjcHVfbWFwX19n ZXRfY29yZSwgTlVMTCk7Cj4gKwlyZXR1cm4gY3B1X21hcF9fYnVpbGRfbWFwKGNwdXMsIGNvcmVw LCBjcHVfbWFwX19nZXRfY29yZV9hZ2dyX2J5X2NwdSwgTlVMTCk7Cj4gIH0KPiAgCj4gIGludCBj cHVfbWFwX19idWlsZF9ub2RlX21hcChzdHJ1Y3QgcGVyZl9jcHVfbWFwICpjcHVzLCBzdHJ1Y3Qg Y3B1X2FnZ3JfbWFwICoqbnVtYXApCj4gIHsKPiAtCXJldHVybiBjcHVfbWFwX19idWlsZF9tYXAo Y3B1cywgbnVtYXAsIGNwdV9tYXBfX2dldF9ub2RlLCBOVUxMKTsKPiArCXJldHVybiBjcHVfbWFw X19idWlsZF9tYXAoY3B1cywgbnVtYXAsIGNwdV9tYXBfX2dldF9ub2RlX2FnZ3JfYnlfY3B1LCBO VUxMKTsKPiAgfQo+ICAKPiAgLyogc2V0dXAgc2ltcGxlIHJvdXRpbmVzIHRvIGVhc2lseSBhY2Nl c3Mgbm9kZSBudW1iZXJzIGdpdmVuIGEgY3B1IG51bWJlciAqLwo+IGRpZmYgLS1naXQgYS90b29s cy9wZXJmL3V0aWwvY3B1bWFwLmggYi90b29scy9wZXJmL3V0aWwvY3B1bWFwLmgKPiBpbmRleCBj NjJkNjc3MDQ0MjUuLjk2NDg4MTZjNDI1NSAxMDA2NDQKPiAtLS0gYS90b29scy9wZXJmL3V0aWwv Y3B1bWFwLmgKPiArKysgYi90b29scy9wZXJmL3V0aWwvY3B1bWFwLmgKPiBAQCAtNjMsNyArNjMs NyBAQCBpbnQgY3B1X19tYXhfcHJlc2VudF9jcHUodm9pZCk7Cj4gIGludCBjcHVfX2dldF9ub2Rl KGludCBjcHUpOwo+ICAKPiAgaW50IGNwdV9tYXBfX2J1aWxkX21hcChzdHJ1Y3QgcGVyZl9jcHVf bWFwICpjcHVzLCBzdHJ1Y3QgY3B1X2FnZ3JfbWFwICoqcmVzLAo+IC0JCSAgICAgICBzdHJ1Y3Qg YWdncl9jcHVfaWQgKCpmKShzdHJ1Y3QgcGVyZl9jcHVfbWFwICptYXAsIGludCBjcHUsIHZvaWQg KmRhdGEpLAo+ICsJCSAgICAgICBzdHJ1Y3QgYWdncl9jcHVfaWQgKCpmKShpbnQgY3B1LCB2b2lk ICpkYXRhKSwKPiAgCQkgICAgICAgdm9pZCAqZGF0YSk7Cj4gIAo+ICBpbnQgY3B1X21hcF9fY3B1 KHN0cnVjdCBwZXJmX2NwdV9tYXAgKmNwdXMsIGludCBpZHgpOwo+IC0tIAo+IDIuMzQuMS40NDgu Z2EyYjJiZmRmMzEtZ29vZwoKLS0gCgotIEFybmFsZG8KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK