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 X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4F576C282DA for ; Thu, 18 Apr 2019 03:30:29 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 99C1B217F4 for ; Thu, 18 Apr 2019 03:30:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b="gn2YXjwD"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=marvell.onmicrosoft.com header.i=@marvell.onmicrosoft.com header.b="UQlrvyoy" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 99C1B217F4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=marvell.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F41661B8F7; Thu, 18 Apr 2019 05:30:26 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 440261B8CF for ; Thu, 18 Apr 2019 05:30:25 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x3I3KgIf032214; Wed, 17 Apr 2019 20:30:23 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=eBc0+wm+i/x2txsfI6/kDMABRaxRJXgqTRHu/6d/W3w=; b=gn2YXjwDq/Edxb5iQhr/5LZI9ZVZc3ofAYDSWGJAHkKlVXkmJX325rVhWfAO5Tz7MB/+ Vvd0AtCgXcmmZ6NCDlj6uCMfQ2MhT2N1YSEZKOd3s06Z00/R5mr2kOMvMBOXRSNZp1Lc NymZNKA1bnvM8N69GfvywoX3EJ0bfZIFvddwfk+lw3+aA5F/S0fSHFKZ00+zONOFHGDF SvqCKMZ0dgwju/zjHthJthP0L3tIcITDYShhJX+g5YrZly6clW5mDPOwJuK84PC6vaqN WD6GFdmhwbu/dHiPN2gCASX11wEUSvblKBgR0u2aVezgudpQjxI5ANPl+1oDcy3n44Tf Sw== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 2rx3mpkbf4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 17 Apr 2019 20:30:23 -0700 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 17 Apr 2019 20:30:23 -0700 Received: from NAM03-DM3-obe.outbound.protection.outlook.com (104.47.41.59) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Wed, 17 Apr 2019 20:30:22 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eBc0+wm+i/x2txsfI6/kDMABRaxRJXgqTRHu/6d/W3w=; b=UQlrvyoySZLK756tGUMxtETtCh5JArm1F4UNSExWVfe7+WYCluHCdtjOVUx3LrSel2XnEVymL4C//HtQD0k7dAJDDZ9a0atX2MiB5pWJL2F/2Yf6d+O1KcbqBu9lxUG9wQso/uEx+kS4D/cjdxxSzfBiHCiP/E6Mz8DfDkBMlBA= Received: from MN2PR18MB2877.namprd18.prod.outlook.com (20.179.20.218) by MN2PR18MB2415.namprd18.prod.outlook.com (20.179.81.205) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.18; Thu, 18 Apr 2019 03:30:20 +0000 Received: from MN2PR18MB2877.namprd18.prod.outlook.com ([fe80::8c8d:3cce:d106:bf62]) by MN2PR18MB2877.namprd18.prod.outlook.com ([fe80::8c8d:3cce:d106:bf62%6]) with mapi id 15.20.1792.022; Thu, 18 Apr 2019 03:30:20 +0000 From: Anoob Joseph To: Akhil Goyal , Pablo de Lara CC: Anoob Joseph , Jerin Jacob Kollanukkaran , Narayana Prasad Raju Athreya , Shally Verma , "dev@dpdk.org" Thread-Topic: [PATCH] crypto/octeontx: use distinct metabuf pool for each queue Thread-Index: AQHU9ZcMzMZFzQhwj0uM/ETebOLGoQ== Date: Thu, 18 Apr 2019 03:30:19 +0000 Message-ID: <20190418032953.2102-1-anoobj@marvell.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BMXPR01CA0085.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:54::25) To MN2PR18MB2877.namprd18.prod.outlook.com (2603:10b6:208:3b::26) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.9.5 x-originating-ip: [115.113.156.2] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9af9057a-6368-41c6-0f9b-08d6c3ae2e3c x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600141)(711020)(4605104)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:MN2PR18MB2415; x-ms-traffictypediagnostic: MN2PR18MB2415: x-microsoft-antispam-prvs: x-forefront-prvs: 0011612A55 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(366004)(39860400002)(136003)(396003)(346002)(189003)(199004)(81166006)(4326008)(14454004)(55236004)(7736002)(6506007)(99286004)(25786009)(478600001)(53936002)(71200400001)(53946003)(386003)(71190400001)(305945005)(102836004)(1076003)(186003)(30864003)(6116002)(68736007)(6512007)(97736004)(50226002)(6436002)(256004)(5660300002)(2906002)(14444005)(26005)(476003)(2616005)(52116002)(86362001)(8936002)(8676002)(81156014)(316002)(110136005)(36756003)(54906003)(486006)(6486002)(66066001)(3846002); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR18MB2415; H:MN2PR18MB2877.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: Tj7z1+gX9DkzzCoCQNbx/9clbgZLD/0RcUMOjmFLRMvRQpJJuhGpv/WFdSz7xxPbBrkA9WcPt2V8c+/LMU4i5eBEpqSzZk0i9Uv4xzaD9fc5GijMOHzW36VgUrygH7wVBAKH6ELPPWAePHj+nIEv2WZtkGBK+voNVmcwUkD+pdYcrk66ncyVLtaTp/+EHPlUUEpK8hLKsV0vx8KE72delDo9jVapD5HZSIg45g6BHSwp2LSosVu2Bt4hYf75coJfU6Oed7OvTKqGNPBYSEDTcd2dIprhabqRfMUbtuuaVs79lONQ+IuythYaK+a+tFtpZJJOiLCrZQVYnaW40M+Xtfn3DQGzF4iAX73Z6a5R3R2O7UuVUAXQ3Vi4bpCZdYW6cKBV3DPCcmkqFuMPjPf4//3xgaI1t3clDLp3tZwATms= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 9af9057a-6368-41c6-0f9b-08d6c3ae2e3c X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2019 03:30:20.0477 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB2415 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-04-18_02:, , signatures=0 Subject: [dpdk-dev] [PATCH] crypto/octeontx: use distinct metabuf pool for each queue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" VGhlIG1ldGFidWYgcG9vbCBpcyBzaGFyZWQgYWNyb3NzIGFsbCBxdWV1ZSBwYWlycyBiZWxvbmdp bmcgdG8gdGhlDQpQTUQuIEluIG9yZGVyIHRvIHByZXZlbnQgb25lIHF1ZXVlIHBhaXIgZnJvbSBz dGFydmluZyBhbm90aGVyLA0KdXNlIGEgZGlzdGluY3QgbWVtcG9vbCBmb3IgZWFjaCBxdWV1ZSBw YWlyLg0KDQpGaXhlczogMjczNDg3ZjdiMzgxICgiY3J5cHRvL29jdGVvbnR4OiBhZGQgZ2xvYmFs IHJlc291cmNlIGluaXQiKQ0KDQpTaWduZWQtb2ZmLWJ5OiBBbm9vYiBKb3NlcGggPGFub29iakBt YXJ2ZWxsLmNvbT4NCi0tLQ0KIGRyaXZlcnMvY29tbW9uL2NwdC9jcHRfY29tbW9uLmggICAgICAg ICAgICAgICAgICAgfCAgMTAgKystDQogZHJpdmVycy9jb21tb24vY3B0L2NwdF91Y29kZS5oICAg ICAgICAgICAgICAgICAgICB8ICAyNCArKystLQ0KIGRyaXZlcnMvY3J5cHRvL29jdGVvbnR4L290 eF9jcnlwdG9kZXYuYyAgICAgICAgICAgfCAgIDMgLQ0KIGRyaXZlcnMvY3J5cHRvL29jdGVvbnR4 L290eF9jcnlwdG9kZXZfaHdfYWNjZXNzLmMgfCAxMDUgKysrKysrKysrKysrKysrKysrKystLQ0K IGRyaXZlcnMvY3J5cHRvL29jdGVvbnR4L290eF9jcnlwdG9kZXZfaHdfYWNjZXNzLmggfCAgIDcg Ky0NCiBkcml2ZXJzL2NyeXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2X29wcy5jICAgICAgIHwg IDk4ICsrLS0tLS0tLS0tLS0tLS0tLS0tDQogZHJpdmVycy9jcnlwdG8vb2N0ZW9udHgvb3R4X2Ny eXB0b2Rldl9vcHMuaCAgICAgICB8ICAgMyAtDQogNyBmaWxlcyBjaGFuZ2VkLCAxMjcgaW5zZXJ0 aW9ucygrKSwgMTIzIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb21tb24v Y3B0L2NwdF9jb21tb24uaCBiL2RyaXZlcnMvY29tbW9uL2NwdC9jcHRfY29tbW9uLmgNCmluZGV4 IGNlYjMyZjIuLjMyZjIzYWMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2NvbW1vbi9jcHQvY3B0X2Nv bW1vbi5oDQorKysgYi9kcml2ZXJzL2NvbW1vbi9jcHQvY3B0X2NvbW1vbi5oDQpAQCAtNSw2ICs1 LDggQEANCiAjaWZuZGVmIF9DUFRfQ09NTU9OX0hfDQogI2RlZmluZSBfQ1BUX0NPTU1PTl9IXw0K IA0KKyNpbmNsdWRlIDxydGVfbWVtcG9vbC5oPg0KKw0KIC8qDQogICogVGhpcyBmaWxlIGRlZmlu ZXMgY29tbW9uIG1hY3JvcyBhbmQgc3RydWN0cw0KICAqLw0KQEAgLTM4LDEwICs0MCwxMCBAQA0K IA0KICNkZWZpbmUgTU9EX0lOQyhpLCBsKSAgICgoaSkgPT0gKGwgLSAxKSA/IChpKSA9IDAgOiAo aSkrKykNCiANCi1zdHJ1Y3QgY3B0dmZfbWV0YV9pbmZvIHsNCi0Jdm9pZCAqY3B0dmZfbWV0YV9w b29sOw0KLQlpbnQgY3B0dmZfb3BfbWxlbjsNCi0JaW50IGNwdHZmX29wX3NiX21sZW47DQorc3Ry dWN0IGNwdF9xcF9tZXRhX2luZm8gew0KKwlzdHJ1Y3QgcnRlX21lbXBvb2wgKnBvb2w7DQorCWlu dCBzZ19tbGVuOw0KKwlpbnQgbGJfbWxlbjsNCiB9Ow0KIA0KIHN0cnVjdCByaWQgew0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvY29tbW9uL2NwdC9jcHRfdWNvZGUuaCBiL2RyaXZlcnMvY29tbW9uL2Nw dC9jcHRfdWNvZGUuaA0KaW5kZXggMjM5YzVkZi4uZjIxMzUyZSAxMDA2NDQNCi0tLSBhL2RyaXZl cnMvY29tbW9uL2NwdC9jcHRfdWNvZGUuaA0KKysrIGIvZHJpdmVycy9jb21tb24vY3B0L2NwdF91 Y29kZS5oDQpAQCAtMzE0Nyw3ICszMTQ3LDcgQEAgcHJlcGFyZV9pb3ZfZnJvbV9wa3RfaW5wbGFj ZShzdHJ1Y3QgcnRlX21idWYgKnBrdCwNCiBzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSBpbnQN CiBmaWxsX2ZjX3BhcmFtcyhzdHJ1Y3QgcnRlX2NyeXB0b19vcCAqY29wLA0KIAkgICAgICAgc3Ry dWN0IGNwdF9zZXNzX21pc2MgKnNlc3NfbWlzYywNCi0JICAgICAgIHN0cnVjdCBjcHR2Zl9tZXRh X2luZm8gKmNwdF9tX2luZm8sDQorCSAgICAgICBzdHJ1Y3QgY3B0X3FwX21ldGFfaW5mbyAqbV9p bmZvLA0KIAkgICAgICAgdm9pZCAqKm1kYXRhX3B0ciwNCiAJICAgICAgIHZvaWQgKipwcmVwX3Jl cSkNCiB7DQpAQCAtMzM2NSwxNSArMzM2NSwxMSBAQCBmaWxsX2ZjX3BhcmFtcyhzdHJ1Y3QgcnRl X2NyeXB0b19vcCAqY29wLA0KIAl9DQogDQogCWlmIChsaWtlbHkoZmxhZ3MgJiBTSU5HTEVfQlVG X0hFQURUQUlMUk9PTSkpDQotCQltZGF0YSA9IGFsbG9jX29wX21ldGEobV9zcmMsDQotCQkJCSAg ICAgICZmY19wYXJhbXMubWV0YV9idWYsDQotCQkJCSAgICAgIGNwdF9tX2luZm8tPmNwdHZmX29w X3NiX21sZW4sDQotCQkJCSAgICAgIGNwdF9tX2luZm8tPmNwdHZmX21ldGFfcG9vbCk7DQorCQlt ZGF0YSA9IGFsbG9jX29wX21ldGEobV9zcmMsICZmY19wYXJhbXMubWV0YV9idWYsDQorCQkJCSAg ICAgIG1faW5mby0+bGJfbWxlbiwgbV9pbmZvLT5wb29sKTsNCiAJZWxzZQ0KLQkJbWRhdGEgPSBh bGxvY19vcF9tZXRhKE5VTEwsDQotCQkJCSAgICAgICZmY19wYXJhbXMubWV0YV9idWYsDQotCQkJ CSAgICAgIGNwdF9tX2luZm8tPmNwdHZmX29wX21sZW4sDQotCQkJCSAgICAgIGNwdF9tX2luZm8t PmNwdHZmX21ldGFfcG9vbCk7DQorCQltZGF0YSA9IGFsbG9jX29wX21ldGEoTlVMTCwgJmZjX3Bh cmFtcy5tZXRhX2J1ZiwNCisJCQkJICAgICAgbV9pbmZvLT5zZ19tbGVuLCBtX2luZm8tPnBvb2wp Ow0KIA0KIAlpZiAodW5saWtlbHkobWRhdGEgPT0gTlVMTCkpIHsNCiAJCUNQVF9MT0dfRFBfRVJS KCJFcnJvciBhbGxvY2F0aW5nIG1ldGEgYnVmZmVyIGZvciByZXF1ZXN0Iik7DQpAQCAtMzQxMCw3 ICszNDA2LDcgQEAgZmlsbF9mY19wYXJhbXMoc3RydWN0IHJ0ZV9jcnlwdG9fb3AgKmNvcCwNCiAJ cmV0dXJuIDA7DQogDQogZnJlZV9tZGF0YV9hbmRfZXhpdDoNCi0JZnJlZV9vcF9tZXRhKG1kYXRh LCBjcHRfbV9pbmZvLT5jcHR2Zl9tZXRhX3Bvb2wpOw0KKwlmcmVlX29wX21ldGEobWRhdGEsIG1f aW5mby0+cG9vbCk7DQogZXJyX2V4aXQ6DQogCXJldHVybiByZXQ7DQogfQ0KQEAgLTM1MjEsNyAr MzUxNyw3IEBAIGZpbmRfa2FzdW1pZjlfZGlyZWN0aW9uX2FuZF9sZW5ndGgodWludDhfdCAqc3Jj LA0KIHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lIGludA0KIGZpbGxfZGlnZXN0X3BhcmFtcyhz dHJ1Y3QgcnRlX2NyeXB0b19vcCAqY29wLA0KIAkJICAgc3RydWN0IGNwdF9zZXNzX21pc2MgKnNl c3MsDQotCQkgICBzdHJ1Y3QgY3B0dmZfbWV0YV9pbmZvICpjcHRfbV9pbmZvLA0KKwkJICAgc3Ry dWN0IGNwdF9xcF9tZXRhX2luZm8gKm1faW5mbywNCiAJCSAgIHZvaWQgKiptZGF0YV9wdHIsDQog CQkgICB2b2lkICoqcHJlcF9yZXEpDQogew0KQEAgLTM1NDcsOCArMzU0Myw4IEBAIGZpbGxfZGln ZXN0X3BhcmFtcyhzdHJ1Y3QgcnRlX2NyeXB0b19vcCAqY29wLA0KIAltX3NyYyA9IHN5bV9vcC0+ bV9zcmM7DQogDQogCS8qIEZvciBqdXN0IGRpZ2VzdCBsZXRzIGZvcmNlIG1lbXBvb2wgYWxsb2Mg Ki8NCi0JbWRhdGEgPSBhbGxvY19vcF9tZXRhKE5VTEwsICZwYXJhbXMubWV0YV9idWYsIGNwdF9t X2luZm8tPmNwdHZmX29wX21sZW4sDQotCQkJICAgICAgY3B0X21faW5mby0+Y3B0dmZfbWV0YV9w b29sKTsNCisJbWRhdGEgPSBhbGxvY19vcF9tZXRhKE5VTEwsICZwYXJhbXMubWV0YV9idWYsIG1f aW5mby0+c2dfbWxlbiwNCisJCQkgICAgICBtX2luZm8tPnBvb2wpOw0KIAlpZiAobWRhdGEgPT0g TlVMTCkgew0KIAkJcmV0ID0gLUVOT01FTTsNCiAJCWdvdG8gZXJyX2V4aXQ7DQpAQCAtMzY4Myw3 ICszNjc5LDcgQEAgZmlsbF9kaWdlc3RfcGFyYW1zKHN0cnVjdCBydGVfY3J5cHRvX29wICpjb3As DQogCXJldHVybiAwOw0KIA0KIGZyZWVfbWRhdGFfYW5kX2V4aXQ6DQotCWZyZWVfb3BfbWV0YSht ZGF0YSwgY3B0X21faW5mby0+Y3B0dmZfbWV0YV9wb29sKTsNCisJZnJlZV9vcF9tZXRhKG1kYXRh LCBtX2luZm8tPnBvb2wpOw0KIGVycl9leGl0Og0KIAlyZXR1cm4gcmV0Ow0KIH0NCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2NyeXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2LmMgYi9kcml2ZXJzL2Ny eXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2LmMNCmluZGV4IGIyMDFlMGEuLmZjNjRhNWYgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL2NyeXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2LmMNCisrKyBi L2RyaXZlcnMvY3J5cHRvL29jdGVvbnR4L290eF9jcnlwdG9kZXYuYw0KQEAgLTEwNCw5ICsxMDQs NiBAQCBvdHhfY3B0X3BjaV9yZW1vdmUoc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KQ0K IAljcnlwdG9kZXYtPmRldmljZSA9IE5VTEw7DQogCWNyeXB0b2Rldi0+ZGF0YSA9IE5VTEw7DQog DQotCS8qIGZyZWUgbWV0YXBvb2wgbWVtb3J5ICovDQotCWNsZWFudXBfZ2xvYmFsX3Jlc291cmNl cygpOw0KLQ0KIAlyZXR1cm4gMDsNCiB9DQogDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8v b2N0ZW9udHgvb3R4X2NyeXB0b2Rldl9od19hY2Nlc3MuYyBiL2RyaXZlcnMvY3J5cHRvL29jdGVv bnR4L290eF9jcnlwdG9kZXZfaHdfYWNjZXNzLmMNCmluZGV4IDE4ZjJlNmIuLmViYTYyOTMgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL2NyeXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2X2h3X2FjY2Vz cy5jDQorKysgYi9kcml2ZXJzL2NyeXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2X2h3X2FjY2Vz cy5jDQpAQCAtNyw3ICs3LDkgQEANCiANCiAjaW5jbHVkZSA8cnRlX2JyYW5jaF9wcmVkaWN0aW9u Lmg+DQogI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4NCisjaW5jbHVkZSA8cnRlX2NyeXB0b2Rldi5o Pg0KICNpbmNsdWRlIDxydGVfZXJybm8uaD4NCisjaW5jbHVkZSA8cnRlX21lbXBvb2wuaD4NCiAj aW5jbHVkZSA8cnRlX21lbXpvbmUuaD4NCiAjaW5jbHVkZSA8cnRlX3N0cmluZ19mbnMuaD4NCiAN CkBAIC0xNSw4ICsxNywxMSBAQA0KICNpbmNsdWRlICJvdHhfY3J5cHRvZGV2X21ib3guaCINCiAN CiAjaW5jbHVkZSAiY3B0X3BtZF9sb2dzLmgiDQorI2luY2x1ZGUgImNwdF9wbWRfb3BzX2hlbHBl ci5oIg0KICNpbmNsdWRlICJjcHRfaHdfdHlwZXMuaCINCiANCisjZGVmaW5lIE1FVEFCVUZfUE9P TF9DQUNIRV9TSVpFCTUxMg0KKw0KIC8qDQogICogVkYgSEFMIGZ1bmN0aW9ucw0KICAqIEFjY2Vz cyBpdHMgb3duIEJBUjAvNCByZWdpc3RlcnMgYnkgcGFzc2luZyBWRiBudW1iZXIgYXMgMC4NCkBA IC0zOTUsMTIgKzQwMCw5MCBAQCBvdHhfY3B0X2RlaW5pdF9kZXZpY2Uodm9pZCAqZGV2KQ0KIAly ZXR1cm4gMDsNCiB9DQogDQorc3RhdGljIGludA0KK290eF9jcHRfbWV0YWJ1Zl9tZW1wb29sX2Ny ZWF0ZShjb25zdCBzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2LA0KKwkJCSAgICAgICBzdHJ1Y3Qg Y3B0X2luc3RhbmNlICppbnN0YW5jZSwgdWludDhfdCBxcF9pZCwNCisJCQkgICAgICAgaW50IG5i X2VsZW1lbnRzKQ0KK3sNCisJY2hhciBtZW1wb29sX25hbWVbUlRFX01FTVBPT0xfTkFNRVNJWkVd Ow0KKwlpbnQgc2dfbWxlbiwgbGJfbWxlbiwgbWF4X21sZW4sIHJldDsNCisJc3RydWN0IGNwdF9x cF9tZXRhX2luZm8gKm1ldGFfaW5mbzsNCisJc3RydWN0IHJ0ZV9tZW1wb29sICpwb29sOw0KKw0K KwkvKiBHZXQgbWV0YSBsZW4gZm9yIHNjYXR0ZXIgZ2F0aGVyIG1vZGUgKi8NCisJc2dfbWxlbiA9 IGNwdF9wbWRfb3BzX2hlbHBlcl9nZXRfbWxlbl9zZ19tb2RlKCk7DQorDQorCS8qIEV4dHJhIDMy QiBzYXZlZCBmb3IgZnV0dXJlIGNvbnNpZGVyYXRpb25zICovDQorCXNnX21sZW4gKz0gNCAqIHNp emVvZih1aW50NjRfdCk7DQorDQorCS8qIEdldCBtZXRhIGxlbiBmb3IgbGluZWFyIGJ1ZmZlciAo ZGlyZWN0KSBtb2RlICovDQorCWxiX21sZW4gPSBjcHRfcG1kX29wc19oZWxwZXJfZ2V0X21sZW5f ZGlyZWN0X21vZGUoKTsNCisNCisJLyogRXh0cmEgMzJCIHNhdmVkIGZvciBmdXR1cmUgY29uc2lk ZXJhdGlvbnMgKi8NCisJbGJfbWxlbiArPSA0ICogc2l6ZW9mKHVpbnQ2NF90KTsNCisNCisJLyog Q2hlY2sgbWF4IHJlcXVpcmVtZW50IGZvciBtZXRhIGJ1ZmZlciAqLw0KKwltYXhfbWxlbiA9IFJU RV9NQVgobGJfbWxlbiwgc2dfbWxlbik7DQorDQorCS8qIEFsbG9jYXRlIG1lbXBvb2wgKi8NCisN CisJc25wcmludGYobWVtcG9vbF9uYW1lLCBSVEVfTUVNUE9PTF9OQU1FU0laRSwgIm90eF9jcHRf bWJfJXU6JXUiLA0KKwkJIGRldi0+ZGF0YS0+ZGV2X2lkLCBxcF9pZCk7DQorDQorCXBvb2wgPSBy dGVfbWVtcG9vbF9jcmVhdGVfZW1wdHkobWVtcG9vbF9uYW1lLCBuYl9lbGVtZW50cywgbWF4X21s ZW4sDQorCQkJCQlNRVRBQlVGX1BPT0xfQ0FDSEVfU0laRSwgMCwNCisJCQkJCXJ0ZV9zb2NrZXRf aWQoKSwgMCk7DQorDQorCWlmIChwb29sID09IE5VTEwpIHsNCisJCUNQVF9MT0dfRVJSKCJDb3Vs ZCBub3QgY3JlYXRlIG1lbXBvb2wgZm9yIG1ldGFidWYiKTsNCisJCXJldHVybiBydGVfZXJybm87 DQorCX0NCisNCisJcmV0ID0gcnRlX21lbXBvb2xfc2V0X29wc19ieW5hbWUocG9vbCwgUlRFX01C VUZfREVGQVVMVF9NRU1QT09MX09QUywNCisJCQkJCSBOVUxMKTsNCisJaWYgKHJldCkgew0KKwkJ Q1BUX0xPR19FUlIoIkNvdWxkIG5vdCBzZXQgbWVtcG9vbCBvcHMiKTsNCisJCWdvdG8gbWVtcG9v bF9mcmVlOw0KKwl9DQorDQorCXJldCA9IHJ0ZV9tZW1wb29sX3BvcHVsYXRlX2RlZmF1bHQocG9v bCk7DQorCWlmIChyZXQgPD0gMCkgew0KKwkJQ1BUX0xPR19FUlIoIkNvdWxkIG5vdCBwb3B1bGF0 ZSBtZXRhYnVmIHBvb2wiKTsNCisJCWdvdG8gbWVtcG9vbF9mcmVlOw0KKwl9DQorDQorCW1ldGFf aW5mbyA9ICZpbnN0YW5jZS0+bWV0YV9pbmZvOw0KKw0KKwltZXRhX2luZm8tPnBvb2wgPSBwb29s Ow0KKwltZXRhX2luZm8tPmxiX21sZW4gPSBsYl9tbGVuOw0KKwltZXRhX2luZm8tPnNnX21sZW4g PSBzZ19tbGVuOw0KKw0KKwlyZXR1cm4gMDsNCisNCittZW1wb29sX2ZyZWU6DQorCXJ0ZV9tZW1w b29sX2ZyZWUocG9vbCk7DQorCXJldHVybiByZXQ7DQorfQ0KKw0KK3N0YXRpYyB2b2lkDQorb3R4 X2NwdF9tZXRhYnVmX21lbXBvb2xfZGVzdHJveShzdHJ1Y3QgY3B0X2luc3RhbmNlICppbnN0YW5j ZSkNCit7DQorCXN0cnVjdCBjcHRfcXBfbWV0YV9pbmZvICptZXRhX2luZm8gPSAmaW5zdGFuY2Ut Pm1ldGFfaW5mbzsNCisNCisJcnRlX21lbXBvb2xfZnJlZShtZXRhX2luZm8tPnBvb2wpOw0KKw0K KwltZXRhX2luZm8tPnBvb2wgPSBOVUxMOw0KKwltZXRhX2luZm8tPmxiX21sZW4gPSAwOw0KKwlt ZXRhX2luZm8tPnNnX21sZW4gPSAwOw0KK30NCisNCiBpbnQNCi1vdHhfY3B0X2dldF9yZXNvdXJj ZSh2b2lkICpkZXYsIHVpbnQ4X3QgZ3JvdXAsIHN0cnVjdCBjcHRfaW5zdGFuY2UgKippbnN0YW5j ZSkNCitvdHhfY3B0X2dldF9yZXNvdXJjZShjb25zdCBzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2 LCB1aW50OF90IGdyb3VwLA0KKwkJICAgICBzdHJ1Y3QgY3B0X2luc3RhbmNlICoqaW5zdGFuY2Us IHVpbnQxNl90IHFwX2lkKQ0KIHsNCiAJaW50IHJldCA9IC1FTk9FTlQsIGxlbiwgcWxlbiwgaTsN CiAJaW50IGNodW5rX2xlbiwgY2h1bmtzLCBjaHVua19zaXplOw0KLQlzdHJ1Y3QgY3B0X3ZmICpj cHR2ZiA9IChzdHJ1Y3QgY3B0X3ZmICopZGV2Ow0KKwlzdHJ1Y3QgY3B0X3ZmICpjcHR2ZiA9IGRl di0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQogCXN0cnVjdCBjcHRfaW5zdGFuY2UgKmNwdF9pbnN0YW5j ZTsNCiAJc3RydWN0IGNvbW1hbmRfY2h1bmsgKmNodW5rX2hlYWQgPSBOVUxMLCAqY2h1bmtfcHJl diA9IE5VTEw7DQogCXN0cnVjdCBjb21tYW5kX2NodW5rICpjaHVuayA9IE5VTEw7DQpAQCAtNDQ2 LDcgKzUyOSw3IEBAIG90eF9jcHRfZ2V0X3Jlc291cmNlKHZvaWQgKmRldiwgdWludDhfdCBncm91 cCwgc3RydWN0IGNwdF9pbnN0YW5jZSAqKmluc3RhbmNlKQ0KIAkJCQkJIFJURV9DQUNIRV9MSU5F X1NJWkUpOw0KIAlpZiAoIXJ6KSB7DQogCQlyZXQgPSBydGVfZXJybm87DQotCQlnb3RvIGNsZWFu dXA7DQorCQlnb3RvIGV4aXQ7DQogCX0NCiANCiAJbWVtID0gcnotPmFkZHI7DQpAQCAtNDU3LDYg KzU0MCwxMiBAQCBvdHhfY3B0X2dldF9yZXNvdXJjZSh2b2lkICpkZXYsIHVpbnQ4X3QgZ3JvdXAs IHN0cnVjdCBjcHRfaW5zdGFuY2UgKippbnN0YW5jZSkNCiANCiAJY3B0X2luc3RhbmNlLT5yc3Zk ID0gKHVpbnRwdHJfdClyejsNCiANCisJcmV0ID0gb3R4X2NwdF9tZXRhYnVmX21lbXBvb2xfY3Jl YXRlKGRldiwgY3B0X2luc3RhbmNlLCBxcF9pZCwgcWxlbik7DQorCWlmIChyZXQpIHsNCisJCUNQ VF9MT0dfRVJSKCJDb3VsZCBub3QgY3JlYXRlIG1lbXBvb2wgZm9yIG1ldGFidWYiKTsNCisJCWdv dG8gbWVtem9uZV9mcmVlOw0KKwl9DQorDQogCS8qIFBlbmRpbmcgcXVldWUgc2V0dXAgKi8NCiAJ Y3B0dmYtPnBxdWV1ZS5yaWRfcXVldWUgPSAoc3RydWN0IHJpZCAqKW1lbTsNCiAJY3B0dmYtPnBx dWV1ZS5lbnFfdGFpbCA9IDA7DQpAQCAtNTEzLDcgKzYwMiw3IEBAIG90eF9jcHRfZ2V0X3Jlc291 cmNlKHZvaWQgKmRldiwgdWludDhfdCBncm91cCwgc3RydWN0IGNwdF9pbnN0YW5jZSAqKmluc3Rh bmNlKQ0KIAkJQ1BUX0xPR19FUlIoIkZhaWxlZCB0byBpbml0aWFsaXplIENQVCBWUSBvZiBkZXZp Y2UgJXMiLA0KIAkJCSAgICBjcHR2Zi0+ZGV2X25hbWUpOw0KIAkJcmV0ID0gLUVCVVNZOw0KLQkJ Z290byBjbGVhbnVwOw0KKwkJZ290byBtZW1wb29sX2Rlc3Ryb3k7DQogCX0NCiANCiAJKmluc3Rh bmNlID0gY3B0X2luc3RhbmNlOw0KQEAgLTUyMSw4ICs2MTAsMTIgQEAgb3R4X2NwdF9nZXRfcmVz b3VyY2Uodm9pZCAqZGV2LCB1aW50OF90IGdyb3VwLCBzdHJ1Y3QgY3B0X2luc3RhbmNlICoqaW5z dGFuY2UpDQogCUNQVF9MT0dfRFBfREVCVUcoIkNyeXB0byBkZXZpY2UgKCVzKSBpbml0aWFsaXpl ZCIsIGNwdHZmLT5kZXZfbmFtZSk7DQogDQogCXJldHVybiAwOw0KLWNsZWFudXA6DQorDQorbWVt cG9vbF9kZXN0cm95Og0KKwlvdHhfY3B0X21ldGFidWZfbWVtcG9vbF9kZXN0cm95KGNwdF9pbnN0 YW5jZSk7DQorbWVtem9uZV9mcmVlOg0KIAlydGVfbWVtem9uZV9mcmVlKHJ6KTsNCitleGl0Og0K IAkqaW5zdGFuY2UgPSBOVUxMOw0KIAlyZXR1cm4gcmV0Ow0KIH0NCkBAIC01NDAsNiArNjMzLDgg QEAgb3R4X2NwdF9wdXRfcmVzb3VyY2Uoc3RydWN0IGNwdF9pbnN0YW5jZSAqaW5zdGFuY2UpDQog DQogCUNQVF9MT0dfRFBfREVCVUcoIlJlbGVhc2luZyBjcHQgZGV2aWNlICVzIiwgY3B0dmYtPmRl dl9uYW1lKTsNCiANCisJb3R4X2NwdF9tZXRhYnVmX21lbXBvb2xfZGVzdHJveShpbnN0YW5jZSk7 DQorDQogCXJ6ID0gKHN0cnVjdCBydGVfbWVtem9uZSAqKWluc3RhbmNlLT5yc3ZkOw0KIAlydGVf bWVtem9uZV9mcmVlKHJ6KTsNCiAJcmV0dXJuIDA7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlw dG8vb2N0ZW9udHgvb3R4X2NyeXB0b2Rldl9od19hY2Nlc3MuaCBiL2RyaXZlcnMvY3J5cHRvL29j dGVvbnR4L290eF9jcnlwdG9kZXZfaHdfYWNjZXNzLmgNCmluZGV4IGRlYTRjYmEuLjYzYzE5OWUg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL2NyeXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2X2h3X2Fj Y2Vzcy5oDQorKysgYi9kcml2ZXJzL2NyeXB0by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2X2h3X2Fj Y2Vzcy5oDQpAQCAtNyw2ICs3LDcgQEANCiAjaW5jbHVkZSA8c3RkYm9vbC5oPg0KIA0KICNpbmNs dWRlIDxydGVfYnJhbmNoX3ByZWRpY3Rpb24uaD4NCisjaW5jbHVkZSA8cnRlX2NyeXB0b2Rldi5o Pg0KICNpbmNsdWRlIDxydGVfY3ljbGVzLmg+DQogI2luY2x1ZGUgPHJ0ZV9pby5oPg0KICNpbmNs dWRlIDxydGVfbWVtb3J5Lmg+DQpAQCAtNDEsNiArNDIsNyBAQCBzdHJ1Y3QgY3B0X2luc3RhbmNl IHsNCiAJdWludHB0cl90IHJzdmQ7DQogCXN0cnVjdCBydGVfbWVtcG9vbCAqc2Vzc19tcDsNCiAJ c3RydWN0IHJ0ZV9tZW1wb29sICpzZXNzX21wX3ByaXY7DQorCXN0cnVjdCBjcHRfcXBfbWV0YV9p bmZvIG1ldGFfaW5mbzsNCiB9Ow0KIA0KIHN0cnVjdCBjb21tYW5kX2NodW5rIHsNCkBAIC03Niw4 ICs3OCw2IEBAIHN0cnVjdCBjcHRfdmYgew0KIAlzdHJ1Y3QgY29tbWFuZF9xdWV1ZSBjcXVldWU7 DQogCS8qKiBQZW5kaW5nIHF1ZXVlIGluZm9ybWF0aW9uICovDQogCXN0cnVjdCBwZW5kaW5nX3F1 ZXVlIHBxdWV1ZTsNCi0JLyoqIE1ldGEgaW5mb3JtYXRpb24gcGVyIHZmICovDQotCXN0cnVjdCBj cHR2Zl9tZXRhX2luZm8gbWV0YV9pbmZvOw0KIA0KIAkvKiogQmVsb3cgZmllbGRzIGFyZSBhY2Nl c3NlZCBvbmx5IGluIGNvbnRyb2wgcGF0aCAqLw0KIA0KQEAgLTE1Niw3ICsxNTYsOCBAQCBpbnQN CiBvdHhfY3B0X2RlaW5pdF9kZXZpY2Uodm9pZCAqZGV2KTsNCiANCiBpbnQNCi1vdHhfY3B0X2dl dF9yZXNvdXJjZSh2b2lkICpkZXYsIHVpbnQ4X3QgZ3JvdXAsIHN0cnVjdCBjcHRfaW5zdGFuY2Ug KippbnN0YW5jZSk7DQorb3R4X2NwdF9nZXRfcmVzb3VyY2UoY29uc3Qgc3RydWN0IHJ0ZV9jcnlw dG9kZXYgKmRldiwgdWludDhfdCBncm91cCwNCisJCSAgICAgc3RydWN0IGNwdF9pbnN0YW5jZSAq Kmluc3RhbmNlLCB1aW50MTZfdCBxcF9pZCk7DQogDQogaW50DQogb3R4X2NwdF9wdXRfcmVzb3Vy Y2Uoc3RydWN0IGNwdF9pbnN0YW5jZSAqaW5zdGFuY2UpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Y3J5cHRvL29jdGVvbnR4L290eF9jcnlwdG9kZXZfb3BzLmMgYi9kcml2ZXJzL2NyeXB0by9vY3Rl b250eC9vdHhfY3J5cHRvZGV2X29wcy5jDQppbmRleCAwZjlmMmEyLi45NjI4ZmZhIDEwMDY0NA0K LS0tIGEvZHJpdmVycy9jcnlwdG8vb2N0ZW9udHgvb3R4X2NyeXB0b2Rldl9vcHMuYw0KKysrIGIv ZHJpdmVycy9jcnlwdG8vb2N0ZW9udHgvb3R4X2NyeXB0b2Rldl9vcHMuYw0KQEAgLTYsMTAgKzYs MTEgQEANCiAjaW5jbHVkZSA8cnRlX2J1c19wY2kuaD4NCiAjaW5jbHVkZSA8cnRlX2NyeXB0b2Rl di5oPg0KICNpbmNsdWRlIDxydGVfY3J5cHRvZGV2X3BtZC5oPg0KKyNpbmNsdWRlIDxydGVfZXJy bm8uaD4NCiAjaW5jbHVkZSA8cnRlX21hbGxvYy5oPg0KKyNpbmNsdWRlIDxydGVfbWVtcG9vbC5o Pg0KIA0KICNpbmNsdWRlICJjcHRfcG1kX2xvZ3MuaCINCi0jaW5jbHVkZSAiY3B0X3BtZF9vcHNf aGVscGVyLmgiDQogI2luY2x1ZGUgImNwdF91Y29kZS5oIg0KIA0KICNpbmNsdWRlICJvdHhfY3J5 cHRvZGV2LmgiDQpAQCAtMTcsNjggKzE4LDExIEBADQogI2luY2x1ZGUgIm90eF9jcnlwdG9kZXZf aHdfYWNjZXNzLmgiDQogI2luY2x1ZGUgIm90eF9jcnlwdG9kZXZfb3BzLmgiDQogDQotc3RhdGlj IGludCBvdHhfY3J5cHRvZGV2X3Byb2JlX2NvdW50Ow0KLXN0YXRpYyBydGVfc3BpbmxvY2tfdCBv dHhfcHJvYmVfY291bnRfbG9jayA9IFJURV9TUElOTE9DS19JTklUSUFMSVpFUjsNCi0NCi1zdGF0 aWMgc3RydWN0IHJ0ZV9tZW1wb29sICpvdHhfY3B0X21ldGFfcG9vbDsNCi1zdGF0aWMgaW50IG90 eF9jcHRfb3BfbWxlbjsNCi1zdGF0aWMgaW50IG90eF9jcHRfb3Bfc2JfbWxlbjsNCi0NCiAvKiBG b3J3YXJkIGRlY2xhcmF0aW9ucyAqLw0KIA0KIHN0YXRpYyBpbnQNCiBvdHhfY3B0X3F1ZV9wYWly X3JlbGVhc2Uoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiwgdWludDE2X3QgcXVlX3BhaXJfaWQp Ow0KIA0KLS8qDQotICogSW5pdGlhbGl6ZXMgZ2xvYmFsIHZhcmlhYmxlcyB1c2VkIGJ5IGZhc3Qt cGF0aCBjb2RlDQotICoNCi0gKiBAcmV0dXJuDQotICogICAtIDAgb24gc3VjY2VzcywgZXJyY29k ZSBvbiBlcnJvcg0KLSAqLw0KLXN0YXRpYyBpbnQNCi1pbml0X2dsb2JhbF9yZXNvdXJjZXModm9p ZCkNCi17DQotCS8qIEdldCBtZXRhIGxlbiBmb3Igc2NhdHRlciBnYXRoZXIgbW9kZSAqLw0KLQlv dHhfY3B0X29wX21sZW4gPSBjcHRfcG1kX29wc19oZWxwZXJfZ2V0X21sZW5fc2dfbW9kZSgpOw0K LQ0KLQkvKiBFeHRyYSA0QiBzYXZlZCBmb3IgZnV0dXJlIGNvbnNpZGVyYXRpb25zICovDQotCW90 eF9jcHRfb3BfbWxlbiArPSA0ICogc2l6ZW9mKHVpbnQ2NF90KTsNCi0NCi0Jb3R4X2NwdF9tZXRh X3Bvb2wgPSBydGVfbWVtcG9vbF9jcmVhdGUoImNwdF9tZXRhYnVmLXBvb2wiLCA0MDk2ICogMTYs DQotCQkJCQkgICAgICAgb3R4X2NwdF9vcF9tbGVuLCA1MTIsIDAsDQotCQkJCQkgICAgICAgTlVM TCwgTlVMTCwgTlVMTCwgTlVMTCwNCi0JCQkJCSAgICAgICBTT0NLRVRfSURfQU5ZLCAwKTsNCi0J aWYgKCFvdHhfY3B0X21ldGFfcG9vbCkgew0KLQkJQ1BUX0xPR19FUlIoImNwdCBtZXRhYnVmIHBv b2wgbm90IGNyZWF0ZWQiKTsNCi0JCXJldHVybiAtRU5PTUVNOw0KLQl9DQotDQotCS8qIEdldCBt ZXRhIGxlbiBmb3IgZGlyZWN0IG1vZGUgKi8NCi0Jb3R4X2NwdF9vcF9zYl9tbGVuID0gY3B0X3Bt ZF9vcHNfaGVscGVyX2dldF9tbGVuX2RpcmVjdF9tb2RlKCk7DQotDQotCS8qIEV4dHJhIDRCIHNh dmVkIGZvciBmdXR1cmUgY29uc2lkZXJhdGlvbnMgKi8NCi0Jb3R4X2NwdF9vcF9zYl9tbGVuICs9 IDQgKiBzaXplb2YodWludDY0X3QpOw0KLQ0KLQlyZXR1cm4gMDsNCi19DQotDQotdm9pZA0KLWNs ZWFudXBfZ2xvYmFsX3Jlc291cmNlcyh2b2lkKQ0KLXsNCi0JLyogVGFrZSBsb2NrICovDQotCXJ0 ZV9zcGlubG9ja19sb2NrKCZvdHhfcHJvYmVfY291bnRfbG9jayk7DQotDQotCS8qIERlY3JlbWVu dCB0aGUgY3J5cHRvZGV2IGNvdW50ICovDQotCW90eF9jcnlwdG9kZXZfcHJvYmVfY291bnQtLTsN Ci0NCi0JLyogRnJlZSBidWZmZXJzICovDQotCWlmIChvdHhfY3B0X21ldGFfcG9vbCAmJiBvdHhf Y3J5cHRvZGV2X3Byb2JlX2NvdW50ID09IDApDQotCQlydGVfbWVtcG9vbF9mcmVlKG90eF9jcHRf bWV0YV9wb29sKTsNCi0NCi0JLyogRnJlZSBsb2NrICovDQotCXJ0ZV9zcGlubG9ja191bmxvY2so Jm90eF9wcm9iZV9jb3VudF9sb2NrKTsNCi19DQotDQogLyogQWxhcm0gcm91dGluZXMgKi8NCiAN CiBzdGF0aWMgdm9pZA0KQEAgLTE4Nyw3ICsxMzEsNiBAQCBvdHhfY3B0X3F1ZV9wYWlyX3NldHVw KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYsDQogCQkgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9j cnlwdG9kZXZfcXBfY29uZiAqcXBfY29uZiwNCiAJCSAgICAgICBpbnQgc29ja2V0X2lkIF9fcnRl X3VudXNlZCkNCiB7DQotCXZvaWQgKmNwdHZmID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCiAJ c3RydWN0IGNwdF9pbnN0YW5jZSAqaW5zdGFuY2UgPSBOVUxMOw0KIAlzdHJ1Y3QgcnRlX3BjaV9k ZXZpY2UgKnBjaV9kZXY7DQogCWludCByZXQgPSAtMTsNCkBAIC0yMTMsNyArMTU2LDcgQEAgb3R4 X2NwdF9xdWVfcGFpcl9zZXR1cChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2LA0KIAkJcmV0dXJu IC1FSU87DQogCX0NCiANCi0JcmV0ID0gb3R4X2NwdF9nZXRfcmVzb3VyY2UoY3B0dmYsIDAsICZp bnN0YW5jZSk7DQorCXJldCA9IG90eF9jcHRfZ2V0X3Jlc291cmNlKGRldiwgMCwgJmluc3RhbmNl LCBxdWVfcGFpcl9pZCk7DQogCWlmIChyZXQgIT0gMCB8fCBpbnN0YW5jZSA9PSBOVUxMKSB7DQog CQlDUFRfTE9HX0VSUigiRXJyb3IgZ2V0dGluZyBpbnN0YW5jZSBoYW5kbGUgZnJvbSBkZXZpY2Ug JXMgOiAiDQogCQkJICAgICJyZXQgPSAlZCIsIGRldi0+ZGF0YS0+bmFtZSwgcmV0KTsNCkBAIC0z ODQsNyArMzI3LDYgQEAgb3R4X2NwdF9lbnFfc2luZ2xlX3N5bShzdHJ1Y3QgY3B0X2luc3RhbmNl ICppbnN0YW5jZSwNCiAJdm9pZCAqcHJlcF9yZXEsICptZGF0YSA9IE5VTEw7DQogCWludCByZXQg PSAwOw0KIAl1aW50NjRfdCBjcHRfb3A7DQotCXN0cnVjdCBjcHRfdmYgKmNwdHZmID0gKHN0cnVj dCBjcHRfdmYgKilpbnN0YW5jZTsNCiANCiAJc2VzcyA9IChzdHJ1Y3QgY3B0X3Nlc3NfbWlzYyAq KQ0KIAkJCWdldF9zeW1fc2Vzc2lvbl9wcml2YXRlX2RhdGEoc3ltX29wLT5zZXNzaW9uLA0KQEAg LTM5MywxMCArMzM1LDEwIEBAIG90eF9jcHRfZW5xX3NpbmdsZV9zeW0oc3RydWN0IGNwdF9pbnN0 YW5jZSAqaW5zdGFuY2UsDQogCWNwdF9vcCA9IHNlc3MtPmNwdF9vcDsNCiANCiAJaWYgKGxpa2Vs eShjcHRfb3AgJiBDUFRfT1BfQ0lQSEVSX01BU0spKQ0KLQkJcmV0ID0gZmlsbF9mY19wYXJhbXMo b3AsIHNlc3MsICZjcHR2Zi0+bWV0YV9pbmZvLCAmbWRhdGEsDQorCQlyZXQgPSBmaWxsX2ZjX3Bh cmFtcyhvcCwgc2VzcywgJmluc3RhbmNlLT5tZXRhX2luZm8sICZtZGF0YSwNCiAJCQkJICAgICAm cHJlcF9yZXEpOw0KIAllbHNlDQotCQlyZXQgPSBmaWxsX2RpZ2VzdF9wYXJhbXMob3AsIHNlc3Ms ICZjcHR2Zi0+bWV0YV9pbmZvLA0KKwkJcmV0ID0gZmlsbF9kaWdlc3RfcGFyYW1zKG9wLCBzZXNz LCAmaW5zdGFuY2UtPm1ldGFfaW5mbywNCiAJCQkJCSAmbWRhdGEsICZwcmVwX3JlcSk7DQogDQog CWlmICh1bmxpa2VseShyZXQpKSB7DQpAQCAtNDEwLDcgKzM1Miw3IEBAIG90eF9jcHRfZW5xX3Np bmdsZV9zeW0oc3RydWN0IGNwdF9pbnN0YW5jZSAqaW5zdGFuY2UsDQogDQogCWlmICh1bmxpa2Vs eShyZXQpKSB7DQogCQkvKiBCdWZmZXIgYWxsb2NhdGVkIGZvciByZXF1ZXN0IHByZXBhcmF0aW9u IG5lZWQgdG8gYmUgZnJlZWQgKi8NCi0JCWZyZWVfb3BfbWV0YShtZGF0YSwgY3B0dmYtPm1ldGFf aW5mby5jcHR2Zl9tZXRhX3Bvb2wpOw0KKwkJZnJlZV9vcF9tZXRhKG1kYXRhLCBpbnN0YW5jZS0+ bWV0YV9pbmZvLnBvb2wpOw0KIAkJcmV0dXJuIHJldDsNCiAJfQ0KIA0KQEAgLTYxOCw3ICs1NjAs NyBAQCBvdHhfY3B0X3BrdF9kZXF1ZXVlKHZvaWQgKnFwdHIsIHN0cnVjdCBydGVfY3J5cHRvX29w ICoqb3BzLCB1aW50MTZfdCBuYl9vcHMpDQogCQkJcnRlX21lbXBvb2xfcHV0KGluc3RhbmNlLT5z ZXNzX21wLCBjb3AtPnN5bS0+c2Vzc2lvbik7DQogCQkJY29wLT5zeW0tPnNlc3Npb24gPSBOVUxM Ow0KIAkJfQ0KLQkJZnJlZV9vcF9tZXRhKG1ldGFidWYsIGNwdHZmLT5tZXRhX2luZm8uY3B0dmZf bWV0YV9wb29sKTsNCisJCWZyZWVfb3BfbWV0YShtZXRhYnVmLCBpbnN0YW5jZS0+bWV0YV9pbmZv LnBvb2wpOw0KIAl9DQogDQogCXJldHVybiBuYl9jb21wbGV0ZWQ7DQpAQCAtNjQ0LDE0ICs1ODYs NiBAQCBzdGF0aWMgc3RydWN0IHJ0ZV9jcnlwdG9kZXZfb3BzIGNwdHZmX29wcyA9IHsNCiAJLnN5 bV9zZXNzaW9uX2NsZWFyID0gb3R4X2NwdF9zZXNzaW9uX2NsZWFyDQogfTsNCiANCi1zdGF0aWMg dm9pZA0KLW90eF9jcHRfY29tbW9uX3ZhcnNfaW5pdChzdHJ1Y3QgY3B0X3ZmICpjcHR2ZikNCi17 DQotCWNwdHZmLT5tZXRhX2luZm8uY3B0dmZfbWV0YV9wb29sID0gb3R4X2NwdF9tZXRhX3Bvb2w7 DQotCWNwdHZmLT5tZXRhX2luZm8uY3B0dmZfb3BfbWxlbiA9IG90eF9jcHRfb3BfbWxlbjsNCi0J Y3B0dmYtPm1ldGFfaW5mby5jcHR2Zl9vcF9zYl9tbGVuID0gb3R4X2NwdF9vcF9zYl9tbGVuOw0K LX0NCi0NCiBpbnQNCiBvdHhfY3B0X2Rldl9jcmVhdGUoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmNf ZGV2KQ0KIHsNCkBAIC02OTksMjAgKzYzMyw2IEBAIG90eF9jcHRfZGV2X2NyZWF0ZShzdHJ1Y3Qg cnRlX2NyeXB0b2RldiAqY19kZXYpDQogCS8qIFN0YXJ0IG9mZiB0aW1lciBmb3IgbWFpbGJveCBp bnRlcnJ1cHRzICovDQogCW90eF9jcHRfcGVyaW9kaWNfYWxhcm1fc3RhcnQoY3B0dmYpOw0KIA0K LQlydGVfc3BpbmxvY2tfbG9jaygmb3R4X3Byb2JlX2NvdW50X2xvY2spOw0KLQlpZiAoIW90eF9j cnlwdG9kZXZfcHJvYmVfY291bnQpIHsNCi0JCXJldCA9IGluaXRfZ2xvYmFsX3Jlc291cmNlcygp Ow0KLQkJaWYgKHJldCkgew0KLQkJCXJ0ZV9zcGlubG9ja191bmxvY2soJm90eF9wcm9iZV9jb3Vu dF9sb2NrKTsNCi0JCQlnb3RvIGluaXRfZmFpbDsNCi0JCX0NCi0JfQ0KLQlvdHhfY3J5cHRvZGV2 X3Byb2JlX2NvdW50Kys7DQotCXJ0ZV9zcGlubG9ja191bmxvY2soJm90eF9wcm9iZV9jb3VudF9s b2NrKTsNCi0NCi0JLyogSW5pdGlhbGl6ZSBkYXRhIHBhdGggdmFyaWFibGVzIHVzZWQgYnkgY29t bW9uIGNvZGUgKi8NCi0Jb3R4X2NwdF9jb21tb25fdmFyc19pbml0KGNwdHZmKTsNCi0NCiAJY19k ZXYtPmRldl9vcHMgPSAmY3B0dmZfb3BzOw0KIA0KIAljX2Rldi0+ZW5xdWV1ZV9idXJzdCA9IG90 eF9jcHRfcGt0X2VucXVldWU7DQpAQCAtNzMwLDEwICs2NTAsNiBAQCBvdHhfY3B0X2Rldl9jcmVh dGUoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmNfZGV2KQ0KIA0KIAlyZXR1cm4gMDsNCiANCi1pbml0 X2ZhaWw6DQotCW90eF9jcHRfcGVyaW9kaWNfYWxhcm1fc3RvcChjcHR2Zik7DQotCW90eF9jcHRf ZGVpbml0X2RldmljZShjcHR2Zik7DQotDQogZmFpbDoNCiAJaWYgKGNwdHZmKSB7DQogCQkvKiBG cmVlIHByaXZhdGUgZGF0YSBhbGxvY2F0ZWQgKi8NCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0 by9vY3Rlb250eC9vdHhfY3J5cHRvZGV2X29wcy5oIGIvZHJpdmVycy9jcnlwdG8vb2N0ZW9udHgv b3R4X2NyeXB0b2Rldl9vcHMuaA0KaW5kZXggYjNlZmVjZi4uNzY4ZWM0ZiAxMDA2NDQNCi0tLSBh L2RyaXZlcnMvY3J5cHRvL29jdGVvbnR4L290eF9jcnlwdG9kZXZfb3BzLmgNCisrKyBiL2RyaXZl cnMvY3J5cHRvL29jdGVvbnR4L290eF9jcnlwdG9kZXZfb3BzLmgNCkBAIC05LDkgKzksNiBAQA0K ICNkZWZpbmUgT1RYX0NQVF9NSU5fVEFJTFJPT01fUkVRCSg4KQ0KICNkZWZpbmUgQ1BUX05VTV9R U19QRVJfVkYJCSgxKQ0KIA0KLXZvaWQNCi1jbGVhbnVwX2dsb2JhbF9yZXNvdXJjZXModm9pZCk7 DQotDQogaW50DQogb3R4X2NwdF9kZXZfY3JlYXRlKHN0cnVjdCBydGVfY3J5cHRvZGV2ICpjX2Rl dik7DQogDQotLSANCjIuNy40DQoNCg==