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 D7132C54E60 for ; Tue, 19 Mar 2024 13:32:20 +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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rRN16Y553igdWT97B3fj13mm8lzBYtky1bNZcNvXBTY=; b=JlKz/1zs6t82hc dc1r9LTFUV33wjzBxGkD5jPQCjO5+nz4ZKDOyDyw4TgTsl7mXtqmsY6Ny8hmRr5CYUpJbRbamUiwT l3B0Ga0lHkyTauGx9WuaNmyDXkq6fHr6ts5m2zYvo1f34J+i1/p1EUNAegt2Qc+TbhIiiH49pdXGk 3QTi6fLApPAZV040m4eZGw4d0q/MoH6g76386aoGSNISCo/u57YJTOpFwe7FfTIjxg7bUDb81bvb1 Hd6sNIdhaVoBWdK3myvlLZUOzZU5efP3A5vjxfi5okouwDU7pK5MLjeakv+NClzPaJbZFX/AL83ex V/ufPyhoK9ri3GfgxjIQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rmZZS-0000000CoJ7-2fCW; Tue, 19 Mar 2024 13:32:02 +0000 Received: from mail-qt1-x82f.google.com ([2607:f8b0:4864:20::82f]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rmZZP-0000000CoHB-0ZWm for linux-arm-kernel@lists.infradead.org; Tue, 19 Mar 2024 13:32:00 +0000 Received: by mail-qt1-x82f.google.com with SMTP id d75a77b69052e-430e1e06e75so365311cf.0 for ; Tue, 19 Mar 2024 06:31:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1710855116; x=1711459916; darn=lists.infradead.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=zCTNKcOemRKHIJbnQDVL6FBmnD6Nifk9uyED08/a8/o=; b=G/nAzRZcUJVyB+ST/DRAE/eogrFGDipDZcs6lO5HmbyWK5DzuhsMEOWFtI2gyFqS8p /ZTBZXaXlZIU7UQ3GbTJM2DycA0ABFy6I5ocJLigAVtUDoxoqsBGKOAcKzPRHNb+NG5N PFNdb9oPJRsaJFlcRJHzUVZoF/2ufWxGXjzhknP/z4W5gnKwLmy83CN3wZ9f4ELbxywA t1VZ46HBiOXGaGtC2GCoNEXgtF7WnumOBXeRW+rS1UzaaQPwf5igBWEbfh+CgyQeVXSS fgOAD7JRUVhuRkrSimNqtVZ1piu1XXSyr43jMc83SPM05igxbbgxfz0RU3vhjUCCZqYJ NP8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710855116; x=1711459916; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zCTNKcOemRKHIJbnQDVL6FBmnD6Nifk9uyED08/a8/o=; b=ppIAOJHL05KZim8BG4DLV3fnRyPy3EdlZ2z37aaqqFgihAEjLh85QSkgpYi19x582h 6aJ9s2KD+CnTHa/BCXL64XpQfTdyHQzVjeDs64BIZsqqMUFiz0/zZY6+B09Kz+LU++nR Vg26G6uKdZK59vLZf6lliTxo1/vTH+lW1/+Jj+Qlu94/hVzk9Jt4agX2E5o0dPtzMxdU nvz3uHjwyQDdhLrGKvXyLB4uhflTuMjdVOXLXIrC7DhVOrSdcQfFep1lfvvlb4OL+aWw Ai4RFUpXq2kTHBXHb7pkgBASJ8qYkq+zvi7nG+RMK8pe5oDBuITpq9/rH5AWmsEr7ls1 FVeA== X-Forwarded-Encrypted: i=1; AJvYcCXv0VeC3Jm/GBRdcINJMTgy0ZA1spGXFUq9BVVlLMp+v8xBVdr/HFD+cBTjBF7tZGpOzD8twfuNUJjLWtEnm0bh0Fc0amgQQ/SglnTLmjQRytLVSI0= X-Gm-Message-State: AOJu0YxkPDGq2GHU2GOpBEUKJMop8SLmvjmr/30hB4VcKV5U6uoryete 9ndgN4Mn91Otdm9Gd5Z4Bj0jaYXnkfY7cxb8bq21ntR076JB/h5rCYaw6NRatdhKxID43PODJ5Z lr/ti5NBPziNW0CNOSaGc7aR4wZPeDCe0rg97CBE+0oC92iFUdqDY X-Google-Smtp-Source: AGHT+IFDxCVQqhylUAnjRaojTSv9eGRLtRx8S0Uu7+luoQb+S355PpxqHLm/0B3umSOhUayv+yxGo1uVOPkDwFF+j3w= X-Received: by 2002:a05:622a:134f:b0:430:e9f8:6b03 with SMTP id w15-20020a05622a134f00b00430e9f86b03mr181310qtk.7.1710855115949; Tue, 19 Mar 2024 06:31:55 -0700 (PDT) MIME-Version: 1.0 References: <0-v5-9a37e0c884ce+31e3-smmuv3_newapi_p2_jgg@nvidia.com> <15-v5-9a37e0c884ce+31e3-smmuv3_newapi_p2_jgg@nvidia.com> In-Reply-To: <15-v5-9a37e0c884ce+31e3-smmuv3_newapi_p2_jgg@nvidia.com> From: Michael Shavit Date: Tue, 19 Mar 2024 21:31:17 +0800 Message-ID: Subject: Re: [PATCH v5 15/27] iommu/arm-smmu-v3: Add ssid to struct arm_smmu_master_domain 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 , Nicolin Chen , patches@lists.linux.dev, Shameerali Kolothum Thodi X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240319_063159_211297_47AE3A5C X-CRM114-Status: GOOD ( 26.72 ) 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 T24gVHVlLCBNYXIgNSwgMjAyNCBhdCA3OjQ04oCvQU0gSmFzb24gR3VudGhvcnBlIDxqZ2dAbnZp ZGlhLmNvbT4gd3JvdGU6Cj4KPiBQcmVwYXJlIHRvIGFsbG93IGEgUzEgZG9tYWluIHRvIGJlIGF0 dGFjaGVkIHRvIGEgUEFTSUQgYXMgd2VsbC4gS2VlcCB0cmFjawo+IG9mIHRoZSBTU0lEIHRoZSBk b21haW4gaXMgdXNpbmcgb24gZWFjaCBtYXN0ZXIgaW4gdGhlCj4gYXJtX3NtbXVfbWFzdGVyX2Rv bWFpbi4KPgo+IFRlc3RlZC1ieTogTmljb2xpbiBDaGVuIDxuaWNvbGluY0BudmlkaWEuY29tPgo+ IFNpZ25lZC1vZmYtYnk6IEphc29uIEd1bnRob3JwZSA8amdnQG52aWRpYS5jb20+Cj4gLS0tCj4g IC4uLi9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJtLXNtbXUtdjMtc3ZhLmMgICB8IDE1ICsrKyst LS0KPiAgZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJtLXNtbXUtdjMuYyAgIHwgNDIg KysrKysrKysrKysrKysrLS0tLQo+ICBkcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12My9hcm0t c21tdS12My5oICAgfCAgNSArKy0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCsp LCAxOSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11L2FybS9hcm0t c21tdS12My9hcm0tc21tdS12My1zdmEuYyBiL2RyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11LXYz L2FybS1zbW11LXYzLXN2YS5jCj4gaW5kZXggOWEyODViODI4ZThiMTIuLmFiOWRlOGUzNmM0NWY1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYz LXN2YS5jCj4gKysrIGIvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJtLXNtbXUtdjMt c3ZhLmMKPiBAQCAtNDcsMTMgKzQ3LDEyIEBAIGFybV9zbW11X3VwZGF0ZV9zMV9kb21haW5fY2Rf ZW50cnkoc3RydWN0IGFybV9zbW11X2RvbWFpbiAqc21tdV9kb21haW4pCj4gICAgICAgICAgICAg ICAgIHN0cnVjdCBhcm1fc21tdV9tYXN0ZXIgKm1hc3RlciA9IG1hc3Rlcl9kb21haW4tPm1hc3Rl cjsKPiAgICAgICAgICAgICAgICAgc3RydWN0IGFybV9zbW11X2NkICpjZHB0cjsKPgo+IC0gICAg ICAgICAgICAgICAvKiBTMSBkb21haW5zIG9ubHkgc3VwcG9ydCBSSUQgYXR0YWNobWVudCByaWdo dCBub3cgKi8KPiAtICAgICAgICAgICAgICAgY2RwdHIgPSBhcm1fc21tdV9nZXRfY2RfcHRyKG1h c3RlciwgSU9NTVVfTk9fUEFTSUQpOwo+ICsgICAgICAgICAgICAgICBjZHB0ciA9IGFybV9zbW11 X2dldF9jZF9wdHIobWFzdGVyLCBtYXN0ZXJfZG9tYWluLT5zc2lkKTsKPiAgICAgICAgICAgICAg ICAgaWYgKFdBUk5fT04oIWNkcHRyKSkKPiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51 ZTsKPgo+ICAgICAgICAgICAgICAgICBhcm1fc21tdV9tYWtlX3MxX2NkKCZ0YXJnZXRfY2QsIG1h c3Rlciwgc21tdV9kb21haW4pOwo+IC0gICAgICAgICAgICAgICBhcm1fc21tdV93cml0ZV9jZF9l bnRyeShtYXN0ZXIsIElPTU1VX05PX1BBU0lELCBjZHB0ciwKPiArICAgICAgICAgICAgICAgYXJt X3NtbXVfd3JpdGVfY2RfZW50cnkobWFzdGVyLCBtYXN0ZXJfZG9tYWluLT5zc2lkLCBjZHB0ciwK PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRhcmdldF9jZCk7Cj4g ICAgICAgICB9Cj4gICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzbW11X2RvbWFpbi0+ ZGV2aWNlc19sb2NrLCBmbGFncyk7Cj4gQEAgLTI5Myw4ICsyOTIsOCBAQCBzdGF0aWMgdm9pZCBh cm1fc21tdV9tbV9hcmNoX2ludmFsaWRhdGVfc2Vjb25kYXJ5X3RsYnMoc3RydWN0IG1tdV9ub3Rp ZmllciAqbW4sCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNtbXVfZG9tYWluKTsKPiAgICAgICAgIH0KPgo+IC0gICAgICAgYXJtX3NtbXVfYXRj X2ludl9kb21haW4oc21tdV9kb21haW4sIG1tX2dldF9lbnFjbWRfcGFzaWQobW0pLCBzdGFydCwK PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUpOwo+ICsgICAgICAgYXJtX3Nt bXVfYXRjX2ludl9kb21haW5fc3ZhKHNtbXVfZG9tYWluLCBtbV9nZXRfZW5xY21kX3Bhc2lkKG1t KSwgc3RhcnQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSk7Cj4g IH0KPgo+ICBzdGF0aWMgdm9pZCBhcm1fc21tdV9tbV9yZWxlYXNlKHN0cnVjdCBtbXVfbm90aWZp ZXIgKm1uLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSkKPiBAQCAtMzMxLDcgKzMzMCw3IEBAIHN0YXRp YyB2b2lkIGFybV9zbW11X21tX3JlbGVhc2Uoc3RydWN0IG1tdV9ub3RpZmllciAqbW4sIHN0cnVj dCBtbV9zdHJ1Y3QgKm1tKQo+ICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc21tdV9k b21haW4tPmRldmljZXNfbG9jaywgZmxhZ3MpOwo+Cj4gICAgICAgICBhcm1fc21tdV90bGJfaW52 X2FzaWQoc21tdV9kb21haW4tPnNtbXUsIHNtbXVfbW4tPmNkLT5hc2lkKTsKPiAtICAgICAgIGFy bV9zbW11X2F0Y19pbnZfZG9tYWluKHNtbXVfZG9tYWluLCBtbV9nZXRfZW5xY21kX3Bhc2lkKG1t KSwgMCwgMCk7Cj4gKyAgICAgICBhcm1fc21tdV9hdGNfaW52X2RvbWFpbl9zdmEoc21tdV9kb21h aW4sIG1tX2dldF9lbnFjbWRfcGFzaWQobW0pLCAwLCAwKTsKPgo+ICAgICAgICAgc21tdV9tbi0+ Y2xlYXJlZCA9IHRydWU7Cj4gICAgICAgICBtdXRleF91bmxvY2soJnN2YV9sb2NrKTsKPiBAQCAt NDEwLDggKzQwOSw4IEBAIHN0YXRpYyB2b2lkIGFybV9zbW11X21tdV9ub3RpZmllcl9wdXQoc3Ry dWN0IGFybV9zbW11X21tdV9ub3RpZmllciAqc21tdV9tbikKPiAgICAgICAgICAqLwo+ICAgICAg ICAgaWYgKCFzbW11X21uLT5jbGVhcmVkKSB7Cj4gICAgICAgICAgICAgICAgIGFybV9zbW11X3Rs Yl9pbnZfYXNpZChzbW11X2RvbWFpbi0+c21tdSwgY2QtPmFzaWQpOwo+IC0gICAgICAgICAgICAg ICBhcm1fc21tdV9hdGNfaW52X2RvbWFpbihzbW11X2RvbWFpbiwgbW1fZ2V0X2VucWNtZF9wYXNp ZChtbSksIDAsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOwo+ ICsgICAgICAgICAgICAgICBhcm1fc21tdV9hdGNfaW52X2RvbWFpbl9zdmEoc21tdV9kb21haW4s Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtbV9nZXRfZW5x Y21kX3Bhc2lkKG1tKSwgMCwgMCk7Cj4gICAgICAgICB9Cj4KPiAgICAgICAgIC8qIEZyZWVzIHNt bXVfbW4gKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJt LXNtbXUtdjMuYyBiL2RyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYzLmMK PiBpbmRleCA0NWYyMTkwZmMzMTc4Ni4uMjZjNmI5ZjZmMzRmZDMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJtLXNtbXUtdjMuYwo+ICsrKyBiL2RyaXZlcnMv aW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYzLmMKPiBAQCAtMjAzMCw4ICsyMDMwLDgg QEAgc3RhdGljIGludCBhcm1fc21tdV9hdGNfaW52X21hc3RlcihzdHJ1Y3QgYXJtX3NtbXVfbWFz dGVyICptYXN0ZXIpCj4gICAgICAgICByZXR1cm4gYXJtX3NtbXVfY21kcV9iYXRjaF9zdWJtaXQo bWFzdGVyLT5zbW11LCAmY21kcyk7Cj4gIH0KPgo+IC1pbnQgYXJtX3NtbXVfYXRjX2ludl9kb21h aW4oc3RydWN0IGFybV9zbW11X2RvbWFpbiAqc21tdV9kb21haW4sIGludCBzc2lkLAo+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGlvdmEsIHNpemVfdCBzaXplKQo+ ICtzdGF0aWMgaW50IF9fYXJtX3NtbXVfYXRjX2ludl9kb21haW4oc3RydWN0IGFybV9zbW11X2Rv bWFpbiAqc21tdV9kb21haW4sCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlvYXNpZF90IHNzaWQsIHVuc2lnbmVkIGxvbmcgaW92YSwgc2l6ZV90IHNpemUpCj4gIHsKPiAg ICAgICAgIHN0cnVjdCBhcm1fc21tdV9tYXN0ZXJfZG9tYWluICptYXN0ZXJfZG9tYWluOwo+ICAg ICAgICAgaW50IGk7Cj4gQEAgLTIwNTksOCArMjA1OSw2IEBAIGludCBhcm1fc21tdV9hdGNfaW52 X2RvbWFpbihzdHJ1Y3QgYXJtX3NtbXVfZG9tYWluICpzbW11X2RvbWFpbiwgaW50IHNzaWQsCj4g ICAgICAgICBpZiAoIWF0b21pY19yZWFkKCZzbW11X2RvbWFpbi0+bnJfYXRzX21hc3RlcnMpKQo+ ICAgICAgICAgICAgICAgICByZXR1cm4gMDsKPgo+IC0gICAgICAgYXJtX3NtbXVfYXRjX2ludl90 b19jbWQoc3NpZCwgaW92YSwgc2l6ZSwgJmNtZCk7Cj4gLQo+ICAgICAgICAgY21kcy5udW0gPSAw Owo+Cj4gICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmc21tdV9kb21haW4tPmRldmljZXNfbG9j aywgZmxhZ3MpOwo+IEBAIC0yMDcxLDYgKzIwNjksMTYgQEAgaW50IGFybV9zbW11X2F0Y19pbnZf ZG9tYWluKHN0cnVjdCBhcm1fc21tdV9kb21haW4gKnNtbXVfZG9tYWluLCBpbnQgc3NpZCwKPiAg ICAgICAgICAgICAgICAgaWYgKCFtYXN0ZXItPmF0c19lbmFibGVkKQo+ICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRpbnVlOwo+Cj4gKyAgICAgICAgICAgICAgIC8qCj4gKyAgICAgICAgICAg ICAgICAqIE5vbi16ZXJvIHNzaWQgbWVhbnMgU1ZBIGlzIGNvLW9wdGluZyB0aGUgUzEgZG9tYWlu IHRvIGlzc3VlCj4gKyAgICAgICAgICAgICAgICAqIGludmFsaWRhdGlvbnMgZm9yIFNWQSBQQVNJ RHMuCj4gKyAgICAgICAgICAgICAgICAqLwo+ICsgICAgICAgICAgICAgICBpZiAoc3NpZCAhPSBJ T01NVV9OT19QQVNJRCkKPiArICAgICAgICAgICAgICAgICAgICAgICBhcm1fc21tdV9hdGNfaW52 X3RvX2NtZChzc2lkLCBpb3ZhLCBzaXplLCAmY21kKTsKPiArICAgICAgICAgICAgICAgZWxzZQo+ ICsgICAgICAgICAgICAgICAgICAgICAgIGFybV9zbW11X2F0Y19pbnZfdG9fY21kKG1hc3Rlcl9k b21haW4tPnNzaWQsIGlvdmEsIHNpemUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmNtZCk7Cj4gKwo+ICAgICAgICAgICAgICAgICBmb3IgKGkgPSAw OyBpIDwgbWFzdGVyLT5udW1fc3RyZWFtczsgaSsrKSB7Cj4gICAgICAgICAgICAgICAgICAgICAg ICAgY21kLmF0Yy5zaWQgPSBtYXN0ZXItPnN0cmVhbXNbaV0uaWQ7Cj4gICAgICAgICAgICAgICAg ICAgICAgICAgYXJtX3NtbXVfY21kcV9iYXRjaF9hZGQoc21tdV9kb21haW4tPnNtbXUsICZjbWRz LCAmY21kKTsKPiBAQCAtMjA4MSw2ICsyMDg5LDE5IEBAIGludCBhcm1fc21tdV9hdGNfaW52X2Rv bWFpbihzdHJ1Y3QgYXJtX3NtbXVfZG9tYWluICpzbW11X2RvbWFpbiwgaW50IHNzaWQsCj4gICAg ICAgICByZXR1cm4gYXJtX3NtbXVfY21kcV9iYXRjaF9zdWJtaXQoc21tdV9kb21haW4tPnNtbXUs ICZjbWRzKTsKPiAgfQo+Cj4gK3N0YXRpYyBpbnQgYXJtX3NtbXVfYXRjX2ludl9kb21haW4oc3Ry dWN0IGFybV9zbW11X2RvbWFpbiAqc21tdV9kb21haW4sCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGlvdmEsIHNpemVfdCBzaXplKQo+ICt7Cj4gKyAg ICAgICByZXR1cm4gX19hcm1fc21tdV9hdGNfaW52X2RvbWFpbihzbW11X2RvbWFpbiwgSU9NTVVf Tk9fUEFTSUQsIGlvdmEsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplKTsKPiArfQo+ICsKPiAraW50IGFybV9zbW11X2F0Y19pbnZfZG9tYWluX3N2YShzdHJ1 Y3QgYXJtX3NtbXVfZG9tYWluICpzbW11X2RvbWFpbiwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlvYXNpZF90IHNzaWQsIHVuc2lnbmVkIGxvbmcgaW92YSwgc2l6ZV90IHNpemUp Cj4gK3sKPiArICAgICAgIHJldHVybiBfX2FybV9zbW11X2F0Y19pbnZfZG9tYWluKHNtbXVfZG9t YWluLCBzc2lkLCBpb3ZhLCBzaXplKTsKPiArfQo+ICsKPiAgLyogSU9fUEdUQUJMRSBBUEkgKi8K PiAgc3RhdGljIHZvaWQgYXJtX3NtbXVfdGxiX2ludl9jb250ZXh0KHZvaWQgKmNvb2tpZSkKPiAg ewo+IEBAIC0yMTAyLDcgKzIxMjMsNyBAQCBzdGF0aWMgdm9pZCBhcm1fc21tdV90bGJfaW52X2Nv bnRleHQodm9pZCAqY29va2llKQo+ICAgICAgICAgICAgICAgICBjbWQudGxiaS52bWlkICAgPSBz bW11X2RvbWFpbi0+czJfY2ZnLnZtaWQ7Cj4gICAgICAgICAgICAgICAgIGFybV9zbW11X2NtZHFf aXNzdWVfY21kX3dpdGhfc3luYyhzbW11LCAmY21kKTsKPiAgICAgICAgIH0KPiAtICAgICAgIGFy bV9zbW11X2F0Y19pbnZfZG9tYWluKHNtbXVfZG9tYWluLCBJT01NVV9OT19QQVNJRCwgMCwgMCk7 Cj4gKyAgICAgICBhcm1fc21tdV9hdGNfaW52X2RvbWFpbihzbW11X2RvbWFpbiwgMCwgMCk7Cj4g IH0KPgo+ICBzdGF0aWMgdm9pZCBfX2FybV9zbW11X3RsYl9pbnZfcmFuZ2Uoc3RydWN0IGFybV9z bW11X2NtZHFfZW50ICpjbWQsCj4gQEAgLTIyMDAsNyArMjIyMSw3IEBAIHN0YXRpYyB2b2lkIGFy bV9zbW11X3RsYl9pbnZfcmFuZ2VfZG9tYWluKHVuc2lnbmVkIGxvbmcgaW92YSwgc2l6ZV90IHNp emUsCj4gICAgICAgICAgKiBVbmZvcnR1bmF0ZWx5LCB0aGlzIGNhbid0IGJlIGxlYWYtb25seSBz aW5jZSB3ZSBtYXkgaGF2ZQo+ICAgICAgICAgICogemFwcGVkIGFuIGVudGlyZSB0YWJsZS4KPiAg ICAgICAgICAqLwo+IC0gICAgICAgYXJtX3NtbXVfYXRjX2ludl9kb21haW4oc21tdV9kb21haW4s IElPTU1VX05PX1BBU0lELCBpb3ZhLCBzaXplKTsKPiArICAgICAgIGFybV9zbW11X2F0Y19pbnZf ZG9tYWluKHNtbXVfZG9tYWluLCBpb3ZhLCBzaXplKTsKPiAgfQo+Cj4gIHZvaWQgYXJtX3NtbXVf dGxiX2ludl9yYW5nZV9hc2lkKHVuc2lnbmVkIGxvbmcgaW92YSwgc2l6ZV90IHNpemUsIGludCBh c2lkLAo+IEBAIC0yNTM5LDcgKzI1NjAsOCBAQCBzdGF0aWMgdm9pZCBhcm1fc21tdV9kaXNhYmxl X3Bhc2lkKHN0cnVjdCBhcm1fc21tdV9tYXN0ZXIgKm1hc3RlcikKPgo+ICBzdGF0aWMgc3RydWN0 IGFybV9zbW11X21hc3Rlcl9kb21haW4gKgo+ICBhcm1fc21tdV9maW5kX21hc3Rlcl9kb21haW4o c3RydWN0IGFybV9zbW11X2RvbWFpbiAqc21tdV9kb21haW4sCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBhcm1fc21tdV9tYXN0ZXIgKm1hc3RlcikKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGFybV9zbW11X21hc3RlciAqbWFzdGVyLAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICBpb2FzaWRfdCBzc2lkKQo+ICB7Cj4gICAgICAgICBzdHJ1Y3Qg YXJtX3NtbXVfbWFzdGVyX2RvbWFpbiAqbWFzdGVyX2RvbWFpbjsKPgo+IEBAIC0yNTQ3LDcgKzI1 NjksOCBAQCBhcm1fc21tdV9maW5kX21hc3Rlcl9kb21haW4oc3RydWN0IGFybV9zbW11X2RvbWFp biAqc21tdV9kb21haW4sCj4KPiAgICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkobWFzdGVyX2Rv bWFpbiwgJnNtbXVfZG9tYWluLT5kZXZpY2VzLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkZXZpY2VzX2VsbSkgewo+IC0gICAgICAgICAgICAgICBpZiAobWFzdGVyX2RvbWFpbi0+bWFz dGVyID09IG1hc3RlcikKPiArICAgICAgICAgICAgICAgaWYgKG1hc3Rlcl9kb21haW4tPm1hc3Rl ciA9PSBtYXN0ZXIgJiYKPiArICAgICAgICAgICAgICAgICAgIG1hc3Rlcl9kb21haW4tPnNzaWQg PT0gc3NpZCkKPiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFzdGVyX2RvbWFpbjsK PiAgICAgICAgIH0KPiAgICAgICAgIHJldHVybiBOVUxMOwo+IEBAIC0yNTgwLDcgKzI2MDMsOCBA QCBzdGF0aWMgdm9pZCBhcm1fc21tdV9yZW1vdmVfbWFzdGVyX2RvbWFpbihzdHJ1Y3QgYXJtX3Nt bXVfbWFzdGVyICptYXN0ZXIsCj4gICAgICAgICAgICAgICAgIHJldHVybjsKPgo+ICAgICAgICAg c3Bpbl9sb2NrX2lycXNhdmUoJnNtbXVfZG9tYWluLT5kZXZpY2VzX2xvY2ssIGZsYWdzKTsKPiAt ICAgICAgIG1hc3Rlcl9kb21haW4gPSBhcm1fc21tdV9maW5kX21hc3Rlcl9kb21haW4oc21tdV9k b21haW4sIG1hc3Rlcik7Cj4gKyAgICAgICBtYXN0ZXJfZG9tYWluID0gYXJtX3NtbXVfZmluZF9t YXN0ZXJfZG9tYWluKHNtbXVfZG9tYWluLCBtYXN0ZXIsCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX05PX1BBU0lEKTsKPiAgICAgICAg IGlmIChtYXN0ZXJfZG9tYWluKSB7Cj4gICAgICAgICAgICAgICAgIGxpc3RfZGVsKCZtYXN0ZXJf ZG9tYWluLT5kZXZpY2VzX2VsbSk7Cj4gICAgICAgICAgICAgICAgIGtmcmVlKG1hc3Rlcl9kb21h aW4pOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21t dS12My5oIGIvZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJtLXNtbXUtdjMuaAo+IGlu ZGV4IGM0Yjc5YmM1Mjk5MWJlLi45OGRjNTg4NWM0ODY1NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5oCj4gKysrIGIvZHJpdmVycy9pb21t dS9hcm0vYXJtLXNtbXUtdjMvYXJtLXNtbXUtdjMuaAo+IEBAIC03MzgsNiArNzM4LDcgQEAgc3Ry dWN0IGFybV9zbW11X2RvbWFpbiB7Cj4gIHN0cnVjdCBhcm1fc21tdV9tYXN0ZXJfZG9tYWluIHsK PiAgICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgZGV2aWNlc19lbG07Cj4gICAgICAgICBzdHJ1Y3Qg YXJtX3NtbXVfbWFzdGVyICptYXN0ZXI7Cj4gKyAgICAgICB1MTYgc3NpZDsKPiAgfTsKClNNTVVf SURSMS5TU0lEU0laRSBtYXkgYmUgdXAgdG8gMjAgYWNjb3JkaW5nIHRvIHRoZSBzcGVjLiBUaGUg dmFsdWUKcmVhZCBmcm9tIHRoaXMgcmVnaXN0ZXIgaXMgdXNlZCB0byBwb3B1bGF0ZSBpb21tdS5t YXhfcGFzaWRzIGFzIHdlbGwKYXMgdG8gY29tcHV0ZSB0aGUgc21tdS9tYXN0ZXIgc3NpZF9iaXRz IGZpZWxkcyBzbyB1MTYgaXMgaW5zdWZmaWNpZW50CmhlcmUuCgo+Cj4gIHN0YXRpYyBpbmxpbmUg c3RydWN0IGFybV9zbW11X2RvbWFpbiAqdG9fc21tdV9kb21haW4oc3RydWN0IGlvbW11X2RvbWFp biAqZG9tKQo+IEBAIC03NjksOCArNzcwLDggQEAgdm9pZCBhcm1fc21tdV90bGJfaW52X3Jhbmdl X2FzaWQodW5zaWduZWQgbG9uZyBpb3ZhLCBzaXplX3Qgc2l6ZSwgaW50IGFzaWQsCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGdyYW51bGUsIGJvb2wgbGVhZiwKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYXJtX3NtbXVfZG9tYWluICpz bW11X2RvbWFpbik7Cj4gIGJvb2wgYXJtX3NtbXVfZnJlZV9hc2lkKHN0cnVjdCBhcm1fc21tdV9j dHhfZGVzYyAqY2QpOwo+IC1pbnQgYXJtX3NtbXVfYXRjX2ludl9kb21haW4oc3RydWN0IGFybV9z bW11X2RvbWFpbiAqc21tdV9kb21haW4sIGludCBzc2lkLAo+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBsb25nIGlvdmEsIHNpemVfdCBzaXplKTsKPiAraW50IGFybV9zbW11 X2F0Y19pbnZfZG9tYWluX3N2YShzdHJ1Y3QgYXJtX3NtbXVfZG9tYWluICpzbW11X2RvbWFpbiwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvYXNpZF90IHNzaWQsIHVuc2lnbmVk IGxvbmcgaW92YSwgc2l6ZV90IHNpemUpOwo+Cj4gICNpZmRlZiBDT05GSUdfQVJNX1NNTVVfVjNf U1ZBCj4gIGJvb2wgYXJtX3NtbXVfc3ZhX3N1cHBvcnRlZChzdHJ1Y3QgYXJtX3NtbXVfZGV2aWNl ICpzbW11KTsKPiAtLQo+IDIuNDMuMgo+CgpBcGFydCBmcm9tIHNzaWQgc2l6ZSBpc3N1ZQpSZXZp ZXdlZC1ieTogTWljaGFlbCBTaGF2aXQgPG1zaGF2aXRAZ29vZ2xlLmNvbT4KCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFp bGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK