Received: by 2002:a25:e7d8:0:0:0:0:0 with SMTP id e207csp921852ybh; Thu, 12 Mar 2020 13:36:51 -0700 (PDT) X-Google-Smtp-Source: ADFU+vsNhIktTXzKaopYDiZtPG8Jq+mNX+DIjBVhltbFsF3Ki61mF0RH7Gz8azHJpQAWQvCaa5e1 X-Received: by 2002:a9d:7e8b:: with SMTP id m11mr8241971otp.83.1584045411149; Thu, 12 Mar 2020 13:36:51 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1584045411; cv=pass; d=google.com; s=arc-20160816; b=BgW6ZQLW1i0eeAPPZEwWweXltO1zylz0krYVaBcQZkOp8TNriIg5xvjnGGmhHfFe9E 3MWoEK6ohgcyimShol7ivEtXFXRPXqXcZze1PzAmRHM+zNbhpD6xG7hCMwuE2C65H0lg mK7FlYG2Vx6i3T0LF3cnBlR1RO2B/3aOb0hDWh0HG6wHOAnWyxZ9+emQJHc17FphoqRu sm7FMqepLxJzQVv4dwxQ/5O9Z/wfnX2Md9j/N2dqqc42GPHU41oSO0HdUY0a60mHpUXS nGmsDH1Y1GKfJSM4SiPixOpvZnT0J6DxBN0d0tedpDeiPwVIFRMVWhoX+MpRVvT4NDVL xf2w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:to :from:dkim-signature; bh=KasxvbdaVW0DjgNwQxkFq+lDFVlyyta0lH1m5zobUzM=; b=oIFE0OpmFQAXVTNZoSouctYIpl3SFFSjl5rtPEw3uqKVzsQtG+s3GweOu+nU9yUl9K BZHIGtBVraa+532PV4AQUYrjgM4eNCLK6C3WTEFlkJs02OYo+0VlA07W1rnDobGCneEu /aAVJzC6szvuAhvIO7vm23i6HTmTA4uuZEAmF/FiYGwoqHzhOj8xenLg9vsjua0qt6GD pYHTKmthj4ziJDC6AYGThHfY5apVGq1Mfhu+3Ro4q81RJ4KnQUQ0hYjDkfxAn7fKModl SpVj2peyoUvb6MVf8cOr+wRD8pi2pehOQVIlgJkIJFQaBzHq1QPm2L2MIjZcjaeT1aeq BnJg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@netapp.onmicrosoft.com header.s=selector1-netapp-onmicrosoft-com header.b="SSp8K5N/"; arc=pass (i=1 spf=pass spfdomain=netapp.com dkim=pass dkdomain=netapp.com dmarc=pass fromdomain=netapp.com); spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k193si2150669oih.78.2020.03.12.13.36.29; Thu, 12 Mar 2020 13:36:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@netapp.onmicrosoft.com header.s=selector1-netapp-onmicrosoft-com header.b="SSp8K5N/"; arc=pass (i=1 spf=pass spfdomain=netapp.com dkim=pass dkdomain=netapp.com dmarc=pass fromdomain=netapp.com); spf=pass (google.com: best guess record for domain of linux-nfs-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726736AbgCLUfs (ORCPT + 99 others); Thu, 12 Mar 2020 16:35:48 -0400 Received: from mail-bn8nam12on2045.outbound.protection.outlook.com ([40.107.237.45]:47680 "EHLO NAM12-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725268AbgCLUfr (ORCPT ); Thu, 12 Mar 2020 16:35:47 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xu5SlZlllY42xmPzFBggS+xXcLCyDORVwVGrkivb4lJg9uxldgvz18auyL8cNs4Tgt46yxqqo88v0UxpaOSCRYsnVlTCM1ZLHp4MkEkjjYgDFtDQboAEMjGZleAcVaOBCLm2ma1FXtakMDSGVVnC8FZJ+Y01PANupOZKwh6d7AKijU6MCbCLUGqjS3VXt61dVusKgQv/ojwFFKfproRVonPEkSydX5uTifFpTqbUevHnS4tkO7TAeUwkc8Gga4SUOcxphTDmZdXrkXp+OxpW+kytiIQ3mUxGTSBsQLjJDVjzSX9tPybAurE4GvHSC4H7MQGBTTY9g82sWSnt53IvjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KasxvbdaVW0DjgNwQxkFq+lDFVlyyta0lH1m5zobUzM=; b=RD0V91Izsk4vHkIwNVS0Si08um5mVmIC0uHmwysD1PzqRV8jdb8W9eaxMnDiha37mP6d3KBrBXzqWSFJLfNtkJtB0Wl1liQzUqRidHHsD2DQIbyXAzuYYLMfmh8dpHSxVhNJz5nkzbXzILbTGWgTzutHoeYnvIuI5mp+DbMZV41846TrEy0kbaz4NYyB14OaaoVpXHsHJQHkWkXBdKF+b8/GYAIhBgWg2i64h/guukmd1zEY3NwppY2NCi3V2MmbEYltoiEp50zQXqLSlSp8ez3+t51QSDvJkfGSXhhsKTSPEFnOeQ+eZ05ImVB5hmt1tqh1Xnl1iaEqZgBSFiPu3g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=netapp.com; dmarc=pass action=none header.from=netapp.com; dkim=pass header.d=netapp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.onmicrosoft.com; s=selector1-netapp-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KasxvbdaVW0DjgNwQxkFq+lDFVlyyta0lH1m5zobUzM=; b=SSp8K5N/IW2MHOBtE8MCG+tj1d7NNp8KvPKy+W2MstD6KKHYZrXlHij5u9snYNGNyVqbFaqADnvX0DoHVhOP91r5IE7LumyBNdk0DK/5XPaiTNtULEzjy3Y+aPogWfD+aoQtZkUj15hOrBJiM1euTb6MRrV6qHPHwhSj1+K2Nzg= Received: from DM6PR06MB6617.namprd06.prod.outlook.com (2603:10b6:5:25f::14) by DM6PR06MB4521.namprd06.prod.outlook.com (2603:10b6:5:fb::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.14; Thu, 12 Mar 2020 20:35:07 +0000 Received: from DM6PR06MB6617.namprd06.prod.outlook.com ([fe80::f1d5:1417:3acd:c3be]) by DM6PR06MB6617.namprd06.prod.outlook.com ([fe80::f1d5:1417:3acd:c3be%6]) with mapi id 15.20.2793.018; Thu, 12 Mar 2020 20:35:07 +0000 From: "Schumaker, Anna" To: "fllinden@amazon.com" , "linux-nfs@vger.kernel.org" , "trond.myklebust@hammerspace.com" Subject: Re: [PATCH 04/13] NFSv4.2: define limits and sizes for user xattr handling Thread-Topic: [PATCH 04/13] NFSv4.2: define limits and sizes for user xattr handling Thread-Index: AQHV998oachc3MGgckuC1S0FxDTG0ahFa68A Date: Thu, 12 Mar 2020 20:35:06 +0000 Message-ID: <4cdfd8fa4a0fa75dd58ae278b5329b97f639527b.camel@netapp.com> References: <20200311195613.26108-1-fllinden@amazon.com> <20200311195613.26108-5-fllinden@amazon.com> In-Reply-To: <20200311195613.26108-5-fllinden@amazon.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=Anna.Schumaker@netapp.com; x-originating-ip: [68.42.68.242] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d8b770df-b08d-42d1-18c0-08d7c6c4da16 x-ms-traffictypediagnostic: DM6PR06MB4521: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0340850FCD x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(366004)(39860400002)(346002)(136003)(376002)(396003)(199004)(316002)(2616005)(36756003)(5660300002)(64756008)(91956017)(66476007)(71200400001)(26005)(76116006)(186003)(6486002)(8676002)(6506007)(66446008)(478600001)(81166006)(66946007)(66556008)(81156014)(8936002)(110136005)(6512007)(86362001)(2906002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM6PR06MB4521;H:DM6PR06MB6617.namprd06.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1; received-spf: None (protection.outlook.com: netapp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ymKDVjJlN2RRm0eseo0Sqt/D5UR9iAtvKJhA5zl9r4+Pa8yFc7dlckheRdwfIekG/8cUCKEG00s1uPgSlMzgFyCWMhAwG2rTe9tRs9tOQ2V/5VLhDe7R1Z/WuGi7wqExYhTrqlrHsG4iNTkHbAvXKH1aE1DMqPin3si0fHYOPqDMEHxY20UKYFetQMyHUqUz/j9ze5PEUzKQlL/AN3DxxQl36Hi4sN6QaI0FWl9INMTb//MTaddL2J2Kw8EO/c+yFiEOh9GKPm5daycpzeZJdIEunjlitlQ0nM7JPnMwCDlQAusTut/diSX969aKo6ckzn2rtHxtWaZwXd+qnJ0FS9eiVe6y4m1ZZQbPkTJ2M8zole/mjhkZrQdAkWE385ubkHNaHMj0GPxiQcBIegEOJA6ZMIsUreA58TzflRI7Rrust3Yp8tXuljzsfznnkoGP x-ms-exchange-antispam-messagedata: RRMlIqrN8ba7Pq2wgbr/QEBKgLg6LosOVVLRiBiADxgUJvMfsE4Wicj6qaoXHihDcBrnH4dQy9RT/4HEq/FyCL4jPEKLkEu0rLqsaNzLEOVfhyzDauWAfxIDMwUpEtYz9j/1WNeWNwSrIpGFtH8PJg== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: <57E11A90A4371341AFF681039FA25F63@namprd06.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: netapp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d8b770df-b08d-42d1-18c0-08d7c6c4da16 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Mar 2020 20:35:06.9033 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4b0911a0-929b-4715-944b-c03745165b3a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: w6H+RCStRcnFfd3C+bwHQZkdfAWEp073EFDe5MbwjprYz7z/t/PPPzh6gHh46/400C6OGjMPlByo+Lv0RfcS2g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR06MB4521 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org SGkgRnJhbmssDQoNCk9uIFdlZCwgMjAyMC0wMy0xMSBhdCAxOTo1NiArMDAwMCwgRnJhbmsgdmFu IGRlciBMaW5kZW4gd3JvdGU6DQo+IFNldCBsaW1pdHMgZm9yIGV4dGVuZGVkIGF0dHJpYnV0ZXMg KGF0dHJpYnV0ZSB2YWx1ZSBzaXplIGFuZCBsaXN0eGF0dHINCj4gYnVmZmVyIHNpemUpLCBiYXNl ZCBvbiB0aGUgZnMtaW5kZXBlbmRlbnQgbGltaXRzIChYQVRUUl8qX01BWCkuDQo+IA0KPiBEZWZp bmUgdGhlIG1heGltdW0gWERSIHNpemVzIGZvciB0aGUgUkZDIDgyNzYgWEFUVFIgb3BlcmF0aW9u cy4NCj4gSW4gdGhlIGNhc2Ugb2Ygb3BlcmF0aW9ucyB0aGF0IGNhcnJ5IGEgbGFyZ2VyIHBheWxv YWQgKFNFVFhBVFRSLA0KPiBHRVRYQVRUUiwgTElTVFhBVFRSKSwgdGhlc2UgZXhjbHVkZSB0aGF0 IHBheWxvYWQsIHdoaWNoIGlzIGFkZGVkDQo+IGFzIHNlcGFyYXRlIHBhZ2VzLCBsaWtlIG90aGVy IG9wZXJhdGlvbnMgZG8uDQo+IA0KPiBEZWZpbmUsIG11Y2ggbGlrZSBmb3IgcmVhZCBhbmQgd3Jp dGUgb3BlcmF0aW9ucywgdGhlIG1heGltdW0gb3ZlcmhlYWQNCj4gc2l6ZXMgZm9yIGdldC9zZXQv bGlzdHhhdHRyLCBhbmQgdXNlIHRoZW0gdG8gbGltaXQgdGhlIG1heGltdW0gcGF5bG9hZA0KPiBz aXplIGZvciB0aG9zZSBvcGVyYXRpb25zLCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBjaGFubmVs IGF0dHJpYnV0ZXMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBGcmFuayB2YW4gZGVyIExpbmRlbiA8 ZmxsaW5kZW5AYW1hem9uLmNvbT4NCj4gLS0tDQo+ICBmcy9uZnMvY2xpZW50LmMgICAgICAgICAg IHwgMTkgKysrKysrKysrKy0tDQo+ICBmcy9uZnMvaW50ZXJuYWwuaCAgICAgICAgIHwgIDUgKysr Kw0KPiAgZnMvbmZzL25mczQyLmggICAgICAgICAgICB8IDE2ICsrKysrKysrKysNCj4gIGZzL25m cy9uZnM0Mnhkci5jICAgICAgICAgfCA3NA0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKw0KPiAgZnMvbmZzL25mczRjbGllbnQuYyAgICAgICB8IDMxICsr KysrKysrKysrKysrKysrKysrDQo+ICBpbmNsdWRlL2xpbnV4L25mc19mc19zYi5oIHwgIDUgKysr Kw0KPiAgNiBmaWxlcyBjaGFuZ2VkLCAxNDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkN Cj4gDQo+IGRpZmYgLS1naXQgYS9mcy9uZnMvY2xpZW50LmMgYi9mcy9uZnMvY2xpZW50LmMNCj4g aW5kZXggOTg5YzMwYzk4NTExLi5lZWYzOWE0ZWMxMTQgMTAwNjQ0DQo+IC0tLSBhL2ZzL25mcy9j bGllbnQuYw0KPiArKysgYi9mcy9uZnMvY2xpZW50LmMNCj4gQEAgLTUwLDYgKzUwLDcgQEANCj4g ICNpbmNsdWRlICJuZnMuaCINCj4gICNpbmNsdWRlICJuZXRucy5oIg0KPiAgI2luY2x1ZGUgInN5 c2ZzLmgiDQo+ICsjaW5jbHVkZSAibmZzNDIuaCINCj4gIA0KPiAgI2RlZmluZSBORlNEQkdfRkFD SUxJVFkJCU5GU0RCR19DTElFTlQNCj4gIA0KPiBAQCAtNzQ4LDcgKzc0OSw3IEBAIHN0YXRpYyBp bnQgbmZzX2luaXRfc2VydmVyKHN0cnVjdCBuZnNfc2VydmVyICpzZXJ2ZXIsDQo+ICBzdGF0aWMg dm9pZCBuZnNfc2VydmVyX3NldF9mc2luZm8oc3RydWN0IG5mc19zZXJ2ZXIgKnNlcnZlciwNCj4g IAkJCQkgIHN0cnVjdCBuZnNfZnNpbmZvICpmc2luZm8pDQo+ICB7DQo+IC0JdW5zaWduZWQgbG9u ZyBtYXhfcnBjX3BheWxvYWQ7DQo+ICsJdW5zaWduZWQgbG9uZyBtYXhfcnBjX3BheWxvYWQsIHJh d19tYXhfcnBjX3BheWxvYWQ7DQo+ICANCj4gIAkvKiBXb3JrIG91dCBhIGxvdCBvZiBwYXJhbWV0 ZXJzICovDQo+ICAJaWYgKHNlcnZlci0+cnNpemUgPT0gMCkNCj4gQEAgLTc2MSw3ICs3NjIsOSBA QCBzdGF0aWMgdm9pZCBuZnNfc2VydmVyX3NldF9mc2luZm8oc3RydWN0IG5mc19zZXJ2ZXINCj4g KnNlcnZlciwNCj4gIAlpZiAoZnNpbmZvLT53dG1heCA+PSA1MTIgJiYgc2VydmVyLT53c2l6ZSA+ IGZzaW5mby0+d3RtYXgpDQo+ICAJCXNlcnZlci0+d3NpemUgPSBuZnNfYmxvY2tfc2l6ZShmc2lu Zm8tPnd0bWF4LCBOVUxMKTsNCj4gIA0KPiAtCW1heF9ycGNfcGF5bG9hZCA9IG5mc19ibG9ja19z aXplKHJwY19tYXhfcGF5bG9hZChzZXJ2ZXItPmNsaWVudCksIE5VTEwpOw0KPiArCXJhd19tYXhf cnBjX3BheWxvYWQgPSBycGNfbWF4X3BheWxvYWQoc2VydmVyLT5jbGllbnQpOw0KPiArCW1heF9y cGNfcGF5bG9hZCA9IG5mc19ibG9ja19zaXplKHJhd19tYXhfcnBjX3BheWxvYWQsIE5VTEwpOw0K PiArDQo+ICAJaWYgKHNlcnZlci0+cnNpemUgPiBtYXhfcnBjX3BheWxvYWQpDQo+ICAJCXNlcnZl ci0+cnNpemUgPSBtYXhfcnBjX3BheWxvYWQ7DQo+ICAJaWYgKHNlcnZlci0+cnNpemUgPiBORlNf TUFYX0ZJTEVfSU9fU0laRSkNCj4gQEAgLTc5NCw2ICs3OTcsMTggQEAgc3RhdGljIHZvaWQgbmZz X3NlcnZlcl9zZXRfZnNpbmZvKHN0cnVjdCBuZnNfc2VydmVyDQo+ICpzZXJ2ZXIsDQo+ICAJc2Vy dmVyLT5jbG9uZV9ibGtzaXplID0gZnNpbmZvLT5jbG9uZV9ibGtzaXplOw0KPiAgCS8qIFdlJ3Jl IGFpcmJvcm5lIFNldCBzb2NrZXQgYnVmZmVyc2l6ZSAqLw0KPiAgCXJwY19zZXRidWZzaXplKHNl cnZlci0+Y2xpZW50LCBzZXJ2ZXItPndzaXplICsgMTAwLCBzZXJ2ZXItPnJzaXplICsNCj4gMTAw KTsNCj4gKw0KPiArI2lmZGVmIENPTkZJR19ORlNfVjRfMg0KPiArCS8qDQo+ICsJICogRGVmYXVs dHMgdW50aWwgbGltaXRlZCBieSB0aGUgc2Vzc2lvbiBwYXJhbWV0ZXJzLg0KPiArCSAqLw0KPiAr CXNlcnZlci0+Z3hhc2l6ZSA9IG1pbl90KHVuc2lnbmVkIGludCwgcmF3X21heF9ycGNfcGF5bG9h ZCwNCj4gKwkJCQlYQVRUUl9TSVpFX01BWCk7DQo+ICsJc2VydmVyLT5zeGFzaXplID0gbWluX3Qo dW5zaWduZWQgaW50LCByYXdfbWF4X3JwY19wYXlsb2FkLA0KPiArCQkJCVhBVFRSX1NJWkVfTUFY KTsNCj4gKwlzZXJ2ZXItPmx4YXNpemUgPSBtaW5fdCh1bnNpZ25lZCBpbnQsIHJhd19tYXhfcnBj X3BheWxvYWQsDQo+ICsJCQkJbmZzNDJfbGlzdHhhdHRyX3hkcnNpemUoWEFUVFJfTElTVF9NQVgp KTsNCj4gKyNlbmRpZg0KPiAgfQ0KPiAgDQo+ICAvKg0KPiBkaWZmIC0tZ2l0IGEvZnMvbmZzL2lu dGVybmFsLmggYi9mcy9uZnMvaW50ZXJuYWwuaA0KPiBpbmRleCBmODBjNDdkNWZmMjcuLjY4ZjIz NWE1NzFlMSAxMDA2NDQNCj4gLS0tIGEvZnMvbmZzL2ludGVybmFsLmgNCj4gKysrIGIvZnMvbmZz L2ludGVybmFsLmgNCj4gQEAgLTMwNiw2ICszMDYsMTEgQEAgZXh0ZXJuIGNvbnN0IHUzMiBuZnM0 MV9tYXhyZWFkX292ZXJoZWFkOw0KPiAgZXh0ZXJuIGNvbnN0IHUzMiBuZnM0MV9tYXh3cml0ZV9v dmVyaGVhZDsNCj4gIGV4dGVybiBjb25zdCB1MzIgbmZzNDFfbWF4Z2V0ZGV2aW5mb19vdmVyaGVh ZDsNCj4gICNlbmRpZg0KPiArI2lmZGVmIENPTkZJR19ORlNfVjRfMg0KPiArZXh0ZXJuIGNvbnN0 IHUzMiBuZnM0Ml9tYXhzZXR4YXR0cl9vdmVyaGVhZDsNCj4gK2V4dGVybiBjb25zdCB1MzIgbmZz NDJfbWF4Z2V0eGF0dHJfb3ZlcmhlYWQ7DQo+ICtleHRlcm4gY29uc3QgdTMyIG5mczQyX21heGxp c3R4YXR0cnNfb3ZlcmhlYWQ7DQo+ICsjZW5kaWYNCg0KQXMgZmFyIGFzIEkgY2FuIHRlbGwsIHRo ZXNlIGFyZSBvbmx5IHVzZWQgYnkgdGhlIE5GUyB2NCBjb2RlLiBDYW4geW91IHB1dCB0aGVzZQ0K ZGVmaW5pdGlvbnMgaW4gbmZzNF9mcy5oIGluc3RlYWQgb2YgaW50ZXJuYWwuaCwgc2luY2UgdGhl IGdlbmVyaWMgY2xpZW50IGRvZXNuJ3QNCnJlYWxseSBuZWVkIHRvIGtub3cgYWJvdXQgaXQ/DQoN ClRoYW5rcywNCkFubmENCj4gIA0KPiAgLyogbmZzNHByb2MuYyAqLw0KPiAgI2lmIElTX0VOQUJM RUQoQ09ORklHX05GU19WNCkNCj4gZGlmZiAtLWdpdCBhL2ZzL25mcy9uZnM0Mi5oIGIvZnMvbmZz L25mczQyLmgNCj4gaW5kZXggYzg5MWFmOTQ5ODg2Li41MWRlOGRkYzdkODggMTAwNjQ0DQo+IC0t LSBhL2ZzL25mcy9uZnM0Mi5oDQo+ICsrKyBiL2ZzL25mcy9uZnM0Mi5oDQo+IEBAIC02LDYgKzYs OCBAQA0KPiAgI2lmbmRlZiBfX0xJTlVYX0ZTX05GU19ORlM0XzJfSA0KPiAgI2RlZmluZSBfX0xJ TlVYX0ZTX05GU19ORlM0XzJfSA0KPiAgDQo+ICsjaW5jbHVkZSA8bGludXgveGF0dHIuaD4NCj4g Kw0KPiAgLyoNCj4gICAqIEZJWE1FOiAgZm91ciBMQVlPVVRTVEFUUyBjYWxscyBwZXIgY29tcG91 bmQgYXQgbW9zdCEgRG8gd2UgbmVlZCB0byBzdXBwb3J0DQo+ICAgKiBtb3JlPyBOZWVkIHRvIGNv bnNpZGVyIG5vdCB0byBwcmUtYWxsb2MgdG9vIG11Y2ggZm9yIGEgY29tcG91bmQuDQo+IEBAIC0z Niw1ICszOCwxOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgbmZzNDJfZmlsZXNfZnJvbV9zYW1lX3Nl cnZlcihzdHJ1Y3QgZmlsZQ0KPiAqaW4sDQo+ICAJcmV0dXJuIG5mczRfY2hlY2tfc2VydmVyb3du ZXJfbWFqb3JfaWQoY19pbi0+Y2xfc2VydmVyb3duZXIsDQo+ICAJCQkJCSAgICAgICBjX291dC0+ Y2xfc2VydmVyb3duZXIpOw0KPiAgfQ0KPiArDQo+ICsvKg0KPiArICogTWF4aW11bSBYRFIgYnVm ZmVyIHNpemUgbmVlZGVkIGZvciBhIGxpc3R4YXR0ciBidWZmZXIgb2YgYnVmbGVuIHNpemUuDQo+ ICsgKg0KPiArICogVGhlIHVwcGVyIGJvdW5kYXJ5IGlzIGEgYnVmZmVyIHdpdGggYWxsIDEtYnl0 ZSBzaXplZCBhdHRyaWJ1dGUgbmFtZXMuDQo+ICsgKiBUaGV5IHdvdWxkIGJlIDcgYnl0ZXMgbG9u ZyBpbiB0aGUgZXZlbnR1YWwgYnVmZmVyICgidXNlci54XDAiKSwgYW5kDQo+ICsgKiA4IGJ5dGVz IGxvbmcgWERSLWVuY29kZWQuDQo+ICsgKg0KPiArICogSW5jbHVkZSB0aGUgdHJhaWxpbmcgZW9m IHdvcmQgYXMgd2VsbC4NCj4gKyAqLw0KPiArc3RhdGljIGlubGluZSB1MzIgbmZzNDJfbGlzdHhh dHRyX3hkcnNpemUodTMyIGJ1ZmxlbikNCj4gK3sNCj4gKwlyZXR1cm4gKChidWZsZW4gLyAoWEFU VFJfVVNFUl9QUkVGSVhfTEVOICsgMikpICogOCkgKyA0Ow0KPiArfQ0KPiAgI2VuZGlmIC8qIENP TkZJR19ORlNfVjRfMiAqLw0KPiAgI2VuZGlmIC8qIF9fTElOVVhfRlNfTkZTX05GUzRfMl9IICov DQo+IGRpZmYgLS1naXQgYS9mcy9uZnMvbmZzNDJ4ZHIuYyBiL2ZzL25mcy9uZnM0Mnhkci5jDQo+ IGluZGV4IGMwM2YzMjQ2ZDZjNS4uNjcxMmRhYTlkODViIDEwMDY0NA0KPiAtLS0gYS9mcy9uZnMv bmZzNDJ4ZHIuYw0KPiArKysgYi9mcy9uZnMvbmZzNDJ4ZHIuYw0KPiBAQCAtMTY5LDYgKzE2OSw4 MCBAQA0KPiAgCQkJCQkgZGVjb2RlX2Nsb25lX21heHN6ICsgXA0KPiAgCQkJCQkgZGVjb2RlX2dl dGF0dHJfbWF4c3opDQo+ICANCj4gKyNpZmRlZiBDT05GSUdfTkZTX1Y0XzINCj4gKy8qIE5vdCBs aW1pdGVkIGJ5IE5GUyBpdHNlbGYsIGxpbWl0ZWQgYnkgdGhlIGdlbmVyaWMgeGF0dHIgY29kZSAq Lw0KPiArI2RlZmluZSBuZnM0X3hhdHRyX25hbWVfbWF4c3ogICBYRFJfUVVBRExFTihYQVRUUl9O QU1FX01BWCkNCj4gKw0KPiArI2RlZmluZSBlbmNvZGVfZ2V0eGF0dHJfbWF4c3ogICAob3BfZW5j b2RlX2hkcl9tYXhzeiArIDEgKyBcDQo+ICsJCQkJIG5mczRfeGF0dHJfbmFtZV9tYXhzeikNCj4g KyNkZWZpbmUgZGVjb2RlX2dldHhhdHRyX21heHN6ICAgKG9wX2RlY29kZV9oZHJfbWF4c3ogKyAx ICsgMSkNCj4gKyNkZWZpbmUgZW5jb2RlX3NldHhhdHRyX21heHN6ICAgKG9wX2VuY29kZV9oZHJf bWF4c3ogKyBcDQo+ICsJCQkJIDEgKyBuZnM0X3hhdHRyX25hbWVfbWF4c3ogKyAxKQ0KPiArI2Rl ZmluZSBkZWNvZGVfc2V0eGF0dHJfbWF4c3ogICAob3BfZGVjb2RlX2hkcl9tYXhzeiArDQo+IGRl Y29kZV9jaGFuZ2VfaW5mb19tYXhzeikNCj4gKyNkZWZpbmUgZW5jb2RlX2xpc3R4YXR0cnNfbWF4 c3ogIChvcF9lbmNvZGVfaGRyX21heHN6ICsgMiArIDEpDQo+ICsjZGVmaW5lIGRlY29kZV9saXN0 eGF0dHJzX21heHN6ICAob3BfZGVjb2RlX2hkcl9tYXhzeiArIDIgKyAxICsgMSkNCj4gKyNkZWZp bmUgZW5jb2RlX3JlbW92ZXhhdHRyX21heHN6IChvcF9lbmNvZGVfaGRyX21heHN6ICsgMSArIFwN Cj4gKwkJCQkgIG5mczRfeGF0dHJfbmFtZV9tYXhzeikNCj4gKyNkZWZpbmUgZGVjb2RlX3JlbW92 ZXhhdHRyX21heHN6IChvcF9kZWNvZGVfaGRyX21heHN6ICsgXA0KPiArCQkJCSAgZGVjb2RlX2No YW5nZV9pbmZvX21heHN6KQ0KPiArDQo+ICsjZGVmaW5lIE5GUzRfZW5jX2dldHhhdHRyX3N6CShj b21wb3VuZF9lbmNvZGVfaGRyX21heHN6ICsgXA0KPiArCQkJCWVuY29kZV9zZXF1ZW5jZV9tYXhz eiArIFwNCj4gKwkJCQllbmNvZGVfcHV0ZmhfbWF4c3ogKyBcDQo+ICsJCQkJZW5jb2RlX2dldHhh dHRyX21heHN6KQ0KPiArI2RlZmluZSBORlM0X2RlY19nZXR4YXR0cl9zegkoY29tcG91bmRfZGVj b2RlX2hkcl9tYXhzeiArIFwNCj4gKwkJCQlkZWNvZGVfc2VxdWVuY2VfbWF4c3ogKyBcDQo+ICsJ CQkJZGVjb2RlX3B1dGZoX21heHN6ICsgXA0KPiArCQkJCWRlY29kZV9nZXR4YXR0cl9tYXhzeikN Cj4gKyNkZWZpbmUgTkZTNF9lbmNfc2V0eGF0dHJfc3oJKGNvbXBvdW5kX2VuY29kZV9oZHJfbWF4 c3ogKyBcDQo+ICsJCQkJZW5jb2RlX3NlcXVlbmNlX21heHN6ICsgXA0KPiArCQkJCWVuY29kZV9w dXRmaF9tYXhzeiArIFwNCj4gKwkJCQllbmNvZGVfc2V0eGF0dHJfbWF4c3opDQo+ICsjZGVmaW5l IE5GUzRfZGVjX3NldHhhdHRyX3N6CShjb21wb3VuZF9kZWNvZGVfaGRyX21heHN6ICsgXA0KPiAr CQkJCWRlY29kZV9zZXF1ZW5jZV9tYXhzeiArIFwNCj4gKwkJCQlkZWNvZGVfcHV0ZmhfbWF4c3og KyBcDQo+ICsJCQkJZGVjb2RlX3NldHhhdHRyX21heHN6KQ0KPiArI2RlZmluZSBORlM0X2VuY19s aXN0eGF0dHJzX3N6CShjb21wb3VuZF9lbmNvZGVfaGRyX21heHN6ICsgXA0KPiArCQkJCWVuY29k ZV9zZXF1ZW5jZV9tYXhzeiArIFwNCj4gKwkJCQllbmNvZGVfcHV0ZmhfbWF4c3ogKyBcDQo+ICsJ CQkJZW5jb2RlX2xpc3R4YXR0cnNfbWF4c3opDQo+ICsjZGVmaW5lIE5GUzRfZGVjX2xpc3R4YXR0 cnNfc3oJKGNvbXBvdW5kX2RlY29kZV9oZHJfbWF4c3ogKyBcDQo+ICsJCQkJZGVjb2RlX3NlcXVl bmNlX21heHN6ICsgXA0KPiArCQkJCWRlY29kZV9wdXRmaF9tYXhzeiArIFwNCj4gKwkJCQlkZWNv ZGVfbGlzdHhhdHRyc19tYXhzeikNCj4gKyNkZWZpbmUgTkZTNF9lbmNfcmVtb3ZleGF0dHJfc3oJ KGNvbXBvdW5kX2VuY29kZV9oZHJfbWF4c3ogKyBcDQo+ICsJCQkJZW5jb2RlX3NlcXVlbmNlX21h eHN6ICsgXA0KPiArCQkJCWVuY29kZV9wdXRmaF9tYXhzeiArIFwNCj4gKwkJCQllbmNvZGVfcmVt b3ZleGF0dHJfbWF4c3opDQo+ICsjZGVmaW5lIE5GUzRfZGVjX3JlbW92ZXhhdHRyX3N6CShjb21w b3VuZF9kZWNvZGVfaGRyX21heHN6ICsgXA0KPiArCQkJCWRlY29kZV9zZXF1ZW5jZV9tYXhzeiAr IFwNCj4gKwkJCQlkZWNvZGVfcHV0ZmhfbWF4c3ogKyBcDQo+ICsJCQkJZGVjb2RlX3JlbW92ZXhh dHRyX21heHN6KQ0KPiArDQo+ICsvKg0KPiArICogVGhlc2UgdmFsdWVzIHNwZWNpZnkgdGhlIG1h eGltdW0gYW1vdW50IG9mIGRhdGEgdGhhdCBpcyBub3QNCj4gKyAqIGFzc29jaWF0ZWQgd2l0aCB0 aGUgZXh0ZW5kZWQgYXR0cmlidXRlIG5hbWUgb3IgZXh0ZW5kZWQNCj4gKyAqIGF0dHJpYnV0ZSBs aXN0IGluIHRoZSBTRVRYQVRUUiwgR0VUWEFUVFIgYW5kIExJU1RYQVRUUg0KPiArICogcmVzcGVj dGl2ZWx5Lg0KPiArICovDQo+ICtjb25zdCB1MzIgbmZzNDJfbWF4c2V0eGF0dHJfb3ZlcmhlYWQg PSAoKFJQQ19NQVhfSEVBREVSX1dJVEhfQVVUSCArDQo+ICsJCQkJCWNvbXBvdW5kX2VuY29kZV9o ZHJfbWF4c3ogKw0KPiArCQkJCQllbmNvZGVfc2VxdWVuY2VfbWF4c3ogKw0KPiArCQkJCQllbmNv ZGVfcHV0ZmhfbWF4c3ogKyAxICsNCj4gKwkJCQkJbmZzNF94YXR0cl9uYW1lX21heHN6KQ0KPiAr CQkJCQkqIFhEUl9VTklUKTsNCj4gKw0KPiArY29uc3QgdTMyIG5mczQyX21heGdldHhhdHRyX292 ZXJoZWFkID0gKChSUENfTUFYX0hFQURFUl9XSVRIX0FVVEggKw0KPiArCQkJCQljb21wb3VuZF9k ZWNvZGVfaGRyX21heHN6ICsNCj4gKwkJCQkJZGVjb2RlX3NlcXVlbmNlX21heHN6ICsNCj4gKwkJ CQkJZGVjb2RlX3B1dGZoX21heHN6ICsgMSkgKiBYRFJfVU5JVCk7DQo+ICsNCj4gK2NvbnN0IHUz MiBuZnM0Ml9tYXhsaXN0eGF0dHJzX292ZXJoZWFkID0gKChSUENfTUFYX0hFQURFUl9XSVRIX0FV VEggKw0KPiArCQkJCQljb21wb3VuZF9kZWNvZGVfaGRyX21heHN6ICsNCj4gKwkJCQkJZGVjb2Rl X3NlcXVlbmNlX21heHN6ICsNCj4gKwkJCQkJZGVjb2RlX3B1dGZoX21heHN6ICsgMykgKiBYRFJf VU5JVCk7DQo+ICsjZW5kaWYNCj4gKw0KPiAgc3RhdGljIHZvaWQgZW5jb2RlX2ZhbGxvY2F0ZShz dHJ1Y3QgeGRyX3N0cmVhbSAqeGRyLA0KPiAgCQkJICAgICBjb25zdCBzdHJ1Y3QgbmZzNDJfZmFs bG9jX2FyZ3MgKmFyZ3MpDQo+ICB7DQo+IGRpZmYgLS1naXQgYS9mcy9uZnMvbmZzNGNsaWVudC5j IGIvZnMvbmZzL25mczRjbGllbnQuYw0KPiBpbmRleCAwY2Q3NjdlNWM5NzcuLjhiMzIwZWYwZThh MyAxMDA2NDQNCj4gLS0tIGEvZnMvbmZzL25mczRjbGllbnQuYw0KPiArKysgYi9mcy9uZnMvbmZz NGNsaWVudC5jDQo+IEBAIC05OTMsNiArOTkzLDM2IEBAIHN0YXRpYyB2b2lkIG5mczRfc2Vzc2lv bl9saW1pdF9yd3NpemUoc3RydWN0IG5mc19zZXJ2ZXINCj4gKnNlcnZlcikNCj4gICNlbmRpZiAv KiBDT05GSUdfTkZTX1Y0XzEgKi8NCj4gIH0NCj4gIA0KPiArLyoNCj4gKyAqIExpbWl0IHhhdHRy IHNpemVzIHVzaW5nIHRoZSBjaGFubmVsIGF0dHJpYnV0ZXMuDQo+ICsgKi8NCj4gK3N0YXRpYyB2 b2lkIG5mczRfc2Vzc2lvbl9saW1pdF94YXNpemUoc3RydWN0IG5mc19zZXJ2ZXIgKnNlcnZlcikN Cj4gK3sNCj4gKyNpZmRlZiBDT05GSUdfTkZTX1Y0XzINCj4gKwlzdHJ1Y3QgbmZzNF9zZXNzaW9u ICpzZXNzOw0KPiArCXUzMiBzZXJ2ZXJfZ3hhX3N6Ow0KPiArCXUzMiBzZXJ2ZXJfc3hhX3N6Ow0K PiArCXUzMiBzZXJ2ZXJfbHhhX3N6Ow0KPiArDQo+ICsJaWYgKCFuZnM0X2hhc19zZXNzaW9uKHNl cnZlci0+bmZzX2NsaWVudCkpDQo+ICsJCXJldHVybjsNCj4gKw0KPiArCXNlc3MgPSBzZXJ2ZXIt Pm5mc19jbGllbnQtPmNsX3Nlc3Npb247DQo+ICsNCj4gKwlzZXJ2ZXJfZ3hhX3N6ID0gc2Vzcy0+ ZmNfYXR0cnMubWF4X3Jlc3Bfc3ogLSBuZnM0Ml9tYXhnZXR4YXR0cl9vdmVyaGVhZDsNCj4gKwlz ZXJ2ZXJfc3hhX3N6ID0gc2Vzcy0+ZmNfYXR0cnMubWF4X3Jxc3Rfc3ogLSBuZnM0Ml9tYXhzZXR4 YXR0cl9vdmVyaGVhZDsNCj4gKwlzZXJ2ZXJfbHhhX3N6ID0gc2Vzcy0+ZmNfYXR0cnMubWF4X3Jl c3Bfc3ogLQ0KPiArCSAgICBuZnM0Ml9tYXhsaXN0eGF0dHJzX292ZXJoZWFkOw0KPiArDQo+ICsJ aWYgKHNlcnZlci0+Z3hhc2l6ZSA+IHNlcnZlcl9neGFfc3opDQo+ICsJCXNlcnZlci0+Z3hhc2l6 ZSA9IHNlcnZlcl9neGFfc3o7DQo+ICsJaWYgKHNlcnZlci0+c3hhc2l6ZSA+IHNlcnZlcl9zeGFf c3opDQo+ICsJCXNlcnZlci0+c3hhc2l6ZSA9IHNlcnZlcl9zeGFfc3o7DQo+ICsJaWYgKHNlcnZl ci0+bHhhc2l6ZSA+IHNlcnZlcl9seGFfc3opDQo+ICsJCXNlcnZlci0+bHhhc2l6ZSA9IHNlcnZl cl9seGFfc3o7DQo+ICsjZW5kaWYNCj4gK30NCj4gKw0KPiAgc3RhdGljIGludCBuZnM0X3NlcnZl cl9jb21tb25fc2V0dXAoc3RydWN0IG5mc19zZXJ2ZXIgKnNlcnZlciwNCj4gIAkJc3RydWN0IG5m c19maCAqbW50ZmgsIGJvb2wgYXV0aF9wcm9iZSkNCj4gIHsNCj4gQEAgLTEwNDAsNiArMTA3MCw3 IEBAIHN0YXRpYyBpbnQgbmZzNF9zZXJ2ZXJfY29tbW9uX3NldHVwKHN0cnVjdCBuZnNfc2VydmVy DQo+ICpzZXJ2ZXIsDQo+ICAJCWdvdG8gb3V0Ow0KPiAgDQo+ICAJbmZzNF9zZXNzaW9uX2xpbWl0 X3J3c2l6ZShzZXJ2ZXIpOw0KPiArCW5mczRfc2Vzc2lvbl9saW1pdF94YXNpemUoc2VydmVyKTsN Cj4gIA0KPiAgCWlmIChzZXJ2ZXItPm5hbWVsZW4gPT0gMCB8fCBzZXJ2ZXItPm5hbWVsZW4gPiBO RlM0X01BWE5BTUxFTikNCj4gIAkJc2VydmVyLT5uYW1lbGVuID0gTkZTNF9NQVhOQU1MRU47DQo+ IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L25mc19mc19zYi5oIGIvaW5jbHVkZS9saW51eC9u ZnNfZnNfc2IuaA0KPiBpbmRleCBkODgxZjdhMzhiYzkuLjdlYWU3MmE4NzYyZSAxMDA2NDQNCj4g LS0tIGEvaW5jbHVkZS9saW51eC9uZnNfZnNfc2IuaA0KPiArKysgYi9pbmNsdWRlL2xpbnV4L25m c19mc19zYi5oDQo+IEBAIC0xNjMsNiArMTYzLDExIEBAIHN0cnVjdCBuZnNfc2VydmVyIHsNCj4g IAl1bnNpZ25lZCBpbnQJCWR0c2l6ZTsJCS8qIHJlYWRkaXIgc2l6ZSAqLw0KPiAgCXVuc2lnbmVk IHNob3J0CQlwb3J0OwkJLyogInBvcnQ9IiBzZXR0aW5nICovDQo+ICAJdW5zaWduZWQgaW50CQli c2l6ZTsJCS8qIHNlcnZlciBibG9jayBzaXplICovDQo+ICsjaWZkZWYgQ09ORklHX05GU19WNF8y DQo+ICsJdW5zaWduZWQgaW50CQlneGFzaXplOwkvKiBnZXR4YXR0ciBzaXplICovDQo+ICsJdW5z aWduZWQgaW50CQlzeGFzaXplOwkvKiBzZXR4YXR0ciBzaXplICovDQo+ICsJdW5zaWduZWQgaW50 CQlseGFzaXplOwkvKiBsaXN0eGF0dHIgc2l6ZSAqLw0KPiArI2VuZGlmDQo+ICAJdW5zaWduZWQg aW50CQlhY3JlZ21pbjsJLyogYXR0ciBjYWNoZSB0aW1lb3V0cyAqLw0KPiAgCXVuc2lnbmVkIGlu dAkJYWNyZWdtYXg7DQo+ICAJdW5zaWduZWQgaW50CQlhY2Rpcm1pbjsNCg==