Received: by 2002:a25:86ce:0:0:0:0:0 with SMTP id y14csp1547420ybm; Thu, 23 May 2019 02:58:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqyCXVIKf7/Ml06TXE/gl0QoUuPa6PSB2LAGIpVALdXjPrlrUzKUUhAxjfN47vNvAFzBg/Ej X-Received: by 2002:a17:90a:80c3:: with SMTP id k3mr366787pjw.65.1558605525306; Thu, 23 May 2019 02:58:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558605525; cv=none; d=google.com; s=arc-20160816; b=zxDNEKPFsPlTT2uYXm2ouoAgHAGmEehDz+gqmh4seCxazl9xJ93zPYTtCFtSmstRy5 7VsB3A5KxB45j8HWChvOJGv3jJUKBQdJEfgADyN+BJHbWPgYxeGQ+AprqpvvSA32yqd6 cJCv0qnjBN9HZIN7o7sz3zwya9ZkiLfuDyiZ1RNmnM9/MFAXXqi464D7dOme9Z7Ygflb +Pi2rgFTcqe5lpllUVPyFX1pw+3FdKMqIEX2mtWOcWGAX+zpd1qk8fqFF2SYw3GE4582 ZXU9dfgR87qZDvfQVnisS9Grna+FAv+lF/7P1blH3XZ4+Nf0y2EnKIT1KUIqdoHIobA8 8p5g== 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:message-id:date :thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=Ccx0DQS03LZvgTYSpmt3S3wdSNlNBhxse27dLN4BVH4=; b=pJlh0UEGt93WU8/lwi+dPkqYxXGcX6FbJcu8Q/xJHDNCSlFwv5JP2gDqQS8GS+ZWHu eR5Um70St4eRhwNGXvDza+qDc5OEZhDj/utqxVNygqeNzPsIbvUPslbc3r4lADJzVQBf sfriKkSkcJTcMwhI4APhaNqIfxLWSxMhGijztcuMIYRYZ37eEtighXnaAOJLfRa/M2SI dy7U8dlvTA1kPCII+rYPEGnUnOftOy4L/VRC7CjOBqITAt+zlY2mm12rDVWniVOF2mSk +xBXfwu9PrArPRO1+fW8uzhPy06VU6UTcer6BVPqZQqIO8/etjtKmBEWYRbPylFsFQnT zirw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b="v76pq/Mw"; 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 i14si30225506pfe.187.2019.05.23.02.58.29; Thu, 23 May 2019 02:58:45 -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="v76pq/Mw"; 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 S1730251AbfEWJ5H (ORCPT + 99 others); Thu, 23 May 2019 05:57:07 -0400 Received: from mail-eopbgr30075.outbound.protection.outlook.com ([40.107.3.75]:3035 "EHLO EUR03-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727440AbfEWJ5G (ORCPT ); Thu, 23 May 2019 05:57:06 -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=Ccx0DQS03LZvgTYSpmt3S3wdSNlNBhxse27dLN4BVH4=; b=v76pq/MwQiz/1HiYaPqcUsYpmNPawDVEKMU9zOCo4Tw8RCenSs4MuM0kWbhjMVlQQcZTz6U0KPqYlIsr8wPbFvPpoASUg/uyOB9ovwUyQmEEi9Ok6mEqkGk+PGyrGhO1r35IXEaQKLGhp+qClcqme/xjhl3yKxlSlh4W2UbwogA= Received: from VE1PR08MB5006.eurprd08.prod.outlook.com (10.255.159.31) by VE1PR08MB5135.eurprd08.prod.outlook.com (20.179.30.94) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1922.16; Thu, 23 May 2019 09:56:54 +0000 Received: from VE1PR08MB5006.eurprd08.prod.outlook.com ([fe80::206b:5cf6:97e:1358]) by VE1PR08MB5006.eurprd08.prod.outlook.com ([fe80::206b:5cf6:97e:1358%7]) with mapi id 15.20.1922.017; Thu, 23 May 2019 09:56:54 +0000 From: "james qian wang (Arm Technology China)" To: Liviu Dudau , "airlied@linux.ie" , Brian Starkey , "maarten.lankhorst@linux.intel.com" , "sean@poorly.run" CC: "Jonathan Chai (Arm Technology China)" , "Julien Yin (Arm Technology China)" , "thomas Sun (Arm Technology China)" , "Lowry Li (Arm Technology China)" , Ayan Halder , "Tiannan Zhu (Arm Technology China)" , "Yiqi Kang (Arm Technology China)" , nd , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , Ben Davis , "Oscar Zhang (Arm Technology China)" , "Channing Chen (Arm Technology China)" , "james qian wang (Arm Technology China)" Subject: [PATCH v2] drm/komeda: Added AFBC support for komeda driver Thread-Topic: [PATCH v2] drm/komeda: Added AFBC support for komeda driver Thread-Index: AQHVEU3ZbuyMPCW7r0qo9b0A5bR0Yw== Date: Thu, 23 May 2019 09:56:54 +0000 Message-ID: <20190523095635.27996-1-james.qian.wang@arm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [113.29.88.7] x-clientproxiedby: HK2PR02CA0204.apcprd02.prod.outlook.com (2603:1096:201:20::16) To VE1PR08MB5006.eurprd08.prod.outlook.com (2603:10a6:803:113::31) authentication-results: spf=none (sender IP is ) smtp.mailfrom=james.qian.wang@arm.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 26e41d1d-b439-440e-f024-08d6df64fc11 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:VE1PR08MB5135; x-ms-traffictypediagnostic: VE1PR08MB5135: x-ms-exchange-purlcount: 2 nodisclaimer: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2657; x-forefront-prvs: 00462943DE x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(396003)(39860400002)(366004)(136003)(376002)(346002)(189003)(199004)(36756003)(26005)(1076003)(66066001)(68736007)(6306002)(6436002)(30864003)(6512007)(5660300002)(6486002)(186003)(2906002)(2616005)(8936002)(476003)(4326008)(316002)(53936002)(14454004)(110136005)(305945005)(6116002)(3846002)(66476007)(55236004)(86362001)(102836004)(54906003)(2201001)(386003)(73956011)(66946007)(7736002)(6506007)(66556008)(66446008)(64756008)(25786009)(71200400001)(71190400001)(81166006)(81156014)(966005)(486006)(99286004)(8676002)(103116003)(256004)(52116002)(50226002)(478600001)(14444005)(2501003);DIR:OUT;SFP:1101;SCL:1;SRVR:VE1PR08MB5135;H:VE1PR08MB5006.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: MfqKpaYeMuNtnO+RmVhi0RW/5VWzT7Ufbz8kRjR5KIgCyZvkiPgHcSt3D5TmOV/n/Du25THfU3oObzj4AED2bCbxfly8UYGMg2Gm5g2o+nmw5ERIoYxIt1nP0SP4AOQUT2ob988PabchA04jiy2fZWppMr9RL8EZ/r5EMT1vHgOn4PAFLHekgsnK+Rmz7xlI2PDSdFS8Gmy11gKU0gNZHfi1T1I3WB+CEH8GuzR8LDr3PQLdh+sqBDVUTxkeCxajf3EhyGs5Bzkb+rJpLtXKritDxq54LfZzdjGk0tYUb4cVClwAHaBFAoliRvqzwbjyB4v3TdUTdhYNuZqVIHuHxLPviOaPTjvsxKed2PFBvy5qFUr6SzHIp5KxNpxbken4jd82mCmduX3SSCnHKIWVEGF3XIRWKMOxgj0ln6yN+xQ= 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: 26e41d1d-b439-440e-f024-08d6df64fc11 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 May 2019 09:56:54.2409 (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: james.qian.wang@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5135 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Rm9yIHN1cHBvcnRpbmcgQUZCQzoNCjEuIENoZWNrIGlmIHRoZSB1c2VyIHJlcXVlc3RlZCBtb2Rp ZmllciBjYW4gYmUgc3VwcG9ydGVkIGJ5IGRpc3BsYXkgSFcuDQoyLiBDaGVjayB0aGUgb2JqLT5z aXplIHdpdGggQUZCQydzIHJlcXVpcmVtZW50Lg0KMy4gQ29uZmlndXJlIEhXIGFjY29yZGluZyB0 byB0aGUgbW9kaWZpZXIgKGFmYmMgZmVhdHVyZXMpDQoNClRoaXMgcGF0Y2ggZGVwZW5kcyBvbjoN Ci0gaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3Nlcmllcy81OTkxNS8NCi0gaHR0 cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3Nlcmllcy81OTAwMC8NCg0KdjI6IFJlYmFz ZSBhbmQgYWRkcmVzc2VkIEF5YW4ncyBjb21tZW50cw0KDQpTaWduZWQtb2ZmLWJ5OiBKYW1lcyBR aWFuIFdhbmcgKEFybSBUZWNobm9sb2d5IENoaW5hKSA8amFtZXMucWlhbi53YW5nQGFybS5jb20+ DQotLS0NCiAuLi4vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMgICAgfCAz OSArKysrKysrKysrDQogLi4uL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZm9ybWF0X2NhcHMu YyAgIHwgNTMgKysrKysrKysrKysrKw0KIC4uLi9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Zv cm1hdF9jYXBzLmggICB8ICA1ICsrDQogLi4uL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZnJh bWVidWZmZXIuYyAgIHwgNzUgKysrKysrKysrKysrKysrKysrLQ0KIC4uLi9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmggICB8ICA0ICsNCiAuLi4vZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX2ttcy5jICAgfCAgMiArLQ0KIC4uLi9kcm0vYXJtL2Rpc3BsYXkv a29tZWRhL2tvbWVkYV9waXBlbGluZS5oICB8ICA0ICsNCiAuLi4vZGlzcGxheS9rb21lZGEva29t ZWRhX3BpcGVsaW5lX3N0YXRlLmMgICAgfCAxOCArKysrLQ0KIC4uLi9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfcGxhbmUuYyB8IDE1ICsrKy0NCiA5IGZpbGVzIGNoYW5nZWQsIDIx MCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2NvbXBvbmVudC5jIGIvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2NvbXBvbmVudC5jDQppbmRleCAzMjNl NTk5NGE1NWMuLjVjOWJjODU5Zjg4NiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9jb21wb25lbnQuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJt L2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2NvbXBvbmVudC5jDQpAQCAtMTM0LDYgKzEzNCwy NyBAQCBzdGF0aWMgdTMyIHRvX3JvdF9jdHJsKHUzMiByb3QpDQogCXJldHVybiBscl9jdHJsOw0K IH0NCiANCitzdGF0aWMgdTMyIHRvX2FkX2N0cmwodTY0IG1vZGlmaWVyKQ0KK3sNCisJdTMyIGFm YmNfY3RybCA9IEFEX0FFTjsNCisNCisJaWYgKCFtb2RpZmllcikNCisJCXJldHVybiAwOw0KKw0K KwlpZiAoKG1vZGlmaWVyICYgQUZCQ19GT1JNQVRfTU9EX0JMT0NLX1NJWkVfTUFTSykgPT0NCisJ ICAgIEFGQkNfRk9STUFUX01PRF9CTE9DS19TSVpFXzMyeDgpDQorCQlhZmJjX2N0cmwgfD0gQURf V0I7DQorDQorCWlmIChtb2RpZmllciAmIEFGQkNfRk9STUFUX01PRF9ZVFIpDQorCQlhZmJjX2N0 cmwgfD0gQURfWVQ7DQorCWlmIChtb2RpZmllciAmIEFGQkNfRk9STUFUX01PRF9TUExJVCkNCisJ CWFmYmNfY3RybCB8PSBBRF9CUzsNCisJaWYgKG1vZGlmaWVyICYgQUZCQ19GT1JNQVRfTU9EX1RJ TEVEKQ0KKwkJYWZiY19jdHJsIHw9IEFEX1RIOw0KKw0KKwlyZXR1cm4gYWZiY19jdHJsOw0KK30N CisNCiBzdGF0aWMgaW5saW5lIHUzMiB0b19kNzFfaW5wdXRfaWQoc3RydWN0IGtvbWVkYV9jb21w b25lbnRfb3V0cHV0ICpvdXRwdXQpDQogew0KIAlzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqY29t cCA9IG91dHB1dC0+Y29tcG9uZW50Ow0KQEAgLTE3Myw2ICsxOTQsMjQgQEAgc3RhdGljIHZvaWQg ZDcxX2xheWVyX3VwZGF0ZShzdHJ1Y3Qga29tZWRhX2NvbXBvbmVudCAqYywNCiAJCQkgICAgICAg ZmItPnBpdGNoZXNbaV0gJiAweEZGRkYpOw0KIAl9DQogDQorCW1hbGlkcF93cml0ZTMyKHJlZywg QURfQ09OVFJPTCwgdG9fYWRfY3RybChmYi0+bW9kaWZpZXIpKTsNCisJaWYgKGZiLT5tb2RpZmll cikgew0KKwkJdTY0IGFkZHI7DQorDQorCQltYWxpZHBfd3JpdGUzMihyZWcsIExBWUVSX0FEX0hf Q1JPUCwgSFZfQ1JPUChzdC0+YWZiY19jcm9wX2wsDQorCQkJCQkJCSAgICAgc3QtPmFmYmNfY3Jv cF9yKSk7DQorCQltYWxpZHBfd3JpdGUzMihyZWcsIExBWUVSX0FEX1ZfQ1JPUCwgSFZfQ1JPUChz dC0+YWZiY19jcm9wX3QsDQorCQkJCQkJCSAgICAgc3QtPmFmYmNfY3JvcF9iKSk7DQorCQkvKiBh ZmJjIDEuMiB3YW50cyBwYXlsb2FkLCBhZmJjIDEuMC8xLjEgd2FudHMgZW5kX2FkZHIgKi8NCisJ CWlmIChmYi0+bW9kaWZpZXIgJiBBRkJDX0ZPUk1BVF9NT0RfVElMRUQpDQorCQkJYWRkciA9IHN0 LT5hZGRyWzBdICsga2ZiLT5vZmZzZXRfcGF5bG9hZDsNCisJCWVsc2UNCisJCQlhZGRyID0gc3Qt PmFkZHJbMF0gKyBrZmItPmFmYmNfc2l6ZSAtIDE7DQorDQorCQltYWxpZHBfd3JpdGUzMihyZWcs IEJMS19QMV9QVFJfTE9XLCBsb3dlcl8zMl9iaXRzKGFkZHIpKTsNCisJCW1hbGlkcF93cml0ZTMy KHJlZywgQkxLX1AxX1BUUl9ISUdILCB1cHBlcl8zMl9iaXRzKGFkZHIpKTsNCisJfQ0KKw0KIAlt YWxpZHBfd3JpdGUzMihyZWcsIExBWUVSX0ZNVCwga2ZiLT5mb3JtYXRfY2Fwcy0+aHdfaWQpOw0K IAltYWxpZHBfd3JpdGUzMihyZWcsIEJMS19JTl9TSVpFLCBIVl9TSVpFKHN0LT5oc2l6ZSwgc3Qt PnZzaXplKSk7DQogDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfZm9ybWF0X2NhcHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX2Zvcm1hdF9jYXBzLmMNCmluZGV4IDFlMTdiZDYxMDdhNC4uYjIxOTUxNDJl M2YzIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfZm9ybWF0X2NhcHMuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVk YS9rb21lZGFfZm9ybWF0X2NhcHMuYw0KQEAgLTM1LDYgKzM1LDU5IEBAIGtvbWVkYV9nZXRfZm9y bWF0X2NhcHMoc3RydWN0IGtvbWVkYV9mb3JtYXRfY2Fwc190YWJsZSAqdGFibGUsDQogCXJldHVy biBOVUxMOw0KIH0NCiANCisvKiBUd28gYXNzdW1wdGlvbnMNCisgKiAxLiBSR0IgYWx3YXlzIGhh cyBZVFINCisgKiAyLiBUaWxlZCBSR0IgYWx3YXlzIGhhcyBTQw0KKyAqLw0KK3U2NCBrb21lZGFf c3VwcG9ydGVkX21vZGlmaWVyc1tdID0gew0KKwkvKiBBRkJDXzE2eDE2ICsgZmVhdHVyZXM6IFlV VitSR0IgYm90aCAqLw0KKwlBRkJDXzE2eDE2KDApLA0KKwkvKiBTUEFSU0UgKi8NCisJQUZCQ18x NngxNihfU1BBUlNFKSwNCisJLyogWVRSICsgKFNQQVJTRSkgKi8NCisJQUZCQ18xNngxNihfWVRS IHwgX1NQQVJTRSksDQorCUFGQkNfMTZ4MTYoX1lUUiksDQorCS8qIFNQTElUICsgU1BBUlNFICsg WVRSIFJHQiBvbmx5ICovDQorCS8qIHNwbGl0IG1vZGUgaXMgb25seSBhbGxvd2VkIGZvciBzcGFy c2UgbW9kZSAqLw0KKwlBRkJDXzE2eDE2KF9TUExJVCB8IF9TUEFSU0UgfCBfWVRSKSwNCisJLyog VElMRUQgKyAoU1BBUlNFKSAqLw0KKwkvKiBUSUxFRCBZVVYgZm9ybWF0IG9ubHkgKi8NCisJQUZC Q18xNngxNihfVElMRUQgfCBfU1BBUlNFKSwNCisJQUZCQ18xNngxNihfVElMRUQpLA0KKwkvKiBU SUxFRCArIFNDICsgKFNQTElUK1NQQVJTRSB8IFNQQVJTRSkgKyAoWVRSKSAqLw0KKwlBRkJDXzE2 eDE2KF9USUxFRCB8IF9TQyB8IF9TUExJVCB8IF9TUEFSU0UgfCBfWVRSKSwNCisJQUZCQ18xNngx NihfVElMRUQgfCBfU0MgfCBfU1BBUlNFIHwgX1lUUiksDQorCUFGQkNfMTZ4MTYoX1RJTEVEIHwg X1NDIHwgX1lUUiksDQorCS8qIEFGQkNfMzJ4OCArIGZlYXR1cmVzOiB3aGljaCBhcmUgUkdCIGZv cm1hdHMgb25seSAqLw0KKwkvKiBZVFIgKyAoU1BBUlNFKSAqLw0KKwlBRkJDXzMyeDgoX1lUUiB8 IF9TUEFSU0UpLA0KKwlBRkJDXzMyeDgoX1lUUiksDQorCS8qIFNQTElUICsgU1BBUlNFICsgKFlU UikgKi8NCisJLyogc3BsaXQgbW9kZSBpcyBvbmx5IGFsbG93ZWQgZm9yIHNwYXJzZSBtb2RlICov DQorCUFGQkNfMzJ4OChfU1BMSVQgfCBfU1BBUlNFIHwgX1lUUiksDQorCS8qIFRJTEVEICsgU0Mg KyAoU1BMSVQrU1BBUlNFIHwgU1BBUlNFKSArIFlUUiAqLw0KKwlBRkJDXzMyeDgoX1RJTEVEIHwg X1NDIHwgX1NQTElUIHwgX1NQQVJTRSB8IF9ZVFIpLA0KKwlBRkJDXzMyeDgoX1RJTEVEIHwgX1ND IHwgX1NQQVJTRSB8IF9ZVFIpLA0KKwlBRkJDXzMyeDgoX1RJTEVEIHwgX1NDIHwgX1lUUiksDQor CURSTV9GT1JNQVRfTU9EX0xJTkVBUiwNCisJRFJNX0ZPUk1BVF9NT0RfSU5WQUxJRA0KK307DQor DQorYm9vbCBrb21lZGFfZm9ybWF0X21vZF9zdXBwb3J0ZWQoc3RydWN0IGtvbWVkYV9mb3JtYXRf Y2Fwc190YWJsZSAqdGFibGUsDQorCQkJCSB1MzIgbGF5ZXJfdHlwZSwgdTMyIGZvdXJjYywgdTY0 IG1vZGlmaWVyKQ0KK3sNCisJY29uc3Qgc3RydWN0IGtvbWVkYV9mb3JtYXRfY2FwcyAqY2FwczsN CisNCisJY2FwcyA9IGtvbWVkYV9nZXRfZm9ybWF0X2NhcHModGFibGUsIGZvdXJjYywgbW9kaWZp ZXIpOw0KKwlpZiAoIWNhcHMpDQorCQlyZXR1cm4gZmFsc2U7DQorDQorCWlmICghKGNhcHMtPnN1 cHBvcnRlZF9sYXllcl90eXBlcyAmIGxheWVyX3R5cGUpKQ0KKwkJcmV0dXJuIGZhbHNlOw0KKw0K KwlyZXR1cm4gdHJ1ZTsNCit9DQorDQogdTMyICprb21lZGFfZ2V0X2xheWVyX2ZvdXJjY19saXN0 KHN0cnVjdCBrb21lZGFfZm9ybWF0X2NhcHNfdGFibGUgKnRhYmxlLA0KIAkJCQkgIHUzMiBsYXll cl90eXBlLCB1MzIgKm5fZm10cykNCiB7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZm9ybWF0X2NhcHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Zvcm1hdF9jYXBzLmgNCmluZGV4IDYwZjM5ZTc3YjA5 OC4uYmMzYjJkZjM2MWI5IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfZm9ybWF0X2NhcHMuaA0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9rb21lZGFfZm9ybWF0X2NhcHMuaA0KQEAgLTc3LDYgKzc3LDggQEAgc3Ry dWN0IGtvbWVkYV9mb3JtYXRfY2Fwc190YWJsZSB7DQogCWNvbnN0IHN0cnVjdCBrb21lZGFfZm9y bWF0X2NhcHMgKmZvcm1hdF9jYXBzOw0KIH07DQogDQorZXh0ZXJuIHU2NCBrb21lZGFfc3VwcG9y dGVkX21vZGlmaWVyc1tdOw0KKw0KIGNvbnN0IHN0cnVjdCBrb21lZGFfZm9ybWF0X2NhcHMgKg0K IGtvbWVkYV9nZXRfZm9ybWF0X2NhcHMoc3RydWN0IGtvbWVkYV9mb3JtYXRfY2Fwc190YWJsZSAq dGFibGUsDQogCQkgICAgICAgdTMyIGZvdXJjYywgdTY0IG1vZGlmaWVyKTsNCkBAIC04Niw0ICs4 OCw3IEBAIHUzMiAqa29tZWRhX2dldF9sYXllcl9mb3VyY2NfbGlzdChzdHJ1Y3Qga29tZWRhX2Zv cm1hdF9jYXBzX3RhYmxlICp0YWJsZSwNCiANCiB2b2lkIGtvbWVkYV9wdXRfZm91cmNjX2xpc3Qo dTMyICpmb3VyY2NfbGlzdCk7DQogDQorYm9vbCBrb21lZGFfZm9ybWF0X21vZF9zdXBwb3J0ZWQo c3RydWN0IGtvbWVkYV9mb3JtYXRfY2Fwc190YWJsZSAqdGFibGUsDQorCQkJCSB1MzIgbGF5ZXJf dHlwZSwgdTMyIGZvdXJjYywgdTY0IG1vZGlmaWVyKTsNCisNCiAjZW5kaWYNCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5j IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIu Yw0KaW5kZXggNGQ4MTYwY2YwOWMzLi5kMGU3MTNhZWRiOGUgMTAwNjQ0DQotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5jDQorKysgYi9k cml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5jDQpA QCAtMzYsNiArMzYsNzYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXJfZnVu Y3Mga29tZWRhX2ZiX2Z1bmNzID0gew0KIAkuY3JlYXRlX2hhbmRsZQk9IGtvbWVkYV9mYl9jcmVh dGVfaGFuZGxlLA0KIH07DQogDQorc3RhdGljIGludA0KK2tvbWVkYV9mYl9hZmJjX3NpemVfY2hl Y2soc3RydWN0IGtvbWVkYV9mYiAqa2ZiLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsDQorCQkJICBj b25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpDQorew0KKwlzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICpmYiA9ICZrZmItPmJhc2U7DQorCWNvbnN0IHN0cnVjdCBkcm1fZm9ybWF0 X2luZm8gKmluZm8gPSBmYi0+Zm9ybWF0Ow0KKwlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iajsN CisJdTMyIGFsaWdubWVudF93ID0gMCwgYWxpZ25tZW50X2ggPSAwLCBhbGlnbm1lbnRfaGVhZGVy Ow0KKwl1MzIgbl9ibG9ja3MgPSAwLCBtaW5fc2l6ZSA9IDA7DQorDQorCW9iaiA9IGRybV9nZW1f b2JqZWN0X2xvb2t1cChmaWxlLCBtb2RlX2NtZC0+aGFuZGxlc1swXSk7DQorCWlmICghb2JqKSB7 DQorCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gbG9va3VwIEdFTSBvYmplY3RcbiIpOw0KKwkJ cmV0dXJuIC1FTk9FTlQ7DQorCX0NCisNCisJc3dpdGNoIChmYi0+bW9kaWZpZXIgJiBBRkJDX0ZP Uk1BVF9NT0RfQkxPQ0tfU0laRV9NQVNLKSB7DQorCWNhc2UgQUZCQ19GT1JNQVRfTU9EX0JMT0NL X1NJWkVfMzJ4ODoNCisJCWFsaWdubWVudF93ID0gMzI7DQorCQlhbGlnbm1lbnRfaCA9IDg7DQor CQlicmVhazsNCisJY2FzZSBBRkJDX0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV8xNngxNjoNCisJCWFs aWdubWVudF93ID0gMTY7DQorCQlhbGlnbm1lbnRfaCA9IDE2Ow0KKwkJYnJlYWs7DQorCWRlZmF1 bHQ6DQorCQlXQVJOKDEsICJJbnZhbGlkIEFGQkNfRk9STUFUX01PRF9CTE9DS19TSVpFOiAlbGxk LlxuIiwNCisJCSAgICAgZmItPm1vZGlmaWVyICYgQUZCQ19GT1JNQVRfTU9EX0JMT0NLX1NJWkVf TUFTSyk7DQorCQlicmVhazsNCisJfQ0KKw0KKwkvKiB0aWxlZCBoZWFkZXIgYWZiYyAqLw0KKwlp ZiAoZmItPm1vZGlmaWVyICYgQUZCQ19GT1JNQVRfTU9EX1RJTEVEKSB7DQorCQlhbGlnbm1lbnRf dyAqPSBBRkJDX1RIX0xBWU9VVF9BTElHTk1FTlQ7DQorCQlhbGlnbm1lbnRfaCAqPSBBRkJDX1RI X0xBWU9VVF9BTElHTk1FTlQ7DQorCQlhbGlnbm1lbnRfaGVhZGVyID0gQUZCQ19USF9CT0RZX1NU QVJUX0FMSUdOTUVOVDsNCisJfSBlbHNlIHsNCisJCWFsaWdubWVudF9oZWFkZXIgPSBBRkJDX0JP RFlfU1RBUlRfQUxJR05NRU5UOw0KKwl9DQorDQorCWtmYi0+YWxpZ25lZF93ID0gQUxJR04oZmIt PndpZHRoLCBhbGlnbm1lbnRfdyk7DQorCWtmYi0+YWxpZ25lZF9oID0gQUxJR04oZmItPmhlaWdo dCwgYWxpZ25tZW50X2gpOw0KKw0KKwlpZiAoZmItPm9mZnNldHNbMF0gJSBhbGlnbm1lbnRfaGVh ZGVyKSB7DQorCQlEUk1fREVCVUdfS01TKCJhZmJjIG9mZnNldCBhbGlnbm1lbnQgY2hlY2sgZmFp bGVkLlxuIik7DQorCQlnb3RvIGNoZWNrX2ZhaWxlZDsNCisJfQ0KKw0KKwluX2Jsb2NrcyA9IChr ZmItPmFsaWduZWRfdyAqIGtmYi0+YWxpZ25lZF9oKSAvIEFGQkNfU1VQRVJCTEtfUElYRUxTOw0K KwlrZmItPm9mZnNldF9wYXlsb2FkID0gQUxJR04obl9ibG9ja3MgKiBBRkJDX0hFQURFUl9TSVpF LA0KKwkJCQkgICAgYWxpZ25tZW50X2hlYWRlcik7DQorDQorCWtmYi0+YWZiY19zaXplID0ga2Zi LT5vZmZzZXRfcGF5bG9hZCArIG5fYmxvY2tzICoNCisJCQkgQUxJR04oaW5mby0+Y3BwWzBdICog QUZCQ19TVVBFUkJMS19QSVhFTFMsDQorCQkJICAgICAgIEFGQkNfU1VQRVJCTEtfQUxJR05NRU5U KTsNCisJbWluX3NpemUgPSBrZmItPmFmYmNfc2l6ZSArIGZiLT5vZmZzZXRzWzBdOw0KKwlpZiAo bWluX3NpemUgPiBvYmotPnNpemUpIHsNCisJCURSTV9ERUJVR19LTVMoImFmYmMgc2l6ZSBjaGVj ayBmYWlsZWQsIG9ial9zaXplOiAweCVseC4gbWluX3NpemUgMHgleC5cbiIsDQorCQkJICAgICAg b2JqLT5zaXplLCBtaW5fc2l6ZSk7DQorCQlnb3RvIGNoZWNrX2ZhaWxlZDsNCisJfQ0KKw0KKwlm Yi0+b2JqWzBdID0gb2JqOw0KKwlyZXR1cm4gMDsNCisNCitjaGVja19mYWlsZWQ6DQorCWRybV9n ZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmopOw0KKwlyZXR1cm4gLUVJTlZBTDsNCit9DQorDQog c3RhdGljIGludA0KIGtvbWVkYV9mYl9ub25lX2FmYmNfc2l6ZV9jaGVjayhzdHJ1Y3Qga29tZWRh X2RldiAqbWRldiwgc3RydWN0IGtvbWVkYV9mYiAqa2ZiLA0KIAkJCSAgICAgICBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGUsDQpAQCAtMTE4LDcgKzE4OCwxMCBAQCBrb21lZGFfZmJfY3JlYXRlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwNCiANCiAJZHJtX2hlbHBl cl9tb2RlX2ZpbGxfZmJfc3RydWN0KGRldiwgJmtmYi0+YmFzZSwgbW9kZV9jbWQpOw0KIA0KLQly ZXQgPSBrb21lZGFfZmJfbm9uZV9hZmJjX3NpemVfY2hlY2sobWRldiwga2ZiLCBmaWxlLCBtb2Rl X2NtZCk7DQorCWlmIChrZmItPmJhc2UubW9kaWZpZXIpDQorCQlyZXQgPSBrb21lZGFfZmJfYWZi Y19zaXplX2NoZWNrKGtmYiwgZmlsZSwgbW9kZV9jbWQpOw0KKwllbHNlDQorCQlyZXQgPSBrb21l ZGFfZmJfbm9uZV9hZmJjX3NpemVfY2hlY2sobWRldiwga2ZiLCBmaWxlLCBtb2RlX2NtZCk7DQog CWlmIChyZXQgPCAwKQ0KIAkJZ290byBlcnJfY2xlYW51cDsNCiANCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5oIGIvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIuaA0KaW5k ZXggZWEyZmUxOTBjMWUzLi5lM2JhYjBkZWZkNzIgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5oDQorKysgYi9kcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5oDQpAQCAtMjUs NiArMjUsMTAgQEAgc3RydWN0IGtvbWVkYV9mYiB7DQogCXUzMiBhbGlnbmVkX3c7DQogCS8qKiBA YWxpZ25lZF9oOiBhbGlnbmVkIGZyYW1lIGJ1ZmZlciBoZWlnaHQgKi8NCiAJdTMyIGFsaWduZWRf aDsNCisJLyoqIEBhZmJjX3NpemU6IG1pbmltdW0gc2l6ZSBvZiBhZmJjICovDQorCXUzMiBhZmJj X3NpemU7DQorCS8qKiBAb2Zmc2V0X3BheWxvYWQ6IHN0YXJ0IG9mIGFmYmMgYm9keSBidWZmZXIg Ki8NCisJdTMyIG9mZnNldF9wYXlsb2FkOw0KIH07DQogDQogI2RlZmluZSB0b19rZmIoZGZiKQlj b250YWluZXJfb2YoZGZiLCBzdHJ1Y3Qga29tZWRhX2ZiLCBiYXNlKQ0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jIGIvZHJpdmVycy9n cHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfa21zLmMNCmluZGV4IDNlNTg5MDFmYjc3 Ni4uMzA2ZWEwNjlhMWI0IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfa21zLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX2ttcy5jDQpAQCAtMTQ4LDcgKzE0OCw3IEBAIHN0YXRpYyB2b2lkIGtvbWVk YV9rbXNfbW9kZV9jb25maWdfaW5pdChzdHJ1Y3Qga29tZWRhX2ttc19kZXYgKmttcywNCiAJY29u ZmlnLT5taW5faGVpZ2h0CT0gMDsNCiAJY29uZmlnLT5tYXhfd2lkdGgJPSA0MDk2Ow0KIAljb25m aWctPm1heF9oZWlnaHQJPSA0MDk2Ow0KLQljb25maWctPmFsbG93X2ZiX21vZGlmaWVycyA9IGZh bHNlOw0KKwljb25maWctPmFsbG93X2ZiX21vZGlmaWVycyA9IHRydWU7DQogDQogCWNvbmZpZy0+ ZnVuY3MgPSAma29tZWRhX21vZGVfY29uZmlnX2Z1bmNzOw0KIAljb25maWctPmhlbHBlcl9wcml2 YXRlID0gJmtvbWVkYV9tb2RlX2NvbmZpZ19oZWxwZXJzOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmggYi9kcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9waXBlbGluZS5oDQppbmRleCAxYjdlOTMz ZWEzMDMuLmZkZGU5M2JhZDhkZSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmgNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0v ZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lLmgNCkBAIC0yMzUsNiArMjM1LDEwIEBAIHN0 cnVjdCBrb21lZGFfbGF5ZXJfc3RhdGUgew0KIAkvKiBsYXllciBzcGVjaWZpYyBjb25maWd1cmF0 aW9uIHN0YXRlICovDQogCXUxNiBoc2l6ZSwgdnNpemU7DQogCXUzMiByb3Q7DQorCXUxNiBhZmJj X2Nyb3BfbDsNCisJdTE2IGFmYmNfY3JvcF9yOw0KKwl1MTYgYWZiY19jcm9wX3Q7DQorCXUxNiBh ZmJjX2Nyb3BfYjsNCiAJZG1hX2FkZHJfdCBhZGRyWzNdOw0KIH07DQogDQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUu YyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BpcGVsaW5lX3N0 YXRlLmMNCmluZGV4IDk3NDhjOTQzODg2OC4uZGIyYzNkNmQyYThhIDEwMDY0NA0KLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVfc3RhdGUuYw0K KysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfcGlwZWxpbmVf c3RhdGUuYw0KQEAgLTI5MSw4ICsyOTEsMjIgQEAga29tZWRhX2xheWVyX3ZhbGlkYXRlKHN0cnVj dCBrb21lZGFfbGF5ZXIgKmxheWVyLA0KIAlzdCA9IHRvX2xheWVyX3N0KGNfc3QpOw0KIA0KIAlz dC0+cm90ID0gZGZsb3ctPnJvdDsNCi0Jc3QtPmhzaXplID0ga2ZiLT5hbGlnbmVkX3c7DQotCXN0 LT52c2l6ZSA9IGtmYi0+YWxpZ25lZF9oOw0KKw0KKwlpZiAoZmItPm1vZGlmaWVyKSB7DQorCQlz dC0+aHNpemUgPSBrZmItPmFsaWduZWRfdzsNCisJCXN0LT52c2l6ZSA9IGtmYi0+YWxpZ25lZF9o Ow0KKwkJc3QtPmFmYmNfY3JvcF9sID0gZGZsb3ctPmluX3g7DQorCQlzdC0+YWZiY19jcm9wX3Ig PSBrZmItPmFsaWduZWRfdyAtIGRmbG93LT5pbl94IC0gZGZsb3ctPmluX3c7DQorCQlzdC0+YWZi Y19jcm9wX3QgPSBkZmxvdy0+aW5feTsNCisJCXN0LT5hZmJjX2Nyb3BfYiA9IGtmYi0+YWxpZ25l ZF9oIC0gZGZsb3ctPmluX3kgLSBkZmxvdy0+aW5faDsNCisJfSBlbHNlIHsNCisJCXN0LT5oc2l6 ZSA9IGRmbG93LT5pbl93Ow0KKwkJc3QtPnZzaXplID0gZGZsb3ctPmluX2g7DQorCQlzdC0+YWZi Y19jcm9wX2wgPSAwOw0KKwkJc3QtPmFmYmNfY3JvcF9yID0gMDsNCisJCXN0LT5hZmJjX2Nyb3Bf dCA9IDA7DQorCQlzdC0+YWZiY19jcm9wX2IgPSAwOw0KKwl9DQogDQogCWZvciAoaSA9IDA7IGkg PCBmYi0+Zm9ybWF0LT5udW1fcGxhbmVzOyBpKyspDQogCQlzdC0+YWRkcltpXSA9IGtvbWVkYV9m Yl9nZXRfcGl4ZWxfYWRkcihrZmIsIGRmbG93LT5pbl94LA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9k cm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9wbGFuZS5jDQppbmRleCAwN2VkMGNjMWJjNDQu LjY0NjJjMDIwNjk0MiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX3BsYW5lLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX3BsYW5lLmMNCkBAIC0xNTMsNiArMTUzLDE4IEBAIGtvbWVkYV9wbGFuZV9h dG9taWNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwNCiAJa2ZyZWUodG9f a3BsYW5lX3N0KHN0YXRlKSk7DQogfQ0KIA0KK3N0YXRpYyBib29sDQora29tZWRhX3BsYW5lX2Zv cm1hdF9tb2Rfc3VwcG9ydGVkKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLA0KKwkJCQkgIHUzMiBm b3JtYXQsIHU2NCBtb2RpZmllcikNCit7DQorCXN0cnVjdCBrb21lZGFfZGV2ICptZGV2ID0gcGxh bmUtPmRldi0+ZGV2X3ByaXZhdGU7DQorCXN0cnVjdCBrb21lZGFfcGxhbmUgKmtwbGFuZSA9IHRv X2twbGFuZShwbGFuZSk7DQorCXUzMiBsYXllcl90eXBlID0ga3BsYW5lLT5sYXllci0+bGF5ZXJf dHlwZTsNCisNCisJcmV0dXJuIGtvbWVkYV9mb3JtYXRfbW9kX3N1cHBvcnRlZCgmbWRldi0+Zm10 X3RibCwgbGF5ZXJfdHlwZSwNCisJCQkJCSAgIGZvcm1hdCwgbW9kaWZpZXIpOw0KK30NCisNCiBz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBrb21lZGFfcGxhbmVfZnVuY3MgPSB7 DQogCS51cGRhdGVfcGxhbmUJCT0gZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX3BsYW5lLA0KIAku ZGlzYWJsZV9wbGFuZQkJPSBkcm1fYXRvbWljX2hlbHBlcl9kaXNhYmxlX3BsYW5lLA0KQEAgLTE2 MCw2ICsxNzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBrb21lZGFf cGxhbmVfZnVuY3MgPSB7DQogCS5yZXNldAkJCT0ga29tZWRhX3BsYW5lX3Jlc2V0LA0KIAkuYXRv bWljX2R1cGxpY2F0ZV9zdGF0ZQk9IGtvbWVkYV9wbGFuZV9hdG9taWNfZHVwbGljYXRlX3N0YXRl LA0KIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUJPSBrb21lZGFfcGxhbmVfYXRvbWljX2Rlc3Ryb3lf c3RhdGUsDQorCS5mb3JtYXRfbW9kX3N1cHBvcnRlZAk9IGtvbWVkYV9wbGFuZV9mb3JtYXRfbW9k X3N1cHBvcnRlZCwNCiB9Ow0KIA0KIC8qIGZvciBrb21lZGEsIHdoaWNoIGlzIHBpcGVsaW5lIGNh biBiZSBzaGFyZSBiZXR3ZWVuIGNydGNzICovDQpAQCAtMjEyLDcgKzIyNSw3IEBAIHN0YXRpYyBp bnQga29tZWRhX3BsYW5lX2FkZChzdHJ1Y3Qga29tZWRhX2ttc19kZXYgKmttcywNCiAJZXJyID0g ZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KCZrbXMtPmJhc2UsIHBsYW5lLA0KIAkJCWdldF9wb3Nz aWJsZV9jcnRjcyhrbXMsIGMtPnBpcGVsaW5lKSwNCiAJCQkma29tZWRhX3BsYW5lX2Z1bmNzLA0K LQkJCWZvcm1hdHMsIG5fZm9ybWF0cywgTlVMTCwNCisJCQlmb3JtYXRzLCBuX2Zvcm1hdHMsIGtv bWVkYV9zdXBwb3J0ZWRfbW9kaWZpZXJzLA0KIAkJCWdldF9wbGFuZV90eXBlKGttcywgYyksDQog CQkJIiVzIiwgYy0+bmFtZSk7DQogDQotLSANCjIuMTcuMQ0KDQo=