Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp5443850rwd; Wed, 24 May 2023 01:41:02 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5/X7TVcTGgaYjYhA6R0OAxQ9F2Y+lyWMo/x/6C9NT39CAidzmh8jmHCom3S59MLXr/VfP8 X-Received: by 2002:a17:902:e889:b0:1a5:2993:8aa6 with SMTP id w9-20020a170902e88900b001a529938aa6mr19468729plg.63.1684917662135; Wed, 24 May 2023 01:41:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684917662; cv=none; d=google.com; s=arc-20160816; b=iO1S/XJ5vYBrEdqE9wpz7i3EW1pOKjjXUUZZCN5YJUS70woON3t8ix8iTUA7ImOH2a yYwjdCfvUZgjeaaDpzyvz/i2cWoebkTXU6R+dL2uKJHBzruqUFso4X9nily9hMiqdMOC NMHN8yhQ4TWlleG7SosL0AY1LGBUtwBo9njhxL6mFLyvozIQpFqPqXcEbwJRjE3GHu1l hkNmgYtYuXEuVaES+Suh7M6wX4o6HJZgTO4g1X6tgBfmYZz+4Tp4leVpKgjYns7inaeZ Inql2OyMVdU7BXQfBnyjwYEsyQjE7gZNSct9xJC1pycwV3fRJ4hdVhgPnrdcE4KhGS9G Lo5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=htB6cCnFK3gzZGTZ8M7qNcCQ2Wriy8hXkM0cfyK59YM=; b=iQGwLqDNgKE/+nEhQaY9qkahwf9PZwhZoNhR0jSt2LRCY5OSMpq9ViWb2r/zdQscGV GGEJ/NpGFHiZTAKPni13MN0uvqc3uDHHiFKd6Ie5Mx6NGmdSQUAXXCTaAQPfHFgpIB62 1qsjBmRT67e5OPEzw9dY2eOXpSKXtn7dXL8ezQo9KkVB9/zDEQdcqZS7bk8H2GdApJDd +B4UIqm7mLWORB69NFSWVNX7JPL/CUJBRzWVcrtUOcE9cHiJ8dIXeEjrjbyJvpYUXe8s NTGMPzbgLY7dlvQalezzpuZNt4g3/x9I59S3eZj0B5RpSxZWN29nA2/ryDy9357ssjap VnQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=uuQnprOu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s10-20020a170902ea0a00b001a6e1b073cdsi1322019plg.639.2023.05.24.01.40.47; Wed, 24 May 2023 01:41:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=uuQnprOu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240126AbjEXI2D (ORCPT + 99 others); Wed, 24 May 2023 04:28:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39884 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240118AbjEXI2C (ORCPT ); Wed, 24 May 2023 04:28:02 -0400 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A32112B; Wed, 24 May 2023 01:28:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1684916880; x=1716452880; h=message-id:subject:from:to:cc:date:in-reply-to: references:content-transfer-encoding:mime-version; bh=htB6cCnFK3gzZGTZ8M7qNcCQ2Wriy8hXkM0cfyK59YM=; b=uuQnprOu+vmP2AGwFbfEWAR5oWBk8BP6GIRiY1vVbPxKHrWHfKrnI6s7 1ZyjNyoocVARIkBYhwVqtCQv3mBwJFvpnzElhaDU4PFORExJOpgltepn0 jCKhN+DFXGSKAEtqflkQ1/75GDjvxmOXy6Nmo81ScaGNmim3oqPSDiz8Q zQzlLWRxabqiStER1EOyLqAIqJw5SJ4A47X3H/NvT+aeGnOgI4ZE9nfjM h1iqsmwhEfazOD9clOYeD6LeHjbDpASQkhyuRigkPzKSDz6r6B/EjHNyt kO63ymmh5pxPvEXW+Va6GK1/DG8v1DCrGus78jSZlXSkMvXf9Llx3eIn6 g==; X-IronPort-AV: E=Sophos;i="6.00,188,1681196400"; d="scan'208";a="212802497" X-Amp-Result: SKIPPED(no attachment in message) Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 24 May 2023 01:27:59 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Wed, 24 May 2023 01:27:58 -0700 Received: from den-dk-m31857.microchip.com (10.10.115.15) by chn-vm-ex01.mchp-main.com (10.10.85.143) with Microsoft SMTP Server id 15.1.2507.21 via Frontend Transport; Wed, 24 May 2023 01:27:55 -0700 Message-ID: <7758d9f3ed40d154c27519b19248127e9d5b7575.camel@microchip.com> Subject: Re: [PATCH] hv_netvsc: Allocate rx indirection table size dynamically From: Steen Hegelund To: Shradha Gupta , , , CC: Eric Dumazet , Jakub Kicinski , Paolo Abeni , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Long Li , "Michael Kelley" , "David S. Miller" Date: Wed, 24 May 2023 10:27:55 +0200 In-Reply-To: <1684907844-23224-1-git-send-email-shradhagupta@linux.microsoft.com> References: <1684907844-23224-1-git-send-email-shradhagupta@linux.microsoft.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.48.1 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgU2hyYWRoYSwKCk9uIFR1ZSwgMjAyMy0wNS0yMyBhdCAyMjo1NyAtMDcwMCwgU2hyYWRoYSBH dXB0YSB3cm90ZToKPiBbWW91IGRvbid0IG9mdGVuIGdldCBlbWFpbCBmcm9tIHNocmFkaGFndXB0 YUBsaW51eC5taWNyb3NvZnQuY29tLiBMZWFybiB3aHkKPiB0aGlzIGlzIGltcG9ydGFudCBhdCBo dHRwczovL2FrYS5tcy9MZWFybkFib3V0U2VuZGVySWRlbnRpZmljYXRpb27CoF0KPiAKPiBFWFRF Uk5BTCBFTUFJTDogRG8gbm90IGNsaWNrIGxpbmtzIG9yIG9wZW4gYXR0YWNobWVudHMgdW5sZXNz IHlvdSBrbm93IHRoZQo+IGNvbnRlbnQgaXMgc2FmZQo+IAo+IEFsbG9jYXRlIHRoZSBzaXplIG9m IHJ4IGluZGlyZWN0aW9uIHRhYmxlIGR5bmFtaWNhbGx5IGluIG5ldHZzYwo+IGZyb20gdGhlIHZh bHVlIG9mIHNpemUgcHJvdmlkZWQgYnkgT0lEX0dFTl9SRUNFSVZFX1NDQUxFX0NBUEFCSUxJVElF Uwo+IHF1ZXJ5IGluc3RlYWQgb2YgdXNpbmcgYSBjb25zdGFudCB2YWx1ZSBvZiBJVEFCX05VTS4K PiAKPiBTaWduZWQtb2ZmLWJ5OiBTaHJhZGhhIEd1cHRhIDxzaHJhZGhhZ3VwdGFAbGludXgubWlj cm9zb2Z0LmNvbT4KPiAtLS0KPiDCoGRyaXZlcnMvbmV0L2h5cGVydi9oeXBlcnZfbmV0LmjCoMKg IHzCoCA1ICsrKystCj4gwqBkcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjX2Rydi5jwqDCoCB8IDEx ICsrKysrKystLS0tCj4gwqBkcml2ZXJzL25ldC9oeXBlcnYvcm5kaXNfZmlsdGVyLmMgfCAyMyAr KysrKysrKysrKysrKysrKysrLS0tLQo+IMKgMyBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25z KCspLCA5IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9oeXBlcnYv aHlwZXJ2X25ldC5oIGIvZHJpdmVycy9uZXQvaHlwZXJ2L2h5cGVydl9uZXQuaAo+IGluZGV4IGRk NTkxOWVjNDA4Yi4uMWRiZGI2NWNhOGYwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0L2h5cGVy di9oeXBlcnZfbmV0LmgKPiArKysgYi9kcml2ZXJzL25ldC9oeXBlcnYvaHlwZXJ2X25ldC5oCj4g QEAgLTc0LDYgKzc0LDcgQEAgc3RydWN0IG5kaXNfcmVjdl9zY2FsZV9jYXAgeyAvKgo+IE5ESVNf UkVDRUlWRV9TQ0FMRV9DQVBBQklMSVRJRVMgKi8KPiDCoCNkZWZpbmUgTkRJU19SU1NfSEFTSF9T RUNSRVRfS0VZX01BWF9TSVpFX1JFVklTSU9OXzLCoMKgIDQwCj4gCj4gwqAjZGVmaW5lIElUQUJf TlVNIDEyOAo+ICsjZGVmaW5lIElUQUJfTlVNX01BWCAyNTYKPiAKPiDCoHN0cnVjdCBuZGlzX3Jl Y3Zfc2NhbGVfcGFyYW0geyAvKiBORElTX1JFQ0VJVkVfU0NBTEVfUEFSQU1FVEVSUyAqLwo+IMKg wqDCoMKgwqDCoMKgIHN0cnVjdCBuZGlzX29ial9oZWFkZXIgaGRyOwo+IEBAIC0xMDM0LDcgKzEw MzUsOSBAQCBzdHJ1Y3QgbmV0X2RldmljZV9jb250ZXh0IHsKPiAKPiDCoMKgwqDCoMKgwqDCoCB1 MzIgdHhfdGFibGVbVlJTU19TRU5EX1RBQl9TSVpFXTsKPiAKPiAtwqDCoMKgwqDCoMKgIHUxNiBy eF90YWJsZVtJVEFCX05VTV07Cj4gK8KgwqDCoMKgwqDCoCB1MTYgKnJ4X3RhYmxlOwo+ICsKPiAr wqDCoMKgwqDCoMKgIGludCByeF90YWJsZV9zejsKPiAKPiDCoMKgwqDCoMKgwqDCoCAvKiBFdGh0 b29sIHNldHRpbmdzICovCj4gwqDCoMKgwqDCoMKgwqAgdTggZHVwbGV4Owo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjX2Rydi5jIGIvZHJpdmVycy9uZXQvaHlwZXJ2L25l dHZzY19kcnYuYwo+IGluZGV4IDAxMDNmZjkxNDAyNC4uNWI4YTdkNWY5YTE1IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2NfZHJ2LmMKPiArKysgYi9kcml2ZXJzL25ldC9o eXBlcnYvbmV0dnNjX2Rydi5jCj4gQEAgLTE3NDcsNyArMTc0Nyw5IEBAIHN0YXRpYyB1MzIgbmV0 dnNjX2dldF9yeGZoX2tleV9zaXplKHN0cnVjdCBuZXRfZGV2aWNlCj4gKmRldikKPiAKPiDCoHN0 YXRpYyB1MzIgbmV0dnNjX3Jzc19pbmRpcl9zaXplKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCj4g wqB7Cj4gLcKgwqDCoMKgwqDCoCByZXR1cm4gSVRBQl9OVU07Cj4gK8KgwqDCoMKgwqDCoCBzdHJ1 Y3QgbmV0X2RldmljZV9jb250ZXh0ICpuZGMgPSBuZXRkZXZfcHJpdihkZXYpOwo+ICsKPiArwqDC oMKgwqDCoMKgIHJldHVybiBuZGMtPnJ4X3RhYmxlX3N6Owo+IMKgfQo+IAo+IMKgc3RhdGljIGlu dCBuZXR2c2NfZ2V0X3J4Zmgoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyICppbmRpciwgdTgg KmtleSwKPiBAQCAtMTc2Niw3ICsxNzY4LDcgQEAgc3RhdGljIGludCBuZXR2c2NfZ2V0X3J4Zmgo c3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyCj4gKmluZGlyLCB1OCAqa2V5LAo+IAo+IMKgwqDC oMKgwqDCoMKgIHJuZGlzX2RldiA9IG5kZXYtPmV4dGVuc2lvbjsKPiDCoMKgwqDCoMKgwqDCoCBp ZiAoaW5kaXIpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmb3IgKGkgPSAwOyBp IDwgSVRBQl9OVU07IGkrKykKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmb3IgKGkg PSAwOyBpIDwgbmRjLT5yeF90YWJsZV9zejsgaSsrKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW5kaXJbaV0gPSBuZGMtPnJ4X3RhYmxlW2ldOwo+IMKg wqDCoMKgwqDCoMKgIH0KPiAKPiBAQCAtMTc5MiwxMSArMTc5NCwxMSBAQCBzdGF0aWMgaW50IG5l dHZzY19zZXRfcnhmaChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAo+IGNvbnN0IHUzMiAqaW5kaXIs Cj4gCj4gwqDCoMKgwqDCoMKgwqAgcm5kaXNfZGV2ID0gbmRldi0+ZXh0ZW5zaW9uOwo+IMKgwqDC oMKgwqDCoMKgIGlmIChpbmRpcikgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZv ciAoaSA9IDA7IGkgPCBJVEFCX05VTTsgaSsrKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGZvciAoaSA9IDA7IGkgPCBuZGMtPnJ4X3RhYmxlX3N6OyBpKyspCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoaW5kaXJbaV0gPj0gbmRldi0+ bnVtX2NobikKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVJTlZBTDsKPiAKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBmb3IgKGkgPSAwOyBpIDwgSVRBQl9OVU07IGkrKykKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBmb3IgKGkgPSAwOyBpIDwgbmRjLT5yeF90YWJsZV9zejsgaSsrKQo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmRjLT5yeF90 YWJsZVtpXSA9IGluZGlyW2ldOwo+IMKgwqDCoMKgwqDCoMKgIH0KPiAKPiBAQCAtMjYzOCw2ICsy NjQwLDcgQEAgc3RhdGljIHZvaWQgbmV0dnNjX3JlbW92ZShzdHJ1Y3QgaHZfZGV2aWNlICpkZXYp Cj4gCj4gwqDCoMKgwqDCoMKgwqAgaHZfc2V0X2RydmRhdGEoZGV2LCBOVUxMKTsKPiAKPiArwqDC oMKgwqDCoMKgIGtmcmVlKG5kZXZfY3R4LT5yeF90YWJsZSk7Cj4gwqDCoMKgwqDCoMKgwqAgZnJl ZV9wZXJjcHUobmRldl9jdHgtPnZmX3N0YXRzKTsKPiDCoMKgwqDCoMKgwqDCoCBmcmVlX25ldGRl dihuZXQpOwo+IMKgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9oeXBlcnYvcm5kaXNfZmls dGVyLmMKPiBiL2RyaXZlcnMvbmV0L2h5cGVydi9ybmRpc19maWx0ZXIuYwo+IGluZGV4IGVlYTc3 N2VjMjU0MS4uYWYwMzFlNzExY2IyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0L2h5cGVydi9y bmRpc19maWx0ZXIuYwo+ICsrKyBiL2RyaXZlcnMvbmV0L2h5cGVydi9ybmRpc19maWx0ZXIuYwo+ IEBAIC05MjcsNyArOTI3LDcgQEAgc3RhdGljIGludCBybmRpc19zZXRfcnNzX3BhcmFtX21zZyhz dHJ1Y3Qgcm5kaXNfZGV2aWNlCj4gKnJkZXYsCj4gwqDCoMKgwqDCoMKgwqAgc3RydWN0IHJuZGlz X3NldF9yZXF1ZXN0ICpzZXQ7Cj4gwqDCoMKgwqDCoMKgwqAgc3RydWN0IHJuZGlzX3NldF9jb21w bGV0ZSAqc2V0X2NvbXBsZXRlOwo+IMKgwqDCoMKgwqDCoMKgIHUzMiBleHRsZW4gPSBzaXplb2Yo c3RydWN0IG5kaXNfcmVjdl9zY2FsZV9wYXJhbSkgKwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCA0ICogSVRBQl9OVU0gKyBORVRWU0NfSEFTSF9LRVlMRU47Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDQgKiBuZGMtPnJ4X3RhYmxlX3N6 ICsgTkVUVlNDX0hBU0hfS0VZTEVOOwo+IMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBuZGlzX3JlY3Zf c2NhbGVfcGFyYW0gKnJzc3A7Cj4gwqDCoMKgwqDCoMKgwqAgdTMyICppdGFiOwo+IMKgwqDCoMKg wqDCoMKgIHU4ICprZXlwOwo+IEBAIC05NTMsNyArOTUzLDcgQEAgc3RhdGljIGludCBybmRpc19z ZXRfcnNzX3BhcmFtX21zZyhzdHJ1Y3Qgcm5kaXNfZGV2aWNlCj4gKnJkZXYsCj4gwqDCoMKgwqDC oMKgwqAgcnNzcC0+aGFzaGluZm8gPSBORElTX0hBU0hfRlVOQ19UT0VQTElUWiB8IE5ESVNfSEFT SF9JUFY0IHwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgTkRJU19IQVNIX1RDUF9JUFY0IHwgTkRJU19IQVNIX0lQVjYgfAo+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBORElTX0hBU0hfVENQX0lQVjY7Cj4g LcKgwqDCoMKgwqDCoCByc3NwLT5pbmRpcmVjdF90YWJzaXplID0gNCpJVEFCX05VTTsKPiArwqDC oMKgwqDCoMKgIHJzc3AtPmluZGlyZWN0X3RhYnNpemUgPSA0ICogbmRjLT5yeF90YWJsZV9zejsK PiDCoMKgwqDCoMKgwqDCoCByc3NwLT5pbmRpcmVjdF90YWJvZmZzZXQgPSBzaXplb2Yoc3RydWN0 IG5kaXNfcmVjdl9zY2FsZV9wYXJhbSk7Cj4gwqDCoMKgwqDCoMKgwqAgcnNzcC0+aGFzaGtleV9z aXplID0gTkVUVlNDX0hBU0hfS0VZTEVOOwo+IMKgwqDCoMKgwqDCoMKgIHJzc3AtPmhhc2hrZXlf b2Zmc2V0ID0gcnNzcC0+aW5kaXJlY3RfdGFib2Zmc2V0ICsKPiBAQCAtOTYxLDcgKzk2MSw3IEBA IHN0YXRpYyBpbnQgcm5kaXNfc2V0X3Jzc19wYXJhbV9tc2coc3RydWN0IHJuZGlzX2RldmljZQo+ ICpyZGV2LAo+IAo+IMKgwqDCoMKgwqDCoMKgIC8qIFNldCBpbmRpcmVjdGlvbiB0YWJsZSBlbnRy aWVzICovCj4gwqDCoMKgwqDCoMKgwqAgaXRhYiA9ICh1MzIgKikocnNzcCArIDEpOwo+IC3CoMKg wqDCoMKgwqAgZm9yIChpID0gMDsgaSA8IElUQUJfTlVNOyBpKyspCj4gK8KgwqDCoMKgwqDCoCBm b3IgKGkgPSAwOyBpIDwgbmRjLT5yeF90YWJsZV9zejsgaSsrKQo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBpdGFiW2ldID0gbmRjLT5yeF90YWJsZVtpXTsKPiAKPiDCoMKgwqDCoMKg wqDCoCAvKiBTZXQgaGFzayBrZXkgdmFsdWVzICovCj4gQEAgLTE1NDgsNiArMTU0OCwyMSBAQCBz dHJ1Y3QgbmV0dnNjX2RldmljZSAqcm5kaXNfZmlsdGVyX2RldmljZV9hZGQoc3RydWN0Cj4gaHZf ZGV2aWNlICpkZXYsCj4gwqDCoMKgwqDCoMKgwqAgaWYgKHJldCB8fCByc3NjYXAubnVtX3JlY3Zf cXVlIDwgMikKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBvdXQ7Cj4gCj4g K8KgwqDCoMKgwqDCoCBpZiAocnNzY2FwLm51bV9pbmRpcmVjdF90YWJlbnQgJiYKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByc3NjYXAubnVtX2luZGlyZWN0X3RhYmVudCA8PSBJVEFC X05VTV9NQVgpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBuZGMtPnJ4X3RhYmxl X3N6ID0gcnNzY2FwLm51bV9pbmRpcmVjdF90YWJlbnQ7Cj4gK8KgwqDCoMKgwqDCoCB9IGVsc2Ug ewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5kYy0+cnhfdGFibGVfc3ogPSBJVEFC X05VTTsKPiArwqDCoMKgwqDCoMKgIH0KPiArCj4gK8KgwqDCoMKgwqDCoCBuZGMtPnJ4X3RhYmxl ID0ga3phbGxvYyhzaXplb2YodTE2KSAqIG5kYy0+cnhfdGFibGVfc3osCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBHRlBfS0VS TkVMKTsKPiArwqDCoMKgwqDCoMKgIGlmIChuZGMtPnJ4X3RhYmxlKSB7Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbmV0ZGV2X2VycihuZXQsICJFcnJvciBpbiBhbGxvY2F0aW5nIHJ4 IGluZGlyZWN0aW9uIHRhYmxlIG9mCj4gc2l6ZSAlZFxuIiwKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5kYy0+cnhfdGFibGVf c3opOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gb3V0Owo+ICvCoMKgwqDC oMKgwqAgfQo+ICsKCllvdSBhcmUgbm93IGFsd2F5cyBhbGxvY2F0aW5nIHRoZSByeF90YWJsZSBp biB0aGUgcm5kaXNfZmlsdGVyX2RldmljZV9hZGQoKQpmdW5jdGlvbiwgYnV0IHRoaXMgZnVuY3Rp b24gaXMgY2FsbGVkIGJvdGggZnJvbSB0aGUgbmV0dnNjX3Byb2JlIGZ1bmN0aW9uCmFuZCB0aGUg bmV0dnNjX2F0dGFjaCBmdW5jdGlvbiwgYnV0IGFzIGZhciBhcyBJIGNhbiBzZWUgdGhlIHJ4X3Rh YmxlIG9ubHkKZ2V0cyBmcmVlZCBpbiB0aGUgcmVtb3ZlIGZ1bmN0aW9uIG5vdCBpbiB0aGUgbmV0 dnNjX2RldGFjaC4KClNvIGlmIHRoZXJlIGlzIGEgY2hhbmNlIHRoYXQgdGhlIGF0dGFjaC9kZXRh Y2ggd2lsbCBiZSBjYWxsZWQgbW9yZSB0aW1lcwpvbiBhIGV4aXN0aW5nIGRldmljZSB5b3Ugd2ls bCBoYXZlIGEgbGVhay4KCj4gwqDCoMKgwqDCoMKgwqAgLyogVGhpcyBndWFyYW50ZWVzIHRoYXQg bnVtX3Bvc3NpYmxlX3Jzc19xcyA8PSBudW1fb25saW5lX2NwdXMgKi8KPiDCoMKgwqDCoMKgwqDC oCBudW1fcG9zc2libGVfcnNzX3FzID0gbWluX3QodTMyLCBudW1fb25saW5lX2NwdXMoKSwKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHJzc2NhcC5udW1fcmVjdl9xdWUpOwo+IEBAIC0xNTU4LDcgKzE1NzMsNyBA QCBzdHJ1Y3QgbmV0dnNjX2RldmljZSAqcm5kaXNfZmlsdGVyX2RldmljZV9hZGQoc3RydWN0Cj4g aHZfZGV2aWNlICpkZXYsCj4gwqDCoMKgwqDCoMKgwqAgbmV0X2RldmljZS0+bnVtX2NobiA9IG1p bihuZXRfZGV2aWNlLT5tYXhfY2huLCBkZXZpY2VfaW5mby0+bnVtX2Nobik7Cj4gCj4gwqDCoMKg wqDCoMKgwqAgaWYgKCFuZXRpZl9pc19yeGZoX2NvbmZpZ3VyZWQobmV0KSkgewo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZvciAoaSA9IDA7IGkgPCBJVEFCX05VTTsgaSsrKQo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZvciAoaSA9IDA7IGkgPCBuZGMtPnJ4X3RhYmxl X3N6OyBpKyspCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBuZGMtPnJ4X3RhYmxlW2ldID0gZXRodG9vbF9yeGZoX2luZGlyX2RlZmF1bHQoCj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpLCBuZXRfZGV2aWNlLT5udW1fY2huKTsK PiDCoMKgwqDCoMKgwqDCoCB9Cj4gLS0KPiAyLjM0LjEKPiAKPiAKCkJlc3QgUmVnYXJkcwpTdGVl bgo=