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 70EE6C54E58 for ; Mon, 25 Mar 2024 21:01:57 +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=JwiQM9Uu0/psFS3Nd0csNl0gUwNh+XXHZHttMWuyhZY=; b=w6+s6dUIYweW6U ZAHBUzpIjG56thS12uvggGS22TyNVSUk7GDPxTJEI3nU+3l8CHo7cIqve/A1S+O78zZIRD44aL/S7 3K9Xertgc+i2UdGkcwEMPNcylCspmiiwyPMBWVe3rjPoT9Ti+hasEfarZl6OydZNby/pKf5YTXf9q HD/jcr3hartoQPXQ9+pZQu7e4Q8Br+hwBfRF+RZJnXdhLVHp8FJNQ+xaWx+5QriulE/o0fR3WGrl7 1cmSzMdRXkzWFmxnGoebj5Hq4J3GViHj71iQaelg86uRjmYoEKXXJiv5ks7B3fujHLchKkVeIPxk6 D5To9Uz/gwluau8LtUMw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rorRv-00000001wGD-2cn6; Mon, 25 Mar 2024 21:01:43 +0000 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rorRZ-00000001w5u-2FNr for linux-arm-kernel@lists.infradead.org; Mon, 25 Mar 2024 21:01:25 +0000 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4140eed8a4fso7475e9.0 for ; Mon, 25 Mar 2024 14:01:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1711400478; x=1712005278; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=hYzMTzG76jpXXtR/0jOj7ycyCch1YdLUEqtA0Q2kJns=; b=f45NVAyh+czZpqB/IIv8UJAjT+WX8aUtK5/lsjYEEG2dLloHL4HCdEqd/6gcJ3VXlJ UNjNaBz9XCvhwbEBAMObJLOLehNsphZPQzG4M66LsOFWefcK6m5uCf073CPXOlc6zwLL qDcP0XKfhyLFvzfj2OiGStfLphHdI6b/ghggimxVtqaplI9dPg4H2UZTnM16buVnHVld 4UBhtl0ulxcpKsG8mlEMSljzPEmECIBQvI+DE6NCEibVU4/cbTHIpzUQlL+EhLVrPNUd rBeuVK8iGZQBbSkBZRt0SrCd1FZZ92aAUvr+zKrZj5HWLtN0929BfOucpob7gpZE7j2O GaAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711400478; x=1712005278; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=hYzMTzG76jpXXtR/0jOj7ycyCch1YdLUEqtA0Q2kJns=; b=pk0DGduPZKcTnESEYOCLRrHi6qV2769duVNrwfU1NXAFCiFCGQEBW50dM5K0d9KE+Z oob6qMsrk9AQMO+zhQqUDonEQ9t4xIsyT4tmL+RCNeQPHTZJnE/YQZi44bOpmYnZYRyC jC0EbXpgUUK3E7m8t3iVFXXv+8BiQ0eHRBPJumwZtR0uGtwEizL8C0NOrXNR+o14UCvJ BcmHacNWHZd/04upoIGiuogvVBTgPn3q5rf1FJ19i7Vi7TdMdXAYGdtmJRzbGWQJph+y 8zMc+ikPAKW4ZL/AAmWN8HLsX6TyMf1GBjLLHELiGQ8OImeBuBznPBlEH7UXeeDKbVnL /1yg== X-Forwarded-Encrypted: i=1; AJvYcCWBX1xpVZbC5SkPaVfMGWI4btHgsaijxbYhJ+fAQia9pO2gwMwqK0a2g75Uf18RWsfYQWUeWAN1U3GQhdR6wTgGh/bMHSIpegy32FnHid518lNEP6w= X-Gm-Message-State: AOJu0YxTDVr28AUb42scvvAatR1dv53/OqL4CS4C8MNyl0dOIiic5MYa Crj5zQC4bOhIeLssabwix8kLucH+OUwSdgRM+bkJqXWVwhKII5+CtXYhRtKn0g== X-Google-Smtp-Source: AGHT+IH0RK7M14lG8X+xGmmxWIzwMNfLP7hfCwPVIxCthT5HX5RV8W05k3kUnWTtVb8NaUxXC32pVA== X-Received: by 2002:a05:600c:1ca5:b0:414:381:ad5f with SMTP id k37-20020a05600c1ca500b004140381ad5fmr15682wms.7.1711400478034; Mon, 25 Mar 2024 14:01:18 -0700 (PDT) Received: from google.com (180.232.140.34.bc.googleusercontent.com. [34.140.232.180]) by smtp.gmail.com with ESMTPSA id o32-20020a05600c512000b004148a5e3188sm3377606wms.25.2024.03.25.14.01.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Mar 2024 14:01:17 -0700 (PDT) Date: Mon, 25 Mar 2024 21:01:13 +0000 From: Mostafa Saleh To: Jason Gunthorpe Cc: iommu@lists.linux.dev, Joerg Roedel , linux-arm-kernel@lists.infradead.org, Robin Murphy , Will Deacon , Eric Auger , Jean-Philippe Brucker , Moritz Fischer , Michael Shavit , Nicolin Chen , patches@lists.linux.dev, Shameerali Kolothum Thodi Subject: Re: [PATCH v5 04/27] iommu/arm-smmu-v3: Add an ops indirection to the STE code Message-ID: References: <0-v5-9a37e0c884ce+31e3-smmuv3_newapi_p2_jgg@nvidia.com> <4-v5-9a37e0c884ce+31e3-smmuv3_newapi_p2_jgg@nvidia.com> <20240325141132.GA110546@nvidia.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240325141132.GA110546@nvidia.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240325_140121_797620_859D73CB X-CRM114-Status: GOOD ( 36.50 ) 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 T24gTW9uLCBNYXIgMjUsIDIwMjQgYXQgMTE6MTE6MzJBTSAtMDMwMCwgSmFzb24gR3VudGhvcnBl IHdyb3RlOgo+IE9uIEZyaSwgTWFyIDIyLCAyMDI0IGF0IDA2OjE0OjI0UE0gKzAwMDAsIE1vc3Rh ZmEgU2FsZWggd3JvdGU6Cj4gPiA+IEBAIC0xMDI3LDU3ICsxMDM4LDU1IEBAIHN0YXRpYyB2b2lk IGFybV9zbW11X2dldF9zdGVfdXNlZChjb25zdCBzdHJ1Y3QgYXJtX3NtbXVfc3RlICplbnQsCj4g PiA+ICAgKiB1bnVzZWRfdXBkYXRlIGlzIGFuIGludGVybWVkaWF0ZSB2YWx1ZSBvZiBlbnRyeSB0 aGF0IGhhcyB1bnVzZWQgYml0cyBzZXQgdG8KPiA+ID4gICAqIHRoZWlyIG5ldyB2YWx1ZXMuCj4g PiA+ICAgKi8KPiA+ID4gLXN0YXRpYyB1OCBhcm1fc21tdV9lbnRyeV9xd29yZF9kaWZmKGNvbnN0 IHN0cnVjdCBhcm1fc21tdV9zdGUgKmVudHJ5LAo+ID4gPiAtCQkJCSAgICBjb25zdCBzdHJ1Y3Qg YXJtX3NtbXVfc3RlICp0YXJnZXQsCj4gPiA+IC0JCQkJICAgIHN0cnVjdCBhcm1fc21tdV9zdGUg KnVudXNlZF91cGRhdGUpCj4gPiA+ICtzdGF0aWMgdTggYXJtX3NtbXVfZW50cnlfcXdvcmRfZGlm ZihzdHJ1Y3QgYXJtX3NtbXVfZW50cnlfd3JpdGVyICp3cml0ZXIsCj4gPiA+ICsJCQkJICAgIGNv bnN0IF9fbGU2NCAqZW50cnksIGNvbnN0IF9fbGU2NCAqdGFyZ2V0LAo+ID4gPiArCQkJCSAgICBf X2xlNjQgKnVudXNlZF91cGRhdGUpCj4gPiA+ICB7Cj4gPiA+IC0Jc3RydWN0IGFybV9zbW11X3N0 ZSB0YXJnZXRfdXNlZCA9IHt9Owo+ID4gPiAtCXN0cnVjdCBhcm1fc21tdV9zdGUgY3VyX3VzZWQg PSB7fTsKPiA+ID4gKwlfX2xlNjQgdGFyZ2V0X3VzZWRbTlVNX0VOVFJZX1FXT1JEU10gPSB7fTsK PiA+ID4gKwlfX2xlNjQgY3VyX3VzZWRbTlVNX0VOVFJZX1FXT1JEU10gPSB7fTsKPiA+IFRoaXMg aXMgY29uZnVzaW5nIHRvIG1lLCB0aGUgZnVuY3Rpb24gd2FzIG1vZGlmaWVkIHRvIGJlIGdlbmVy aWMsIHNvIGl0cyBoYXMKPiA+IGFyZ3MgYXJlIF9fbGU2NCAqIGluc3RlYWQgb2Ygc3RydWN0IGFy bV9zbW11X3N0ZSAqLgo+IAo+IFJpZ2h0Cj4gCj4gPiBCdXQgTlVNX0VOVFJZX1FXT1JEUyBpcyBk ZWZpbmVkIGFzIOKAnChzaXplb2Yoc3RydWN0IGFybV9zbW11X3N0ZSkgLyBzaXplb2YodTY0KSni gJ0KPiA+IGFuZCBpbiB0aGUgc2FtZSBmdW5jdGlvbiB3cml0ZXItPm9wcy0+bnVtX2VudHJ5X3F3 b3JkcyBpcyB1c2VkCj4gPiBudGVyY2hhbmdlYWJseSwKPiAKPiBSaWdodAo+IAo+ID4gSSB1bmRl cnN0YW5kIHRoYXQgdGhpcyBub3QgYSBjb25zdGFudCBhbmQgdGhlIGNvbXBpbGVyIHdvdWxkIGNv bXBsYWluLgo+ID4gQnV0IHNpbmNlIGZvciBhbnkgb3RoZXIgbnVtX2VudHJ5X3F3b3JkcyBsYXJn ZXIgdGhhbiBOVU1fRU5UUllfUVdPUkRTIGl0IGZhaWxzLAo+ID4gYW5kIHdlIGtub3cgU1RFcyBh bmQgQ0RzIGJvdGggaGF2ZSB0aGUgc2FtZSBzaXplLCB3ZSBzaW1wbGlmeSB0aGUgY29kZSBhbmQg bWFrZQo+ID4gaXQgYSBjb25zdGFudCBldmVyeXdoZXJlLgo+IAo+IFNvIHlvdSBzYXkgdG8gZ2V0 IHJpZCBvZiBudW1fZW50cnlfcXdvcmRzIGFuZCBqdXN0IHVzZSB0aGUgY29uc3RhbnQ/CgpJbiBt eSBvcGluaW9uLCB5ZXMsIHRoYXQgbG9va3MgZWFzaWVyIHRvIHVuZGVyc3RhbmQsIGFuZCBhdm9p ZHMgdGhlIE1BWApzdHVmZiBhcyB0aGVyZSBpcyBubyByZWFzb24gZm9yIHRoZSBleHRyYSBnZW5l cmFsaXNhdGlvbi4KCj4gPiBJIHNlZSBpbiB0aGUgbmV4dCBwYXRjaCwgdGhhdCB0aGlzIGlzIHJl ZGVmaW5lZCB0byBiZSB0aGUgbWF4IGJldHdlZW4gU1RFIGFuZAo+ID4gQ0QsIGJ1dCBhZ2Fpbiwg dGhpcyBoYXJkd2FyZSBhbmQgaXQgbmV2ZXIgY2hhbmdlcywgc28gbXkgb3BpbmlvbiBpcyB0byBz aW1wbGlmeQo+ID4gdGhlIGNvZGUsIGFzIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ2VuZXJhbGl6ZSB0 aGlzIHBhcnQuCj4gCj4gWWVzLCB3ZSBuZWVkIGEgY29uc3RhbnQuCj4gCj4gSXQgd291bGQgbG9v ayBsaWtlIHRoaXMsIGl0IGlzIGEgbGl0dGxlIGJpdCBzaW1wbGVyOgo+IAo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5jIGIvZHJpdmVycy9p b21tdS9hcm0vYXJtLXNtbXUtdjMvYXJtLXNtbXUtdjMuYwo+IGluZGV4IGE1NDA2MmZhY2NkZTM4 Li5kMDE1ZjQxOTAwZDgwMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21t dS12My9hcm0tc21tdS12My5jCj4gKysrIGIvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMv YXJtLXNtbXUtdjMuYwo+IEBAIC02Myw5ICs2Myw5IEBAIGVudW0gYXJtX3NtbXVfbXNpX2luZGV4 IHsKPiAgCUFSTV9TTU1VX01BWF9NU0lTLAo+ICB9Owo+ICAKPiAtI2RlZmluZSBOVU1fRU5UUllf UVdPUkRTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ IC0JKG1heChzaXplb2Yoc3RydWN0IGFybV9zbW11X3N0ZSksIHNpemVvZihzdHJ1Y3QgYXJtX3Nt bXVfY2QpKSAvIFwKPiAtCSBzaXplb2YodTY0KSkKPiArI2RlZmluZSBOVU1fRU5UUllfUVdPUkRT IDgKPiArc3RhdGljX2Fzc2VydChzaXplb2Yoc3RydWN0IGFybV9zbW11X3N0ZSkgPT0gTlVNX0VO VFJZX1FXT1JEUyAqIHNpemVvZih1NjQpKTsKPiArc3RhdGljX2Fzc2VydChzaXplb2Yoc3RydWN0 IGFybV9zbW11X2NkKSA9PSBOVU1fRU5UUllfUVdPUkRTICogc2l6ZW9mKHU2NCkpOwo+ICAKPiAg c3RhdGljIHBoeXNfYWRkcl90IGFybV9zbW11X21zaV9jZmdbQVJNX1NNTVVfTUFYX01TSVNdWzNd ID0gewo+ICAJW0VWVFFfTVNJX0lOREVYXSA9IHsKPiBAQCAtMTA0NSw3ICsxMDQ1LDcgQEAgc3Rh dGljIHU4IGFybV9zbW11X2VudHJ5X3F3b3JkX2RpZmYoc3RydWN0IGFybV9zbW11X2VudHJ5X3dy aXRlciAqd3JpdGVyLAo+ICAJd3JpdGVyLT5vcHMtPmdldF91c2VkKGVudHJ5LCBjdXJfdXNlZCk7 Cj4gIAl3cml0ZXItPm9wcy0+Z2V0X3VzZWQodGFyZ2V0LCB0YXJnZXRfdXNlZCk7Cj4gIAo+IC0J Zm9yIChpID0gMDsgaSAhPSB3cml0ZXItPm9wcy0+bnVtX2VudHJ5X3F3b3JkczsgaSsrKSB7Cj4g Kwlmb3IgKGkgPSAwOyBpICE9IE5VTV9FTlRSWV9RV09SRFM7IGkrKykgewo+ICAJCS8qCj4gIAkJ ICogQ2hlY2sgdGhhdCBtYXNrcyBhcmUgdXAgdG8gZGF0ZSwgdGhlIG1ha2UgZnVuY3Rpb25zIGFy ZSBub3QKPiAgCQkgKiBhbGxvd2VkIHRvIHNldCBhIGJpdCB0byAxIGlmIHRoZSB1c2VkIGZ1bmN0 aW9uIGRvZXNuJ3Qgc2F5IGl0Cj4gQEAgLTExMTQsNyArMTExNCw2IEBAIHN0YXRpYyBib29sIGVu dHJ5X3NldChzdHJ1Y3QgYXJtX3NtbXVfZW50cnlfd3JpdGVyICp3cml0ZXIsIF9fbGU2NCAqZW50 cnksCj4gIHZvaWQgYXJtX3NtbXVfd3JpdGVfZW50cnkoc3RydWN0IGFybV9zbW11X2VudHJ5X3dy aXRlciAqd3JpdGVyLCBfX2xlNjQgKmVudHJ5LAo+ICAJCQkgIGNvbnN0IF9fbGU2NCAqdGFyZ2V0 KQo+ICB7Cj4gLQl1bnNpZ25lZCBpbnQgbnVtX2VudHJ5X3F3b3JkcyA9IHdyaXRlci0+b3BzLT5u dW1fZW50cnlfcXdvcmRzOwo+ICAJX19sZTY0IHVudXNlZF91cGRhdGVbTlVNX0VOVFJZX1FXT1JE U107Cj4gIAl1OCB1c2VkX3F3b3JkX2RpZmY7Cj4gIAo+IEBAIC0xMTM3LDkgKzExMzYsOSBAQCB2 b2lkIGFybV9zbW11X3dyaXRlX2VudHJ5KHN0cnVjdCBhcm1fc21tdV9lbnRyeV93cml0ZXIgKndy aXRlciwgX19sZTY0ICplbnRyeSwKPiAgCQkgKi8KPiAgCQl1bnVzZWRfdXBkYXRlW2NyaXRpY2Fs X3F3b3JkX2luZGV4XSA9Cj4gIAkJCWVudHJ5W2NyaXRpY2FsX3F3b3JkX2luZGV4XTsKPiAtCQll bnRyeV9zZXQod3JpdGVyLCBlbnRyeSwgdW51c2VkX3VwZGF0ZSwgMCwgbnVtX2VudHJ5X3F3b3Jk cyk7Cj4gKwkJZW50cnlfc2V0KHdyaXRlciwgZW50cnksIHVudXNlZF91cGRhdGUsIDAsIE5VTV9F TlRSWV9RV09SRFMpOwo+ICAJCWVudHJ5X3NldCh3cml0ZXIsIGVudHJ5LCB0YXJnZXQsIGNyaXRp Y2FsX3F3b3JkX2luZGV4LCAxKTsKPiAtCQllbnRyeV9zZXQod3JpdGVyLCBlbnRyeSwgdGFyZ2V0 LCAwLCBudW1fZW50cnlfcXdvcmRzKTsKPiArCQllbnRyeV9zZXQod3JpdGVyLCBlbnRyeSwgdGFy Z2V0LCAwLCBOVU1fRU5UUllfUVdPUkRTKTsKPiAgCX0gZWxzZSBpZiAodXNlZF9xd29yZF9kaWZm KSB7Cj4gIAkJLyoKPiAgCQkgKiBBdCBsZWFzdCB0d28gcXdvcmRzIG5lZWQgdGhlaXIgaW51c2Ug Yml0cyB0byBiZSBjaGFuZ2VkLiBUaGlzCj4gQEAgLTExNDgsNyArMTE0Nyw3IEBAIHZvaWQgYXJt X3NtbXVfd3JpdGVfZW50cnkoc3RydWN0IGFybV9zbW11X2VudHJ5X3dyaXRlciAqd3JpdGVyLCBf X2xlNjQgKmVudHJ5LAo+ICAJCSAqLwo+ICAJCXVudXNlZF91cGRhdGVbMF0gPSBlbnRyeVswXSAm ICh+d3JpdGVyLT5vcHMtPnZfYml0KTsKPiAgCQllbnRyeV9zZXQod3JpdGVyLCBlbnRyeSwgdW51 c2VkX3VwZGF0ZSwgMCwgMSk7Cj4gLQkJZW50cnlfc2V0KHdyaXRlciwgZW50cnksIHRhcmdldCwg MSwgbnVtX2VudHJ5X3F3b3JkcyAtIDEpOwo+ICsJCWVudHJ5X3NldCh3cml0ZXIsIGVudHJ5LCB0 YXJnZXQsIDEsIE5VTV9FTlRSWV9RV09SRFMgLSAxKTsKPiAgCQllbnRyeV9zZXQod3JpdGVyLCBl bnRyeSwgdGFyZ2V0LCAwLCAxKTsKPiAgCX0gZWxzZSB7Cj4gIAkJLyoKPiBAQCAtMTE1Nyw3ICsx MTU2LDcgQEAgdm9pZCBhcm1fc21tdV93cml0ZV9lbnRyeShzdHJ1Y3QgYXJtX3NtbXVfZW50cnlf d3JpdGVyICp3cml0ZXIsIF9fbGU2NCAqZW50cnksCj4gIAkJICogY29tcHV0ZV9xd29yZF9kaWZm KCkuCj4gIAkJICovCj4gIAkJV0FSTl9PTl9PTkNFKAo+IC0JCQllbnRyeV9zZXQod3JpdGVyLCBl bnRyeSwgdGFyZ2V0LCAwLCBudW1fZW50cnlfcXdvcmRzKSk7Cj4gKwkJCWVudHJ5X3NldCh3cml0 ZXIsIGVudHJ5LCB0YXJnZXQsIDAsIE5VTV9FTlRSWV9RV09SRFMpKTsKPiAgCX0KPiAgfQo+ICAK PiBAQCAtMTI3Miw3ICsxMjcxLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhcm1fc21tdV9lbnRy eV93cml0ZXJfb3BzIGFybV9zbW11X2NkX3dyaXRlcl9vcHMgPSB7Cj4gIAkuc3luYyA9IGFybV9z bW11X2NkX3dyaXRlcl9zeW5jX2VudHJ5LAo+ICAJLmdldF91c2VkID0gYXJtX3NtbXVfZ2V0X2Nk X3VzZWQsCj4gIAkudl9iaXQgPSBjcHVfdG9fbGU2NChDVFhERVNDX0NEXzBfViksCj4gLQkubnVt X2VudHJ5X3F3b3JkcyA9IHNpemVvZihzdHJ1Y3QgYXJtX3NtbXVfY2QpIC8gc2l6ZW9mKHU2NCks Cj4gIH07Cj4gIAo+ICB2b2lkIGFybV9zbW11X3dyaXRlX2NkX2VudHJ5KHN0cnVjdCBhcm1fc21t dV9tYXN0ZXIgKm1hc3RlciwgaW50IHNzaWQsCj4gQEAgLTE0NjAsNyArMTQ1OCw2IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgYXJtX3NtbXVfZW50cnlfd3JpdGVyX29wcyBhcm1fc21tdV9zdGVfd3Jp dGVyX29wcyA9IHsKPiAgCS5zeW5jID0gYXJtX3NtbXVfc3RlX3dyaXRlcl9zeW5jX2VudHJ5LAo+ ICAJLmdldF91c2VkID0gYXJtX3NtbXVfZ2V0X3N0ZV91c2VkLAo+ICAJLnZfYml0ID0gY3B1X3Rv X2xlNjQoU1RSVEFCX1NURV8wX1YpLAo+IC0JLm51bV9lbnRyeV9xd29yZHMgPSBzaXplb2Yoc3Ry dWN0IGFybV9zbW11X3N0ZSkgLyBzaXplb2YodTY0KSwKPiAgfTsKPiAgCj4gIHN0YXRpYyB2b2lk IGFybV9zbW11X3dyaXRlX3N0ZShzdHJ1Y3QgYXJtX3NtbXVfbWFzdGVyICptYXN0ZXIsIHUzMiBz aWQsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1zbW11 LXYzLmggYi9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5oCj4gaW5k ZXggOGJhMDdiMDBiZjYwNTYuLjU5MzZkYzVmNzY3ODZhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv aW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYzLmgKPiArKysgYi9kcml2ZXJzL2lvbW11 L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5oCj4gQEAgLTc3OSw3ICs3NzksNiBAQCBzdHJ1 Y3QgYXJtX3NtbXVfZW50cnlfd3JpdGVyIHsKPiAgfTsKPiAgCj4gIHN0cnVjdCBhcm1fc21tdV9l bnRyeV93cml0ZXJfb3BzIHsKPiAtCXVuc2lnbmVkIGludCBudW1fZW50cnlfcXdvcmRzOwo+ICAJ X19sZTY0IHZfYml0Owo+ICAJdm9pZCAoKmdldF91c2VkKShjb25zdCBfX2xlNjQgKmVudHJ5LCBf X2xlNjQgKnVzZWQpOwo+ICAJdm9pZCAoKnN5bmMpKHN0cnVjdCBhcm1fc21tdV9lbnRyeV93cml0 ZXIgKndyaXRlcik7Cj4gCgpUaGFua3MsCk1vc3RhZmEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK