Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp4350702ybi; Tue, 11 Jun 2019 05:20:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqyyUJ0YP39x/bB5EciIC+8eYuuaVCic6/NCUjC1Jf7XcMGiVpcfTDK1skaoPBNKkqtVfOZr X-Received: by 2002:a17:90a:3581:: with SMTP id r1mr17153817pjb.53.1560255630764; Tue, 11 Jun 2019 05:20:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560255630; cv=none; d=google.com; s=arc-20160816; b=hGUDcaXCRrGSJyE/6qHPKzrtQOp1GmM+7818ddPK2U20AifikhchxLowjzKaxC+AX1 Rrz1dOJ6rsy9pJ1hq421Q8kfAfMCxNt+FlZ40rFCJi4MqWIMsp9ZLB24MNgSaxEr8act ThtxdpaZLgvxhTUZBLm7BPzK41qR7olW7B6CnY+lnELQtyj/O7ozGapXGhdZ+DxTHW22 ihPViiEfDkRZpRI1zucXXQiioJpwheq6IEIZ77azkA8TLtDHEVn/mlW3aGTQ17CBlysr OFKrsTKVWzp2cGfbsgduqa0lrKN4iQ0up6ir/RUE3jtQ2Wx5m8jxk5ycwaEAQqin0qRH C+1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :nodisclaimer:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature; bh=BvVFqxQyy+Bt6tUSojPkfU2pqs2F6VtdRPH5ODAdiXk=; b=lPHZyckyH2WU9hCvvOJu8RzGU5n/CZXo7wDxKrKrWnCU1U8EV4wZ7OX7FRYbs558QG WhoNENoWV1L0a2KYCrPdGtsRvF5z44jBSZw9M3XRsnk8qbZVxZtJmYrLfZ1Z8zP90d70 Pd8Hkcj8VLQbOj6dqVXFwSqV7nHTbfjSvki6UOqjLlON2nJLYTdgRCmzmYM7SBs9xsXK OZU7JwOX3MB+LMiBXZbhW9n7FpASH4iyxFOlVVBeyIlI8kvQHS27iVRn6rRwWcSPOYRl jXccXQ5sdEHEWp6niBsWF4fqS/CZWMSidPD4kD0GKlihkAk/ZfoVMxaFjGACq7ZU8Pty ZBcQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=qixmb1np; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-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 h18si12723312pgg.9.2019.06.11.05.20.14; Tue, 11 Jun 2019 05:20:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-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=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=qixmb1np; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389004AbfFKLNt (ORCPT + 99 others); Tue, 11 Jun 2019 07:13:49 -0400 Received: from mail-eopbgr80089.outbound.protection.outlook.com ([40.107.8.89]:31973 "EHLO EUR04-VI1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2388447AbfFKLNt (ORCPT ); Tue, 11 Jun 2019 07:13:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BvVFqxQyy+Bt6tUSojPkfU2pqs2F6VtdRPH5ODAdiXk=; b=qixmb1npARhEYJjQTEFmhti4o6RFbaiVtzad4FVPezt9ynz1x6KVxtmJdjeS1VPQlTCQGEpEtB8bjk4X6F0vhTzCJDu8ZCZWt7Y/ZdzqSzsYmKxzWMKr+6BeAmrPJjrr+IS4kJxXIDS29ibJ5MI7AkB/6C/yORIOA0MyMv5Q77U= Received: from VI1PR08MB5488.eurprd08.prod.outlook.com (52.133.246.150) by VI1PR08MB3550.eurprd08.prod.outlook.com (20.177.61.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.15; Tue, 11 Jun 2019 11:13:39 +0000 Received: from VI1PR08MB5488.eurprd08.prod.outlook.com ([fe80::e9f4:59c8:9be1:910b]) by VI1PR08MB5488.eurprd08.prod.outlook.com ([fe80::e9f4:59c8:9be1:910b%4]) with mapi id 15.20.1965.017; Tue, 11 Jun 2019 11:13:39 +0000 From: "Lowry Li (Arm Technology China)" To: Liviu Dudau , "james qian wang (Arm Technology China)" , "maarten.lankhorst@linux.intel.com" , "seanpaul@chromium.org" , "airlied@linux.ie" , Brian Starkey CC: "Julien Yin (Arm Technology China)" , "Jonathan Chai (Arm Technology China)" , Ayan Halder , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , nd Subject: [PATCH v2 1/2] drm/komeda: Add slave pipeline support Thread-Topic: [PATCH v2 1/2] drm/komeda: Add slave pipeline support Thread-Index: AQHVIEa4bTasDJ3EnEmDf3JO9PWHmQ== Date: Tue, 11 Jun 2019 11:13:39 +0000 Message-ID: <1560251589-31827-2-git-send-email-lowry.li@arm.com> References: <1560251589-31827-1-git-send-email-lowry.li@arm.com> In-Reply-To: <1560251589-31827-1-git-send-email-lowry.li@arm.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [113.29.88.7] x-clientproxiedby: SL2PR04CA0005.apcprd04.prod.outlook.com (2603:1096:100:2d::17) To VI1PR08MB5488.eurprd08.prod.outlook.com (2603:10a6:803:137::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Lowry.Li@arm.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 1.9.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8469e158-a931-4db8-633c-08d6ee5ddada x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:VI1PR08MB3550; x-ms-traffictypediagnostic: VI1PR08MB3550: nodisclaimer: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:75; x-forefront-prvs: 006546F32A x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(39850400004)(396003)(366004)(346002)(136003)(189003)(199004)(14444005)(305945005)(5024004)(256004)(11346002)(72206003)(6512007)(476003)(14454004)(99286004)(2616005)(478600001)(52116002)(486006)(6636002)(7736002)(6506007)(26005)(68736007)(66066001)(76176011)(186003)(446003)(2501003)(386003)(36756003)(30864003)(25786009)(66446008)(3846002)(81156014)(8676002)(316002)(6116002)(66946007)(66556008)(64756008)(66476007)(73956011)(50226002)(8936002)(6486002)(6436002)(71190400001)(86362001)(2906002)(55236004)(110136005)(54906003)(53936002)(71200400001)(4326008)(81166006)(5660300002)(2201001)(102836004);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR08MB3550;H:VI1PR08MB5488.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: IjtU4s+p8Q108Ai2b/u8OWzE3hcA9N9ZOxA4jYwzWMFrD5LIDA9HhIJksG1YbIpre520UxC3vnk8BpkxQkqZFKvN/3CQP7zAnsOfOJr0JQ6U0QmUq0UIA/I44HwoxpJNDrc9Eg2SX2TRKfkpGpcKI3/9d5exxcrq+qQn30mj+5i7asrpS5oWd8gYGpHcuEvY/WNw12RwjVgHxWsXXMnzvxeXByVnxyYF+JsL8UfNyBlS9IjoTyQz3UeV4xcxmRNqyIQTIbiOq6PsHkUXJ3NPUslnBSlvTECasBKWkSo7Vrq8ACyY9omVuvyaxzz8b1uquRRutbZRSzCyIeldzH6bGhzCRM2sHA7MoMmycbEqBGDUj5YvVEOn0bU6AzZTYKZpZyKY0PxImJIZbIdxi+OD7SwF6XTqtUIeMEHFasHGDfw= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8469e158-a931-4db8-633c-08d6ee5ddada X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jun 2019 11:13:39.4241 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Lowry.Li@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3550 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogIkxvd3J5IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkiIDxMb3dyeS5MaUBhcm0uY29t Pg0KDQpPbmUgY3J0YyBjYW4gdXNlIHR3byBrb21lZGFfcGlwZWxpbmUsIGFuZCBvbmUgd29ya3Mg YXMgbWFzdGVyIGFuZCBhcw0Kc2xhdmUuIHRoZSBzbGF2ZSBwaXBlbGluZSBkb2Vzbid0IGhhdmUg aXRzIG93biBvdXRwdXQgYW5kIHRpbWluZw0KY3RybHIsIGJ1dCBwcmUtY29tcG9zaXRlIHRoZSBp bnB1dCBsYXllciBkYXRhIGZsb3cgYW5kIHRoZW4gZmVlZCB0aGUNCnJlc3VsdCB0byBtYXN0ZXIu IHRoZSBwaXBlbGluZSBjb25maWd1cmF0aW9uIGxpa2U6DQoNCnNsYXZlLWxheWVyLTAgXA0KLi4u ICAgICAgICAgICAgc2xhdmUtPkNVDQpzbGF2ZS1sYXllci00IC8gICAgICAgICBcDQogICAgICAg ICAgICAgICAgICAgICAgICBcDQptYXN0ZXItbGF5ZXItMCAtLS0tLS0tLT4gbWFzdGVyLT5DVSAt PiAuLi4NCiAuLi4gICAgICAgICAgICAgICAgICAvDQptYXN0ZXItbGF5ZXItNCAtLS0tLS0+DQoN ClNpbmNlIGtvbWVkYSBDb21waXogZG9lc24ndCBvdXRwdXQgYWxwaGEsIHNvIHRoZSBzbGF2ZS0+ Q1UgcmVzdWx0DQpvbmx5IGNhbiBiZSB1c2VkIGFzIGJvdHRvbSBpbnB1dCB3aGVuIGJsZW5kIGl0 IHdpdGggbWFzdGVyIGlucHV0IGRhdGENCmZsb3dzLg0KDQpTaWduZWQtb2ZmLWJ5OiBMb3dyeSBM aSAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxsb3dyeS5saUBhcm0uY29tPg0KLS0tDQogZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jICAgfCA0MSArKysrKysr KysrKysrKysrKysrKy0tDQogZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfa21zLmMgICAgfCAxMCArKysrKysNCiBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9rbXMuaCAgICB8ICA5ICsrKysrDQogLi4uL2dwdS9kcm0vYXJtL2Rpc3BsYXkv a29tZWRhL2tvbWVkYV9waXBlbGluZS5jICAgfCAyMiArKysrKysrKysrKysNCiAuLi4vZ3B1L2Ry bS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmggICB8ICAyICsrDQogLi4uL2Ry bS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0YXRlLmMgfCAxNSArKysrKysr Kw0KIGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BsYW5lLmMgIHwg MzIgKysrKysrKysrKysrKysrKy0NCiA3IGZpbGVzIGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCsp LCAzIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfY3J0Yy5jDQppbmRleCBhMmQ2NTZmLi5jYWZiNDQ1IDEwMDY0NA0KLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfY3J0Yy5jDQorKysgYi9k cml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9jcnRjLmMNCkBAIC02NCw2 ICs2NCwxMCBAQCBzdGF0aWMgdm9pZCBrb21lZGFfY3J0Y191cGRhdGVfY2xvY2tfcmF0aW8oc3Ry dWN0IGtvbWVkYV9jcnRjX3N0YXRlICprY3J0Y19zdCkNCiAJfQ0KIA0KIAkvKiByZWxlYXNlIHVu Y2xhaW1lZCBwaXBlbGluZSByZXNvdXJjZXMgKi8NCisJZXJyID0ga29tZWRhX3JlbGVhc2VfdW5j bGFpbWVkX3Jlc291cmNlcyhrY3J0Yy0+c2xhdmUsIGtjcnRjX3N0KTsNCisJaWYgKGVycikNCisJ CXJldHVybiBlcnI7DQorDQogCWVyciA9IGtvbWVkYV9yZWxlYXNlX3VuY2xhaW1lZF9yZXNvdXJj ZXMoa2NydGMtPm1hc3Rlciwga2NydGNfc3QpOw0KIAlpZiAoZXJyKQ0KIAkJcmV0dXJuIGVycjsN CkBAIC0yMjYsNiArMjMwLDcgQEAgdm9pZCBrb21lZGFfY3J0Y19oYW5kbGVfZXZlbnQoc3RydWN0 IGtvbWVkYV9jcnRjICAgKmtjcnRjLA0KIAlzdHJ1Y3Qga29tZWRhX2NydGNfc3RhdGUgKmtjcnRj X3N0ID0gdG9fa2NydGNfc3QoY3J0Yy0+c3RhdGUpOw0KIAlzdHJ1Y3Qga29tZWRhX2RldiAqbWRl diA9IGtjcnRjLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7DQogCXN0cnVjdCBrb21lZGFfcGlwZWxp bmUgKm1hc3RlciA9IGtjcnRjLT5tYXN0ZXI7DQorCXN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnNs YXZlID0ga2NydGMtPnNsYXZlOw0KIAlzdHJ1Y3Qga29tZWRhX3diX2Nvbm5lY3RvciAqd2JfY29u biA9IGtjcnRjLT53Yl9jb25uOw0KIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9z dDsNCiANCkBAIC0yMzcsNiArMjQyLDkgQEAgdm9pZCBrb21lZGFfY3J0Y19oYW5kbGVfZXZlbnQo c3RydWN0IGtvbWVkYV9jcnRjICAgKmtjcnRjLA0KIAlpZiAoaGFzX2JpdChtYXN0ZXItPmlkLCBr Y3J0Y19zdC0+YWZmZWN0ZWRfcGlwZXMpKQ0KIAkJa29tZWRhX3BpcGVsaW5lX3VwZGF0ZShtYXN0 ZXIsIG9sZC0+c3RhdGUpOw0KIA0KKwlpZiAoc2xhdmUgJiYgaGFzX2JpdChzbGF2ZS0+aWQsIGtj cnRjX3N0LT5hZmZlY3RlZF9waXBlcykpDQorCQlrb21lZGFfcGlwZWxpbmVfdXBkYXRlKHNsYXZl LCBvbGQtPnN0YXRlKTsNCisNCiAJY29ubl9zdCA9IHdiX2Nvbm4gPyB3Yl9jb25uLT5iYXNlLmJh c2Uuc3RhdGUgOiBOVUxMOw0KIAlpZiAoY29ubl9zdCAmJiBjb25uX3N0LT53cml0ZWJhY2tfam9i KQ0KIAkJZHJtX3dyaXRlYmFja19xdWV1ZV9qb2IoJndiX2Nvbm4tPmJhc2UsIGNvbm5fc3QpOw0K QEAgLTI2Miw2ICsyNzAsNyBAQCB2b2lkIGtvbWVkYV9jcnRjX2hhbmRsZV9ldmVudChzdHJ1Y3Qg a29tZWRhX2NydGMgICAqa2NydGMsDQogCXN0cnVjdCBrb21lZGFfY3J0Y19zdGF0ZSAqb2xkX3N0 ID0gdG9fa2NydGNfc3Qob2xkKTsNCiAJc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYgPSBjcnRjLT5k ZXYtPmRldl9wcml2YXRlOw0KIAlzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICptYXN0ZXIgPSBrY3J0 Yy0+bWFzdGVyOw0KKwlzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpzbGF2ZSAgPSBrY3J0Yy0+c2xh dmU7DQogCXN0cnVjdCBjb21wbGV0aW9uICpkaXNhYmxlX2RvbmUgPSAmY3J0Yy0+c3RhdGUtPmNv bW1pdC0+ZmxpcF9kb25lOw0KIAlzdHJ1Y3QgY29tcGxldGlvbiB0ZW1wOw0KIAlpbnQgdGltZW91 dDsNCkBAIC0yNzAsNiArMjc5LDkgQEAgdm9pZCBrb21lZGFfY3J0Y19oYW5kbGVfZXZlbnQoc3Ry dWN0IGtvbWVkYV9jcnRjICAgKmtjcnRjLA0KIAkJCSBkcm1fY3J0Y19pbmRleChjcnRjKSwNCiAJ CQkgb2xkX3N0LT5hY3RpdmVfcGlwZXMsIG9sZF9zdC0+YWZmZWN0ZWRfcGlwZXMpOw0KIA0KKwlp ZiAoc2xhdmUgJiYgaGFzX2JpdChzbGF2ZS0+aWQsIG9sZF9zdC0+YWN0aXZlX3BpcGVzKSkNCisJ CWtvbWVkYV9waXBlbGluZV9kaXNhYmxlKHNsYXZlLCBvbGQtPnN0YXRlKTsNCisNCiAJaWYgKGhh c19iaXQobWFzdGVyLT5pZCwgb2xkX3N0LT5hY3RpdmVfcGlwZXMpKQ0KIAkJa29tZWRhX3BpcGVs aW5lX2Rpc2FibGUobWFzdGVyLCBvbGQtPnN0YXRlKTsNCiANCkBAIC00MTQsNiArNDI2LDcgQEAg c3RhdGljIHZvaWQga29tZWRhX2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQ0KIA0K IAluZXctPmFmZmVjdGVkX3BpcGVzID0gb2xkLT5hY3RpdmVfcGlwZXM7DQogCW5ldy0+Y2xvY2tf cmF0aW8gPSBvbGQtPmNsb2NrX3JhdGlvOw0KKwluZXctPm1heF9zbGF2ZV96b3JkZXIgPSBvbGQt Pm1heF9zbGF2ZV96b3JkZXI7DQogDQogCXJldHVybiAmbmV3LT5iYXNlOw0KIH0NCkBAIC00ODgs NyArNTAxLDcgQEAgaW50IGtvbWVkYV9rbXNfc2V0dXBfY3J0Y3Moc3RydWN0IGtvbWVkYV9rbXNf ZGV2ICprbXMsDQogCQltYXN0ZXIgPSBtZGV2LT5waXBlbGluZXNbaV07DQogDQogCQljcnRjLT5t YXN0ZXIgPSBtYXN0ZXI7DQotCQljcnRjLT5zbGF2ZSAgPSBOVUxMOw0KKwkJY3J0Yy0+c2xhdmUg ID0ga29tZWRhX3BpcGVsaW5lX2dldF9zbGF2ZShtYXN0ZXIpOw0KIA0KIAkJaWYgKGNydGMtPnNs YXZlKQ0KIAkJCXNwcmludGYoc3RyLCAicGlwZS0lZCIsIGNydGMtPnNsYXZlLT5pZCk7DQpAQCAt NTIyLDYgKzUzNSwyNiBAQCBzdGF0aWMgaW50IGtvbWVkYV9jcnRjX2NyZWF0ZV9jbG9ja19yYXRp b19wcm9wZXJ0eShzdHJ1Y3Qga29tZWRhX2NydGMgKmtjcnRjKQ0KIAlyZXR1cm4gMDsNCiB9DQog DQorc3RhdGljIGludCBrb21lZGFfY3J0Y19jcmVhdGVfc2xhdmVfcGxhbmVzX3Byb3BlcnR5KHN0 cnVjdCBrb21lZGFfY3J0YyAqa2NydGMpDQorew0KKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSAm a2NydGMtPmJhc2U7DQorCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7DQorDQorCWlmIChrY3J0 Yy0+c2xhdmVfcGxhbmVzID09IDApDQorCQlyZXR1cm4gMDsNCisNCisJcHJvcCA9IGRybV9wcm9w ZXJ0eV9jcmVhdGVfcmFuZ2UoY3J0Yy0+ZGV2LCBEUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSwNCisJ CQkJCSAic2xhdmVfcGxhbmVzIiwgMCwgVTMyX01BWCk7DQorCWlmICghcHJvcCkNCisJCXJldHVy biAtRU5PTUVNOw0KKw0KKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY3J0Yy0+YmFzZSwg cHJvcCwga2NydGMtPnNsYXZlX3BsYW5lcyk7DQorDQorCWtjcnRjLT5zbGF2ZV9wbGFuZXNfcHJv cGVydHkgPSBwcm9wOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQogc3RhdGljIHN0cnVjdCBkcm1f cGxhbmUgKg0KIGdldF9jcnRjX3ByaW1hcnkoc3RydWN0IGtvbWVkYV9rbXNfZGV2ICprbXMsIHN0 cnVjdCBrb21lZGFfY3J0YyAqY3J0YykNCiB7DQpAQCAtNTYyLDcgKzU5NSwxMSBAQCBzdGF0aWMg aW50IGtvbWVkYV9jcnRjX2FkZChzdHJ1Y3Qga29tZWRhX2ttc19kZXYgKmttcywNCiAJaWYgKGVy cikNCiAJCXJldHVybiBlcnI7DQogDQotCXJldHVybiAwOw0KKwllcnIgPSBrb21lZGFfY3J0Y19j cmVhdGVfc2xhdmVfcGxhbmVzX3Byb3BlcnR5KGtjcnRjKTsNCisJaWYgKGVycikNCisJCXJldHVy biBlcnI7DQorDQorCXJldHVybiBlcnI7DQogfQ0KIA0KIGludCBrb21lZGFfa21zX2FkZF9jcnRj cyhzdHJ1Y3Qga29tZWRhX2ttc19kZXYgKmttcywgc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpDQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21z LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9rbXMuYw0KaW5k ZXggNWQxMGM1NS4uODU0Mzg2MCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX2ttcy5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9rbXMuYw0KQEAgLTE0Myw2ICsxNDMsOCBAQCBzdGF0aWMgaW50IGtv bWVkYV9jcnRjX25vcm1hbGl6ZV96cG9zKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywNCiAJCQkJICAg ICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0KQ0KIHsNCiAJc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlID0gY3J0Y19zdC0+c3RhdGU7DQorCXN0cnVjdCBrb21lZGFfY3J0YyAq a2NydGMgPSB0b19rY3J0YyhjcnRjKTsNCisJc3RydWN0IGtvbWVkYV9jcnRjX3N0YXRlICprY3J0 Y19zdCA9IHRvX2tjcnRjX3N0KGNydGNfc3QpOw0KIAlzdHJ1Y3Qga29tZWRhX3BsYW5lX3N0YXRl ICprcGxhbmVfc3Q7DQogCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0Ow0KIAlzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsNCkBAIC0xNjcsNiArMTY5LDggQEAgc3RhdGljIGludCBr b21lZGFfY3J0Y19ub3JtYWxpemVfenBvcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsDQogCQkJcmV0 dXJuIGVycjsNCiAJfQ0KIA0KKwlrY3J0Y19zdC0+bWF4X3NsYXZlX3pvcmRlciA9IDA7DQorDQog CWxpc3RfZm9yX2VhY2hfZW50cnkoa3BsYW5lX3N0LCAmem9yZGVyX2xpc3QsIHpsaXN0X25vZGUp IHsNCiAJCXBsYW5lX3N0ID0gJmtwbGFuZV9zdC0+YmFzZTsNCiAJCWZiID0gcGxhbmVfc3QtPmZi Ow0KQEAgLTE4NSw2ICsxODksMTIgQEAgc3RhdGljIGludCBrb21lZGFfY3J0Y19ub3JtYWxpemVf enBvcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsDQogCQlEUk1fREVCVUdfQVRPTUlDKCJbUExBTkU6 JWQ6JXNdIHpwb3M6JWQsIG5vcm1hbGl6ZWQgenBvczogJWRcbiIsDQogCQkJCSBwbGFuZS0+YmFz ZS5pZCwgcGxhbmUtPm5hbWUsDQogCQkJCSBwbGFuZV9zdC0+enBvcywgcGxhbmVfc3QtPm5vcm1h bGl6ZWRfenBvcyk7DQorDQorCQkvKiBjYWxjdWxhdGUgbWF4IHNsYXZlIHpvcmRlciAqLw0KKwkJ aWYgKGhhc19iaXQoZHJtX3BsYW5lX2luZGV4KHBsYW5lKSwga2NydGMtPnNsYXZlX3BsYW5lcykp DQorCQkJa2NydGNfc3QtPm1heF9zbGF2ZV96b3JkZXIgPQ0KKwkJCQltYXgocGxhbmVfc3QtPm5v cm1hbGl6ZWRfenBvcywNCisJCQkJICAgIGtjcnRjX3N0LT5tYXhfc2xhdmVfem9yZGVyKTsNCiAJ fQ0KIA0KIAljcnRjX3N0LT56cG9zX2NoYW5nZWQgPSB0cnVlOw0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5oIGIvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmgNCmluZGV4IDlkY2ZlNWEuLjIxOWZh M2YgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVk YV9rbXMuaA0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf a21zLmgNCkBAIC04Niw2ICs4Niw5IEBAIHN0cnVjdCBrb21lZGFfY3J0YyB7DQogCSAqLw0KIAlz dHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpzbGF2ZTsNCiANCisJLyoqIEBzbGF2ZV9wbGFuZXM6IGtv bWVkYSBzbGF2ZSBwbGFuZXMgbWFzayAqLw0KKwl1MzIgc2xhdmVfcGxhbmVzOw0KKw0KIAkvKiog QHdiX2Nvbm46IGtvbWVkYSB3cml0ZSBiYWNrIGNvbm5lY3RvciAqLw0KIAlzdHJ1Y3Qga29tZWRh X3diX2Nvbm5lY3RvciAqd2JfY29ubjsNCiANCkBAIC05NCw2ICs5Nyw5IEBAIHN0cnVjdCBrb21l ZGFfY3J0YyB7DQogDQogCS8qKiBAY2xvY2tfcmF0aW9fcHJvcGVydHk6IHByb3BlcnR5IGZvciBy YXRpbyBvZiAoYWNsayA8PCAzMikvcHhsY2xrICovDQogCXN0cnVjdCBkcm1fcHJvcGVydHkgKmNs b2NrX3JhdGlvX3Byb3BlcnR5Ow0KKw0KKwkvKiogQHNsYXZlX3BsYW5lc19wcm9wZXJ0eTogcHJv cGVydHkgZm9yIHNsYXZlcyBvZiB0aGUgcGxhbmVzICovDQorCXN0cnVjdCBkcm1fcHJvcGVydHkg KnNsYXZlX3BsYW5lc19wcm9wZXJ0eTsNCiB9Ow0KIA0KIC8qKg0KQEAgLTExOSw2ICsxMjUsOSBA QCBzdHJ1Y3Qga29tZWRhX2NydGNfc3RhdGUgew0KIA0KIAkvKiogQGNsb2NrX3JhdGlvOiByYXRp byBvZiAoYWNsayA8PCAzMikvcHhsY2xrICovDQogCXU2NCBjbG9ja19yYXRpbzsNCisNCisJLyoq IEBtYXhfc2xhdmVfem9yZGVyOiB0aGUgbWF4aW11bSBvZiBzbGF2ZSB6b3JkZXIgKi8NCisJdTMy IG1heF9zbGF2ZV96b3JkZXI7DQogfTsNCiANCiAvKiogc3RydWN0IGtvbWVkYV9rbXNfZGV2IC0g Zm9yIGdhdGhlciBLTVMgcmVsYXRlZCB0aGluZ3MgKi8NCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5jIGIvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmUuYw0KaW5kZXggZWI5ZTBjMC4u YTNkOTBkOCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEv a29tZWRhX3BpcGVsaW5lLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX3BpcGVsaW5lLmMNCkBAIC0xNDIsNiArMTQyLDE0IEBAIHN0cnVjdCBrb21lZGFf Y29tcG9uZW50ICoNCiAJcmV0dXJuIGM7DQogfQ0KIA0KK3N0YXRpYyBzdHJ1Y3Qga29tZWRhX2Nv bXBvbmVudCAqDQora29tZWRhX2NvbXBvbmVudF9waWNrdXBfaW5wdXQoc3RydWN0IGtvbWVkYV9j b21wb25lbnQgKmMsIHUzMiBhdmFpbF9jb21wcykNCit7DQorCXUzMiBhdmFpbF9pbnB1dHMgPSBj LT5zdXBwb3J0ZWRfaW5wdXRzICYgKGF2YWlsX2NvbXBzKTsNCisNCisJcmV0dXJuIGtvbWVkYV9w aXBlbGluZV9nZXRfZmlyc3RfY29tcG9uZW50KGMtPnBpcGVsaW5lLCBhdmFpbF9pbnB1dHMpOw0K K30NCisNCiAvKioga29tZWRhX2NvbXBvbmVudF9hZGQgLSBBZGQgYSBjb21wb25lbnQgdG8gJmtv bWVkYV9waXBlbGluZSAqLw0KIHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICoNCiBrb21lZGFfY29t cG9uZW50X2FkZChzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLA0KQEAgLTI5Niw2ICszMDQs MjAgQEAgc3RhdGljIHZvaWQga29tZWRhX3BpcGVsaW5lX2Fzc2VtYmxlKHN0cnVjdCBrb21lZGFf cGlwZWxpbmUgKnBpcGUpDQogCX0NCiB9DQogDQorLyogaWYgcGlwZWxpbmVfQSBhY2NlcHQgYW5v dGhlciBwaXBlbGluZV9CJ3MgY29tcG9uZW50IGFzIGlucHV0LCB0cmVhdA0KKyAqIHBpcGVsaW5l X0IgYXMgc2xhdmUgb2YgcGlwZWxpbmVfQS4NCisgKi8NCitzdHJ1Y3Qga29tZWRhX3BpcGVsaW5l ICoNCitrb21lZGFfcGlwZWxpbmVfZ2V0X3NsYXZlKHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKm1h c3RlcikNCit7DQorCXN0cnVjdCBrb21lZGFfY29tcG9uZW50ICpzbGF2ZTsNCisNCisJc2xhdmUg PSBrb21lZGFfY29tcG9uZW50X3BpY2t1cF9pbnB1dCgmbWFzdGVyLT5jb21waXotPmJhc2UsDQor CQkJCQkgICAgICBLT01FREFfUElQRUxJTkVfQ09NUElaUyk7DQorDQorCXJldHVybiBzbGF2ZSA/ IHNsYXZlLT5waXBlbGluZSA6IE5VTEw7DQorfQ0KKw0KIGludCBrb21lZGFfYXNzZW1ibGVfcGlw ZWxpbmVzKHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KQ0KIHsNCiAJc3RydWN0IGtvbWVkYV9waXBl bGluZSAqcGlwZTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9waXBlbGluZS5oIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVk YS9rb21lZGFfcGlwZWxpbmUuaA0KaW5kZXggZjZhNGE1MS4uMmE2N2M4YSAxMDA2NDQNCi0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmgNCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmgN CkBAIC00NTIsNiArNDUyLDggQEAgc3RydWN0IGtvbWVkYV9waXBlbGluZSAqDQogCQkgICAgY29u c3Qgc3RydWN0IGtvbWVkYV9waXBlbGluZV9mdW5jcyAqZnVuY3MpOw0KIHZvaWQga29tZWRhX3Bp cGVsaW5lX2Rlc3Ryb3koc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYsDQogCQkJICAgICBzdHJ1Y3Qg a29tZWRhX3BpcGVsaW5lICpwaXBlKTsNCitzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICoNCitrb21l ZGFfcGlwZWxpbmVfZ2V0X3NsYXZlKHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKm1hc3Rlcik7DQog aW50IGtvbWVkYV9hc3NlbWJsZV9waXBlbGluZXMoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpOw0K IHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICoNCiBrb21lZGFfcGlwZWxpbmVfZ2V0X2NvbXBvbmVu dChzdHJ1Y3Qga29tZWRhX3BpcGVsaW5lICpwaXBlLCBpbnQgaWQpOw0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0YXRlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZV9zdGF0 ZS5jDQppbmRleCAyMzE4MmVkLi42YzM1YWZkIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYw0KKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYw0KQEAg LTEwMzIsMTAgKzEwMzIsMjUgQEAgaW50IGtvbWVkYV9idWlsZF9kaXNwbGF5X2RhdGFfZmxvdyhz dHJ1Y3Qga29tZWRhX2NydGMgKmtjcnRjLA0KIAkJCQkgICBzdHJ1Y3Qga29tZWRhX2NydGNfc3Rh dGUgKmtjcnRjX3N0KQ0KIHsNCiAJc3RydWN0IGtvbWVkYV9waXBlbGluZSAqbWFzdGVyID0ga2Ny dGMtPm1hc3RlcjsNCisJc3RydWN0IGtvbWVkYV9waXBlbGluZSAqc2xhdmUgID0ga2NydGMtPnNs YXZlOw0KIAlzdHJ1Y3Qga29tZWRhX2RhdGFfZmxvd19jZmcgbV9kZmxvdzsgLyogbWFzdGVyIGRh dGEgZmxvdyAqLw0KKwlzdHJ1Y3Qga29tZWRhX2RhdGFfZmxvd19jZmcgc19kZmxvdzsgLyogc2xh dmUgZGF0YSBmbG93ICovDQogCWludCBlcnI7DQogDQogCW1lbXNldCgmbV9kZmxvdywgMCwgc2l6 ZW9mKG1fZGZsb3cpKTsNCisJbWVtc2V0KCZzX2RmbG93LCAwLCBzaXplb2Yoc19kZmxvdykpOw0K Kw0KKwlpZiAoc2xhdmUgJiYgaGFzX2JpdChzbGF2ZS0+aWQsIGtjcnRjX3N0LT5hY3RpdmVfcGlw ZXMpKSB7DQorCQllcnIgPSBrb21lZGFfY29tcGl6X3ZhbGlkYXRlKHNsYXZlLT5jb21waXosIGtj cnRjX3N0LCAmc19kZmxvdyk7DQorCQlpZiAoZXJyKQ0KKwkJCXJldHVybiBlcnI7DQorDQorCQkv KiBtZXJnZSB0aGUgc2xhdmUgZGZsb3cgaW50byBtYXN0ZXIgcGlwZWxpbmUgKi8NCisJCWVyciA9 IGtvbWVkYV9jb21waXpfc2V0X2lucHV0KG1hc3Rlci0+Y29tcGl6LCBrY3J0Y19zdCwNCisJCQkJ CSAgICAgICZzX2RmbG93KTsNCisJCWlmIChlcnIpDQorCQkJcmV0dXJuIGVycjsNCisJfQ0KIA0K IAllcnIgPSBrb21lZGFfY29tcGl6X3ZhbGlkYXRlKG1hc3Rlci0+Y29tcGl6LCBrY3J0Y19zdCwg Jm1fZGZsb3cpOw0KIAlpZiAoZXJyKQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9wbGFuZS5jDQppbmRleCBkMWM1OGE4Li4wNGIxMjJmIDEwMDY0NA0K LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGxhbmUuYw0K KysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGxhbmUuYw0K QEAgLTE0LDE1ICsxNCwyNyBAQA0KIA0KIHN0YXRpYyBpbnQNCiBrb21lZGFfcGxhbmVfaW5pdF9k YXRhX2Zsb3coc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3QsDQorCQkJICAgIHN0cnVjdCBrb21l ZGFfY3J0Y19zdGF0ZSAqa2NydGNfc3QsDQogCQkJICAgIHN0cnVjdCBrb21lZGFfZGF0YV9mbG93 X2NmZyAqZGZsb3cpDQogew0KKwlzdHJ1Y3Qga29tZWRhX3BsYW5lICprcGxhbmUgPSB0b19rcGxh bmUoc3QtPnBsYW5lKTsNCiAJc3RydWN0IGtvbWVkYV9wbGFuZV9zdGF0ZSAqa3BsYW5lX3N0ID0g dG9fa3BsYW5lX3N0KHN0KTsNCiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBzdC0+ZmI7 DQogCWNvbnN0IHN0cnVjdCBrb21lZGFfZm9ybWF0X2NhcHMgKmNhcHMgPSB0b19rZmIoZmIpLT5m b3JtYXRfY2FwczsNCisJc3RydWN0IGtvbWVkYV9waXBlbGluZSAqcGlwZSA9IGtwbGFuZS0+bGF5 ZXItPmJhc2UucGlwZWxpbmU7DQogDQogCW1lbXNldChkZmxvdywgMCwgc2l6ZW9mKCpkZmxvdykp Ow0KIA0KIAlkZmxvdy0+YmxlbmRpbmdfem9yZGVyID0gc3QtPm5vcm1hbGl6ZWRfenBvczsNCisJ aWYgKHBpcGUgPT0gdG9fa2NydGMoc3QtPmNydGMpLT5tYXN0ZXIpDQorCQlkZmxvdy0+YmxlbmRp bmdfem9yZGVyIC09IGtjcnRjX3N0LT5tYXhfc2xhdmVfem9yZGVyOw0KKwlpZiAoZGZsb3ctPmJs ZW5kaW5nX3pvcmRlciA8IDApIHsNCisJCURSTV9ERUJVR19BVE9NSUMoIiVzIHpvcmRlcjolZCA8 IG1heF9zbGF2ZV96b3JkZXI6ICVkLlxuIiwNCisJCQkJIHN0LT5wbGFuZS0+bmFtZSwgc3QtPm5v cm1hbGl6ZWRfenBvcywNCisJCQkJIGtjcnRjX3N0LT5tYXhfc2xhdmVfem9yZGVyKTsNCisJCXJl dHVybiAtRUlOVkFMOw0KKwl9DQorDQogCWRmbG93LT5waXhlbF9ibGVuZF9tb2RlID0gc3QtPnBp eGVsX2JsZW5kX21vZGU7DQogCWRmbG93LT5sYXllcl9hbHBoYSA9IHN0LT5hbHBoYSA+PiA4Ow0K IA0KQEAgLTg4LDcgKzEwMCw3IEBADQogDQogCWtjcnRjX3N0ID0gdG9fa2NydGNfc3QoY3J0Y19z dCk7DQogDQotCWVyciA9IGtvbWVkYV9wbGFuZV9pbml0X2RhdGFfZmxvdyhzdGF0ZSwgJmRmbG93 KTsNCisJZXJyID0ga29tZWRhX3BsYW5lX2luaXRfZGF0YV9mbG93KHN0YXRlLCBrY3J0Y19zdCwg JmRmbG93KTsNCiAJaWYgKGVycikNCiAJCXJldHVybiBlcnI7DQogDQpAQCAtMjg4LDYgKzMwMCwy MiBAQCBzdGF0aWMgdTMyIGdldF9wb3NzaWJsZV9jcnRjcyhzdHJ1Y3Qga29tZWRhX2ttc19kZXYg KmttcywNCiAJcmV0dXJuIHBvc3NpYmxlX2NydGNzOw0KIH0NCiANCitzdGF0aWMgdm9pZA0KK2tv bWVkYV9zZXRfY3J0Y19wbGFuZV9tYXNrKHN0cnVjdCBrb21lZGFfa21zX2RldiAqa21zLA0KKwkJ CSAgIHN0cnVjdCBrb21lZGFfcGlwZWxpbmUgKnBpcGUsDQorCQkJICAgc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUpDQorew0KKwlzdHJ1Y3Qga29tZWRhX2NydGMgKmtjcnRjOw0KKwlpbnQgaTsNCisN CisJZm9yIChpID0gMDsgaSA8IGttcy0+bl9jcnRjczsgaSsrKSB7DQorCQlrY3J0YyA9ICZrbXMt PmNydGNzW2ldOw0KKw0KKwkJaWYgKHBpcGUgPT0ga2NydGMtPnNsYXZlKQ0KKwkJCWtjcnRjLT5z bGF2ZV9wbGFuZXMgfD0gQklUKGRybV9wbGFuZV9pbmRleChwbGFuZSkpOw0KKwl9DQorfQ0KKw0K IC8qIHVzZSBMYXllcjAgYXMgcHJpbWFyeSAqLw0KIHN0YXRpYyB1MzIgZ2V0X3BsYW5lX3R5cGUo c3RydWN0IGtvbWVkYV9rbXNfZGV2ICprbXMsDQogCQkJICBzdHJ1Y3Qga29tZWRhX2NvbXBvbmVu dCAqYykNCkBAIC0zNjYsNiArMzk0LDggQEAgc3RhdGljIGludCBrb21lZGFfcGxhbmVfYWRkKHN0 cnVjdCBrb21lZGFfa21zX2RldiAqa21zLA0KIAlpZiAoZXJyKQ0KIAkJZ290byBjbGVhbnVwOw0K IA0KKwlrb21lZGFfc2V0X2NydGNfcGxhbmVfbWFzayhrbXMsIGMtPnBpcGVsaW5lLCBwbGFuZSk7 DQorDQogCXJldHVybiAwOw0KIGNsZWFudXA6DQogCWtvbWVkYV9wbGFuZV9kZXN0cm95KHBsYW5l KTsNCi0tIA0KMS45LjENCg0K