Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp6784243ybc; Thu, 28 Nov 2019 05:29:16 -0800 (PST) X-Google-Smtp-Source: APXvYqw1WzTNR6paTUMXdFdTYddGv8KO0NgFxPxrNqJeD2uNkBTiV1XVO1dbtmvN5YTxZN6Zftos X-Received: by 2002:a17:906:6403:: with SMTP id d3mr55880722ejm.258.1574947755862; Thu, 28 Nov 2019 05:29:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574947755; cv=none; d=google.com; s=arc-20160816; b=JGbqsbmz10U8iAz0sV22VZFYOHyXRZ2Vskdog4LanvEgoXt6yjluBRqFCZ6C0gWkPI gF16EYPWc0mbcMv1enjjUa+GwODfEjLvcx0MCcjFCZLfm8lPpwUkJRj2+v2F77c4PWxL fl3KWTuiHpZaxqpinWYJyNzvWI8fxO77UzDi1ag9yMqIjdAxVzJ9QGoUFIe9emEplea9 LCQl22+7iPFqGWwynTGDdPSwSS+BCcTaEBdBWQ8MUAR0FPbwISHkenYIC1yP/6hqtF6s u9Uas/ufZ7EOUTwLPOIL/qUitoKt0+7h/iUvrkwcSKkTrEh54gbxD12DFCnK1fU4hxo0 r5tw== 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 :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature; bh=RaVz5vwLS9KwNeHlDd6nou+fZsJexuBBSbET8fSUIQo=; b=iWevSxeM+lKRZJvQNNOlZT7lSobcvm29UzfqNl+mysDxZh8aQhdLfy1xkxP+Dwbq6r 2tVUeNIB05DncIBk1NFOcBNLA8BHv04FEqSzI0vEIAxgGA/YAjqx4bMpxyo3Rc787G5W 8cNHnNM1g5ncvJwz9dGOm9H5LdX5cWKXI8UIcGJmc6m/c57VVpgOd7rkSQZz94dWnGPV QnqufuL9ivge0Gmoee6SLBsZfHAmtn9NZr+6lc2rWYZjyX5ueZiCKc2RtFZsa95xwNZY alhrsrGnsY0hzGXk0+CG4GyjNQ0jDYH8Wa+p+sRM/8YafIWSbsJipStBwye0Et2Ax0hC JGsw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@st.com header.s=STMicroelectronics header.b=OszpPgxx; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=st.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id dk13si6127882edb.422.2019.11.28.05.28.51; Thu, 28 Nov 2019 05:29:15 -0800 (PST) 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=@st.com header.s=STMicroelectronics header.b=OszpPgxx; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=st.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726608AbfK1N0z (ORCPT + 99 others); Thu, 28 Nov 2019 08:26:55 -0500 Received: from mx08-00178001.pphosted.com ([91.207.212.93]:37638 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726227AbfK1N0z (ORCPT ); Thu, 28 Nov 2019 08:26:55 -0500 Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx08-00178001.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xASDHJdX019875; Thu, 28 Nov 2019 14:26:39 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=st.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=STMicroelectronics; bh=RaVz5vwLS9KwNeHlDd6nou+fZsJexuBBSbET8fSUIQo=; b=OszpPgxxauBQNVWIVa083np7PsC5z+6veh47ZBG6Ct5c4KxA/15CljQwpFXnmJGpd5jb TkjRf0Wb3H/2plC7gTZ4vgz9EhyWjxTmAREAXX98xUzcF3vhd+mreiaobRzOIzXmFGaC zQMTOijNi6soan7/3mZFhGR6bOj3bD9HZczMosQMrJyxgxph3ztBjXlN+nq5VUoUvtWY S1yGomD2jZJWVTDJDzwDfICgnfzM44BoCMiMt90id0M8dTudJdgAvPgrh3spTjAN4/K8 n8z9Ry4BNe5HdECNPi6PnEb28/lHnND+mcztshM1B6vKPFK8PFHDq5RF4aGvg9sGODEX UQ== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx08-00178001.pphosted.com with ESMTP id 2whcxyj95r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 28 Nov 2019 14:26:39 +0100 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id E95E4100034; Thu, 28 Nov 2019 14:26:38 +0100 (CET) Received: from Webmail-eu.st.com (sfhdag3node3.st.com [10.75.127.9]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id B0D8C2B75A8; Thu, 28 Nov 2019 14:26:38 +0100 (CET) Received: from SFHDAG3NODE3.st.com (10.75.127.9) by SFHDAG3NODE3.st.com (10.75.127.9) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Thu, 28 Nov 2019 14:26:38 +0100 Received: from SFHDAG3NODE3.st.com ([fe80::3507:b372:7648:476]) by SFHDAG3NODE3.st.com ([fe80::3507:b372:7648:476%20]) with mapi id 15.00.1347.000; Thu, 28 Nov 2019 14:26:37 +0100 From: Benjamin GAIGNARD To: Jani Nikula , "maarten.lankhorst@linux.intel.com" , "mripard@kernel.org" , "sean@poorly.run" , "airlied@linux.ie" , "daniel@ffwll.ch" CC: "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2] drm/dp_mst: Fix W=1 warnings Thread-Topic: [PATCH v2] drm/dp_mst: Fix W=1 warnings Thread-Index: AQHVpdsDCZn0ecTrnUSlCXIFdvSMgaegX4QAgAAi7oA= Date: Thu, 28 Nov 2019 13:26:37 +0000 Message-ID: <8f64b1e7-d7b8-43df-8efe-ca5af91e2cd3@st.com> References: <20191128110012.23898-1-benjamin.gaignard@st.com> <87sgm8mekf.fsf@intel.com> In-Reply-To: <87sgm8mekf.fsf@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.75.127.50] Content-Type: text/plain; charset="utf-8" Content-ID: <8C53A9ED04A80649B5E332E8C9DB8CB5@st.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2019-11-28_03:2019-11-28,2019-11-28 signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQpPbiAxMS8yOC8xOSAxMjoyMSBQTSwgSmFuaSBOaWt1bGEgd3JvdGU6DQo+IE9uIFRodSwgMjgg Tm92IDIwMTksIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdC5jb20+IHdy b3RlOg0KPj4gRml4IHRoZSB3YXJuaW5ncyB0aGF0IHNob3cgdXAgd2l0aCBXPTEuDQo+PiBUaGV5 IGFyZSBhbGwgYWJvdXQgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzLg0KPj4gSWYgZnVuY3Rpb25z IHJldHVybnMgYXJlIG5vdCB1c2VkIGFueW1vcmUgbWFrZSB0aGVtIHZvaWQuDQo+Pg0KPj4gU2ln bmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0LmNvbT4N Cj4+IENDOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPg0KPj4gLS0t DQo+PiBjaGFuZ2VzIGluIHZlcnNpb24gMjoNCj4+IC0gZml4IGluZGVudGF0aW9ucw0KPj4gLSB3 aGVuIHBvc3NpYmxlIGNoYW5nZSBmdW5jdGlvbnMgcHJvdG90eXBlIHRvIHZvaWQNCj4+DQo+PiBO b3RlOiB0aGlzIHBhdGNoIG1heSBjb25mbGljdCB3aXRoIGM0ODVlMmM5N2RhZSAoImRybS9kcF9t c3Q6IFJlZmFjdG9yIHBkdA0KPj4gc2V0dXAvdGVhcmRvd24sIGFkZCBtb3JlIGxvY2tpbmciKSB3 aGVuIGl0IHdpbGwgaGl0IGRybS1taXNjLW5leHQNCj4gV2VsbCwgd2h5IGNyZWF0ZSBhbiB1bm5l Y2Vzc2FyeSBjb25mbGljdCB3aGVuIHRoZSByZWZlcmVuY2VkIGNvbW1pdCBhbHNvDQo+IGZpeGVz IHRoZSBzYW1lIHdhcm5pbmdzIGFzIGEgc2lkZS1lZmZlY3Q/DQoNCkJlY2F1c2UgdGhpcyBjb21t aXQgaXMgbm90IG1lcmdlZCAoeWV0ID8pIGluIGRybS1taXNjLW5leHQgd2hpY2ggd2hlcmUgSSAN CnN0YXJ0Lg0KDQpCZW5qYW1pbg0KDQo+IEJSLA0KPiBKYW5pLg0KPg0KPg0KPj4gICBkcml2ZXJz L2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jIHwgODMgKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4+ICAgMSBmaWxlIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDUy IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rw X21zdF90b3BvbG9neS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYw0K Pj4gaW5kZXggYjg1NGE0MjJhNTIzLi5mZjJkODFkYjA3NzggMTAwNjQ0DQo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2RwX21zdF90b3BvbG9neS5jDQo+PiBAQCAtNjcyLDcgKzY3Miw2IEBAIHN0YXRpYyBi b29sIGRybV9kcF9zaWRlYmFuZF9tc2dfYnVpbGQoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2df cnggKm1zZywNCj4+ICAgCQkJCSAgICAgIHU4ICpyZXBseWJ1ZiwgdTggcmVwbHlidWZsZW4sIGJv b2wgaGRyKQ0KPj4gICB7DQo+PiAgIAlpbnQgcmV0Ow0KPj4gLQl1OCBjcmM0Ow0KPj4gICANCj4+ ICAgCWlmIChoZHIpIHsNCj4+ICAgCQl1OCBoZHJsZW47DQo+PiBAQCAtNzE0LDggKzcxMyw2IEBA IHN0YXRpYyBib29sIGRybV9kcF9zaWRlYmFuZF9tc2dfYnVpbGQoc3RydWN0IGRybV9kcF9zaWRl YmFuZF9tc2dfcnggKm1zZywNCj4+ICAgCX0NCj4+ICAgDQo+PiAgIAlpZiAobXNnLT5jdXJjaHVu a19pZHggPj0gbXNnLT5jdXJjaHVua19sZW4pIHsNCj4+IC0JCS8qIGRvIENSQyAqLw0KPj4gLQkJ Y3JjNCA9IGRybV9kcF9tc2dfZGF0YV9jcmM0KG1zZy0+Y2h1bmssIG1zZy0+Y3VyY2h1bmtfbGVu IC0gMSk7DQo+PiAgIAkJLyogY29weSBjaHVuayBpbnRvIGJpZ2dlciBtc2cgKi8NCj4+ICAgCQlt ZW1jcHkoJm1zZy0+bXNnW21zZy0+Y3VybGVuXSwgbXNnLT5jaHVuaywgbXNnLT5jdXJjaHVua19s ZW4gLSAxKTsNCj4+ICAgCQltc2ctPmN1cmxlbiArPSBtc2ctPmN1cmNodW5rX2xlbiAtIDE7DQo+ PiBAQCAtMTAxMiw3ICsxMDA5LDcgQEAgc3RhdGljIGJvb2wgZHJtX2RwX3NpZGViYW5kX3BhcnNl X3JlcShzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yeCAqcmF3LA0KPj4gICAJfQ0KPj4gICB9 DQo+PiAgIA0KPj4gLXN0YXRpYyBpbnQgYnVpbGRfZHBjZF93cml0ZShzdHJ1Y3QgZHJtX2RwX3Np ZGViYW5kX21zZ190eCAqbXNnLCB1OCBwb3J0X251bSwgdTMyIG9mZnNldCwgdTggbnVtX2J5dGVz LCB1OCAqYnl0ZXMpDQo+PiArc3RhdGljIHZvaWQgYnVpbGRfZHBjZF93cml0ZShzdHJ1Y3QgZHJt X2RwX3NpZGViYW5kX21zZ190eCAqbXNnLCB1OCBwb3J0X251bSwgdTMyIG9mZnNldCwgdTggbnVt X2J5dGVzLCB1OCAqYnl0ZXMpDQo+PiAgIHsNCj4+ICAgCXN0cnVjdCBkcm1fZHBfc2lkZWJhbmRf bXNnX3JlcV9ib2R5IHJlcTsNCj4+ICAgDQo+PiBAQCAtMTAyMiwxNyArMTAxOSwxNCBAQCBzdGF0 aWMgaW50IGJ1aWxkX2RwY2Rfd3JpdGUoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfdHggKm1z ZywgdTggcG9ydF9udW0sIHUzMg0KPj4gICAJcmVxLnUuZHBjZF93cml0ZS5udW1fYnl0ZXMgPSBu dW1fYnl0ZXM7DQo+PiAgIAlyZXEudS5kcGNkX3dyaXRlLmJ5dGVzID0gYnl0ZXM7DQo+PiAgIAlk cm1fZHBfZW5jb2RlX3NpZGViYW5kX3JlcSgmcmVxLCBtc2cpOw0KPj4gLQ0KPj4gLQlyZXR1cm4g MDsNCj4+ICAgfQ0KPj4gICANCj4+IC1zdGF0aWMgaW50IGJ1aWxkX2xpbmtfYWRkcmVzcyhzdHJ1 Y3QgZHJtX2RwX3NpZGViYW5kX21zZ190eCAqbXNnKQ0KPj4gK3N0YXRpYyB2b2lkIGJ1aWxkX2xp bmtfYWRkcmVzcyhzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ190eCAqbXNnKQ0KPj4gICB7DQo+ PiAgIAlzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yZXFfYm9keSByZXE7DQo+PiAgIA0KPj4g ICAJcmVxLnJlcV90eXBlID0gRFBfTElOS19BRERSRVNTOw0KPj4gICAJZHJtX2RwX2VuY29kZV9z aWRlYmFuZF9yZXEoJnJlcSwgbXNnKTsNCj4+IC0JcmV0dXJuIDA7DQo+PiAgIH0NCj4+ICAgDQo+ PiAgIHN0YXRpYyBpbnQgYnVpbGRfZW51bV9wYXRoX3Jlc291cmNlcyhzdHJ1Y3QgZHJtX2RwX3Np ZGViYW5kX21zZ190eCAqbXNnLCBpbnQgcG9ydF9udW0pDQo+PiBAQCAtMTA0Niw3ICsxMDQwLDcg QEAgc3RhdGljIGludCBidWlsZF9lbnVtX3BhdGhfcmVzb3VyY2VzKHN0cnVjdCBkcm1fZHBfc2lk ZWJhbmRfbXNnX3R4ICptc2csIGludCBwb3INCj4+ICAgCXJldHVybiAwOw0KPj4gICB9DQo+PiAg IA0KPj4gLXN0YXRpYyBpbnQgYnVpbGRfYWxsb2NhdGVfcGF5bG9hZChzdHJ1Y3QgZHJtX2RwX3Np ZGViYW5kX21zZ190eCAqbXNnLCBpbnQgcG9ydF9udW0sDQo+PiArc3RhdGljIHZvaWQgYnVpbGRf YWxsb2NhdGVfcGF5bG9hZChzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ190eCAqbXNnLCBpbnQg cG9ydF9udW0sDQo+PiAgIAkJCQkgIHU4IHZjcGksIHVpbnQxNl90IHBibiwNCj4+ICAgCQkJCSAg dTggbnVtYmVyX3NkcF9zdHJlYW1zLA0KPj4gICAJCQkJICB1OCAqc2RwX3N0cmVhbV9zaW5rKQ0K Pj4gQEAgLTEwNjIsMTAgKzEwNTYsOSBAQCBzdGF0aWMgaW50IGJ1aWxkX2FsbG9jYXRlX3BheWxv YWQoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfdHggKm1zZywgaW50IHBvcnRfbg0KPj4gICAJ CSAgIG51bWJlcl9zZHBfc3RyZWFtcyk7DQo+PiAgIAlkcm1fZHBfZW5jb2RlX3NpZGViYW5kX3Jl cSgmcmVxLCBtc2cpOw0KPj4gICAJbXNnLT5wYXRoX21zZyA9IHRydWU7DQo+PiAtCXJldHVybiAw Ow0KPj4gICB9DQo+PiAgIA0KPj4gLXN0YXRpYyBpbnQgYnVpbGRfcG93ZXJfdXBkb3duX3BoeShz dHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ190eCAqbXNnLA0KPj4gK3N0YXRpYyB2b2lkIGJ1aWxk X3Bvd2VyX3VwZG93bl9waHkoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfdHggKm1zZywNCj4+ ICAgCQkJCSAgaW50IHBvcnRfbnVtLCBib29sIHBvd2VyX3VwKQ0KPj4gICB7DQo+PiAgIAlzdHJ1 Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yZXFfYm9keSByZXE7DQo+PiBAQCAtMTA3OCw3ICsxMDcx LDYgQEAgc3RhdGljIGludCBidWlsZF9wb3dlcl91cGRvd25fcGh5KHN0cnVjdCBkcm1fZHBfc2lk ZWJhbmRfbXNnX3R4ICptc2csDQo+PiAgIAlyZXEudS5wb3J0X251bS5wb3J0X251bWJlciA9IHBv cnRfbnVtOw0KPj4gICAJZHJtX2RwX2VuY29kZV9zaWRlYmFuZF9yZXEoJnJlcSwgbXNnKTsNCj4+ ICAgCW1zZy0+cGF0aF9tc2cgPSB0cnVlOw0KPj4gLQlyZXR1cm4gMDsNCj4+ICAgfQ0KPj4gICAN Cj4+ICAgc3RhdGljIGludCBkcm1fZHBfbXN0X2Fzc2lnbl9wYXlsb2FkX2lkKHN0cnVjdCBkcm1f ZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLA0KPj4gQEAgLTE3NDQsMTQgKzE3MzYsMTMgQEAgc3Rh dGljIHU4IGRybV9kcF9jYWxjdWxhdGVfcmFkKHN0cnVjdCBkcm1fZHBfbXN0X3BvcnQgKnBvcnQs DQo+PiAgICAqLw0KPj4gICBzdGF0aWMgYm9vbCBkcm1fZHBfcG9ydF9zZXR1cF9wZHQoc3RydWN0 IGRybV9kcF9tc3RfcG9ydCAqcG9ydCkNCj4+ICAgew0KPj4gLQlpbnQgcmV0Ow0KPj4gICAJdTgg cmFkWzZdLCBsY3Q7DQo+PiAgIAlib29sIHNlbmRfbGluayA9IGZhbHNlOw0KPj4gICAJc3dpdGNo IChwb3J0LT5wZHQpIHsNCj4+ICAgCWNhc2UgRFBfUEVFUl9ERVZJQ0VfRFBfTEVHQUNZX0NPTlY6 DQo+PiAgIAljYXNlIERQX1BFRVJfREVWSUNFX1NTVF9TSU5LOg0KPj4gICAJCS8qIGFkZCBpMmMg b3ZlciBzaWRlYmFuZCAqLw0KPj4gLQkJcmV0ID0gZHJtX2RwX21zdF9yZWdpc3Rlcl9pMmNfYnVz KCZwb3J0LT5hdXgpOw0KPj4gKwkJZHJtX2RwX21zdF9yZWdpc3Rlcl9pMmNfYnVzKCZwb3J0LT5h dXgpOw0KPj4gICAJCWJyZWFrOw0KPj4gICAJY2FzZSBEUF9QRUVSX0RFVklDRV9NU1RfQlJBTkNI SU5HOg0KPj4gICAJCWxjdCA9IGRybV9kcF9jYWxjdWxhdGVfcmFkKHBvcnQsIHJhZCk7DQo+PiBA QCAtMTgyMSwyNSArMTgxMiwyMCBAQCBzc2l6ZV90IGRybV9kcF9tc3RfZHBjZF93cml0ZShzdHJ1 Y3QgZHJtX2RwX2F1eCAqYXV4LA0KPj4gICANCj4+ICAgc3RhdGljIHZvaWQgZHJtX2RwX2NoZWNr X21zdGJfZ3VpZChzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKm1zdGIsIHU4ICpndWlkKQ0KPj4g ICB7DQo+PiAtCWludCByZXQ7DQo+PiAtDQo+PiAgIAltZW1jcHkobXN0Yi0+Z3VpZCwgZ3VpZCwg MTYpOw0KPj4gICANCj4+ICAgCWlmICghZHJtX2RwX3ZhbGlkYXRlX2d1aWQobXN0Yi0+bWdyLCBt c3RiLT5ndWlkKSkgew0KPj4gICAJCWlmIChtc3RiLT5wb3J0X3BhcmVudCkgew0KPj4gLQkJCXJl dCA9IGRybV9kcF9zZW5kX2RwY2Rfd3JpdGUoDQo+PiAtCQkJCQltc3RiLT5tZ3IsDQo+PiAtCQkJ CQltc3RiLT5wb3J0X3BhcmVudCwNCj4+IC0JCQkJCURQX0dVSUQsDQo+PiAtCQkJCQkxNiwNCj4+ IC0JCQkJCW1zdGItPmd1aWQpOw0KPj4gKwkJCWRybV9kcF9zZW5kX2RwY2Rfd3JpdGUobXN0Yi0+ bWdyLA0KPj4gKwkJCQkJICAgICAgIG1zdGItPnBvcnRfcGFyZW50LA0KPj4gKwkJCQkJICAgICAg IERQX0dVSUQsDQo+PiArCQkJCQkgICAgICAgMTYsDQo+PiArCQkJCQkgICAgICAgbXN0Yi0+Z3Vp ZCk7DQo+PiAgIAkJfSBlbHNlIHsNCj4+IC0NCj4+IC0JCQlyZXQgPSBkcm1fZHBfZHBjZF93cml0 ZSgNCj4+IC0JCQkJCW1zdGItPm1nci0+YXV4LA0KPj4gLQkJCQkJRFBfR1VJRCwNCj4+IC0JCQkJ CW1zdGItPmd1aWQsDQo+PiAtCQkJCQkxNik7DQo+PiArCQkJZHJtX2RwX2RwY2Rfd3JpdGUobXN0 Yi0+bWdyLT5hdXgsDQo+PiArCQkJCQkgIERQX0dVSUQsDQo+PiArCQkJCQkgIG1zdGItPmd1aWQs DQo+PiArCQkJCQkgIDE2KTsNCj4+ICAgCQl9DQo+PiAgIAl9DQo+PiAgIH0NCj4+IEBAIC0yMTk1 LDcgKzIxODEsNyBAQCBzdGF0aWMgYm9vbCBkcm1fZHBfdmFsaWRhdGVfZ3VpZChzdHJ1Y3QgZHJt X2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwNCj4+ICAgCXJldHVybiBmYWxzZTsNCj4+ICAgfQ0K Pj4gICANCj4+IC1zdGF0aWMgaW50IGJ1aWxkX2RwY2RfcmVhZChzdHJ1Y3QgZHJtX2RwX3NpZGVi YW5kX21zZ190eCAqbXNnLCB1OCBwb3J0X251bSwgdTMyIG9mZnNldCwgdTggbnVtX2J5dGVzKQ0K Pj4gK3N0YXRpYyB2b2lkIGJ1aWxkX2RwY2RfcmVhZChzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21z Z190eCAqbXNnLCB1OCBwb3J0X251bSwgdTMyIG9mZnNldCwgdTggbnVtX2J5dGVzKQ0KPj4gICB7 DQo+PiAgIAlzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yZXFfYm9keSByZXE7DQo+PiAgIA0K Pj4gQEAgLTIyMDQsOCArMjE5MCw2IEBAIHN0YXRpYyBpbnQgYnVpbGRfZHBjZF9yZWFkKHN0cnVj dCBkcm1fZHBfc2lkZWJhbmRfbXNnX3R4ICptc2csIHU4IHBvcnRfbnVtLCB1MzINCj4+ICAgCXJl cS51LmRwY2RfcmVhZC5kcGNkX2FkZHJlc3MgPSBvZmZzZXQ7DQo+PiAgIAlyZXEudS5kcGNkX3Jl YWQubnVtX2J5dGVzID0gbnVtX2J5dGVzOw0KPj4gICAJZHJtX2RwX2VuY29kZV9zaWRlYmFuZF9y ZXEoJnJlcSwgbXNnKTsNCj4+IC0NCj4+IC0JcmV0dXJuIDA7DQo+PiAgIH0NCj4+ICAgDQo+PiAg IHN0YXRpYyBpbnQgZHJtX2RwX3NlbmRfc2lkZWJhbmRfbXNnKHN0cnVjdCBkcm1fZHBfbXN0X3Rv cG9sb2d5X21nciAqbWdyLA0KPj4gQEAgLTI0MjcsMTQgKzI0MTEsMTQgQEAgc3RhdGljIHZvaWQg ZHJtX2RwX3NlbmRfbGlua19hZGRyZXNzKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAq bWdyLA0KPj4gICB7DQo+PiAgIAlzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ190eCAqdHhtc2c7 DQo+PiAgIAlzdHJ1Y3QgZHJtX2RwX2xpbmtfYWRkcmVzc19hY2tfcmVwbHkgKnJlcGx5Ow0KPj4g LQlpbnQgaSwgbGVuLCByZXQ7DQo+PiArCWludCBpLCByZXQ7DQo+PiAgIA0KPj4gICAJdHhtc2cg PSBremFsbG9jKHNpemVvZigqdHhtc2cpLCBHRlBfS0VSTkVMKTsNCj4+ICAgCWlmICghdHhtc2cp DQo+PiAgIAkJcmV0dXJuOw0KPj4gICANCj4+ICAgCXR4bXNnLT5kc3QgPSBtc3RiOw0KPj4gLQls ZW4gPSBidWlsZF9saW5rX2FkZHJlc3ModHhtc2cpOw0KPj4gKwlidWlsZF9saW5rX2FkZHJlc3Mo dHhtc2cpOw0KPj4gICANCj4+ICAgCW1zdGItPmxpbmtfYWRkcmVzc19zZW50ID0gdHJ1ZTsNCj4+ ICAgCWRybV9kcF9xdWV1ZV9kb3duX3R4KG1nciwgdHhtc2cpOw0KPj4gQEAgLTI0NzYsNyArMjQ2 MCw2IEBAIGRybV9kcF9zZW5kX2VudW1fcGF0aF9yZXNvdXJjZXMoc3RydWN0IGRybV9kcF9tc3Rf dG9wb2xvZ3lfbWdyICptZ3IsDQo+PiAgIHsNCj4+ICAgCXN0cnVjdCBkcm1fZHBfZW51bV9wYXRo X3Jlc291cmNlc19hY2tfcmVwbHkgKnBhdGhfcmVzOw0KPj4gICAJc3RydWN0IGRybV9kcF9zaWRl YmFuZF9tc2dfdHggKnR4bXNnOw0KPj4gLQlpbnQgbGVuOw0KPj4gICAJaW50IHJldDsNCj4+ICAg DQo+PiAgIAl0eG1zZyA9IGt6YWxsb2Moc2l6ZW9mKCp0eG1zZyksIEdGUF9LRVJORUwpOw0KPj4g QEAgLTI0ODQsNyArMjQ2Nyw3IEBAIGRybV9kcF9zZW5kX2VudW1fcGF0aF9yZXNvdXJjZXMoc3Ry dWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsDQo+PiAgIAkJcmV0dXJuIC1FTk9NRU07 DQo+PiAgIA0KPj4gICAJdHhtc2ctPmRzdCA9IG1zdGI7DQo+PiAtCWxlbiA9IGJ1aWxkX2VudW1f cGF0aF9yZXNvdXJjZXModHhtc2csIHBvcnQtPnBvcnRfbnVtKTsNCj4+ICsJYnVpbGRfZW51bV9w YXRoX3Jlc291cmNlcyh0eG1zZywgcG9ydC0+cG9ydF9udW0pOw0KPj4gICANCj4+ICAgCWRybV9k cF9xdWV1ZV9kb3duX3R4KG1nciwgdHhtc2cpOw0KPj4gICANCj4+IEBAIC0yNTY3LDcgKzI1NTAs NyBAQCBzdGF0aWMgaW50IGRybV9kcF9wYXlsb2FkX3NlbmRfbXNnKHN0cnVjdCBkcm1fZHBfbXN0 X3RvcG9sb2d5X21nciAqbWdyLA0KPj4gICB7DQo+PiAgIAlzdHJ1Y3QgZHJtX2RwX3NpZGViYW5k X21zZ190eCAqdHhtc2c7DQo+PiAgIAlzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKm1zdGI7DQo+ PiAtCWludCBsZW4sIHJldCwgcG9ydF9udW07DQo+PiArCWludCByZXQsIHBvcnRfbnVtOw0KPj4g ICAJdTggc2lua3NbRFJNX0RQX01BWF9TRFBfU1RSRUFNU107DQo+PiAgIAlpbnQgaTsNCj4+ICAg DQo+PiBAQCAtMjU5Miw5ICsyNTc1LDkgQEAgc3RhdGljIGludCBkcm1fZHBfcGF5bG9hZF9zZW5k X21zZyhzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwNCj4+ICAgCQlzaW5rc1tp XSA9IGk7DQo+PiAgIA0KPj4gICAJdHhtc2ctPmRzdCA9IG1zdGI7DQo+PiAtCWxlbiA9IGJ1aWxk X2FsbG9jYXRlX3BheWxvYWQodHhtc2csIHBvcnRfbnVtLA0KPj4gLQkJCQkgICAgIGlkLA0KPj4g LQkJCQkgICAgIHBibiwgcG9ydC0+bnVtX3NkcF9zdHJlYW1zLCBzaW5rcyk7DQo+PiArCWJ1aWxk X2FsbG9jYXRlX3BheWxvYWQodHhtc2csIHBvcnRfbnVtLA0KPj4gKwkJCSAgICAgICBpZCwNCj4+ ICsJCQkgICAgICAgcGJuLCBwb3J0LT5udW1fc2RwX3N0cmVhbXMsIHNpbmtzKTsNCj4+ICAgDQo+ PiAgIAlkcm1fZHBfcXVldWVfZG93bl90eChtZ3IsIHR4bXNnKTsNCj4+ICAgDQo+PiBAQCAtMjYy Myw3ICsyNjA2LDcgQEAgaW50IGRybV9kcF9zZW5kX3Bvd2VyX3VwZG93bl9waHkoc3RydWN0IGRy bV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsDQo+PiAgIAkJCQkgc3RydWN0IGRybV9kcF9tc3Rf cG9ydCAqcG9ydCwgYm9vbCBwb3dlcl91cCkNCj4+ICAgew0KPj4gICAJc3RydWN0IGRybV9kcF9z aWRlYmFuZF9tc2dfdHggKnR4bXNnOw0KPj4gLQlpbnQgbGVuLCByZXQ7DQo+PiArCWludCByZXQ7 DQo+PiAgIA0KPj4gICAJcG9ydCA9IGRybV9kcF9tc3RfdG9wb2xvZ3lfZ2V0X3BvcnRfdmFsaWRh dGVkKG1nciwgcG9ydCk7DQo+PiAgIAlpZiAoIXBvcnQpDQo+PiBAQCAtMjYzNiw3ICsyNjE5LDcg QEAgaW50IGRybV9kcF9zZW5kX3Bvd2VyX3VwZG93bl9waHkoc3RydWN0IGRybV9kcF9tc3RfdG9w b2xvZ3lfbWdyICptZ3IsDQo+PiAgIAl9DQo+PiAgIA0KPj4gICAJdHhtc2ctPmRzdCA9IHBvcnQt PnBhcmVudDsNCj4+IC0JbGVuID0gYnVpbGRfcG93ZXJfdXBkb3duX3BoeSh0eG1zZywgcG9ydC0+ cG9ydF9udW0sIHBvd2VyX3VwKTsNCj4+ICsJYnVpbGRfcG93ZXJfdXBkb3duX3BoeSh0eG1zZywg cG9ydC0+cG9ydF9udW0sIHBvd2VyX3VwKTsNCj4+ICAgCWRybV9kcF9xdWV1ZV9kb3duX3R4KG1n ciwgdHhtc2cpOw0KPj4gICANCj4+ICAgCXJldCA9IGRybV9kcF9tc3Rfd2FpdF90eF9yZXBseShw b3J0LT5wYXJlbnQsIHR4bXNnKTsNCj4+IEBAIC0yODU2LDcgKzI4MzksNiBAQCBzdGF0aWMgaW50 IGRybV9kcF9zZW5kX2RwY2RfcmVhZChzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1n ciwNCj4+ICAgCQkJCSBzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpwb3J0LA0KPj4gICAJCQkJIGlu dCBvZmZzZXQsIGludCBzaXplLCB1OCAqYnl0ZXMpDQo+PiAgIHsNCj4+IC0JaW50IGxlbjsNCj4+ ICAgCWludCByZXQgPSAwOw0KPj4gICAJc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfdHggKnR4 bXNnOw0KPj4gICAJc3RydWN0IGRybV9kcF9tc3RfYnJhbmNoICptc3RiOw0KPj4gQEAgLTI4NzEs NyArMjg1Myw3IEBAIHN0YXRpYyBpbnQgZHJtX2RwX3NlbmRfZHBjZF9yZWFkKHN0cnVjdCBkcm1f ZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLA0KPj4gICAJCWdvdG8gZmFpbF9wdXQ7DQo+PiAgIAl9 DQo+PiAgIA0KPj4gLQlsZW4gPSBidWlsZF9kcGNkX3JlYWQodHhtc2csIHBvcnQtPnBvcnRfbnVt LCBvZmZzZXQsIHNpemUpOw0KPj4gKwlidWlsZF9kcGNkX3JlYWQodHhtc2csIHBvcnQtPnBvcnRf bnVtLCBvZmZzZXQsIHNpemUpOw0KPj4gICAJdHhtc2ctPmRzdCA9IHBvcnQtPnBhcmVudDsNCj4+ ICAgDQo+PiAgIAlkcm1fZHBfcXVldWVfZG93bl90eChtZ3IsIHR4bXNnKTsNCj4+IEBAIC0yOTA5 LDcgKzI4OTEsNiBAQCBzdGF0aWMgaW50IGRybV9kcF9zZW5kX2RwY2Rfd3JpdGUoc3RydWN0IGRy bV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsDQo+PiAgIAkJCQkgIHN0cnVjdCBkcm1fZHBfbXN0 X3BvcnQgKnBvcnQsDQo+PiAgIAkJCQkgIGludCBvZmZzZXQsIGludCBzaXplLCB1OCAqYnl0ZXMp DQo+PiAgIHsNCj4+IC0JaW50IGxlbjsNCj4+ICAgCWludCByZXQ7DQo+PiAgIAlzdHJ1Y3QgZHJt X2RwX3NpZGViYW5kX21zZ190eCAqdHhtc2c7DQo+PiAgIAlzdHJ1Y3QgZHJtX2RwX21zdF9icmFu Y2ggKm1zdGI7DQo+PiBAQCAtMjkyNCw3ICsyOTA1LDcgQEAgc3RhdGljIGludCBkcm1fZHBfc2Vu ZF9kcGNkX3dyaXRlKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLA0KPj4gICAJ CWdvdG8gZmFpbF9wdXQ7DQo+PiAgIAl9DQo+PiAgIA0KPj4gLQlsZW4gPSBidWlsZF9kcGNkX3dy aXRlKHR4bXNnLCBwb3J0LT5wb3J0X251bSwgb2Zmc2V0LCBzaXplLCBieXRlcyk7DQo+PiArCWJ1 aWxkX2RwY2Rfd3JpdGUodHhtc2csIHBvcnQtPnBvcnRfbnVtLCBvZmZzZXQsIHNpemUsIGJ5dGVz KTsNCj4+ICAgCXR4bXNnLT5kc3QgPSBtc3RiOw0KPj4gICANCj4+ICAgCWRybV9kcF9xdWV1ZV9k b3duX3R4KG1nciwgdHhtc2cpOw0KPj4gQEAgLTMxNDcsNyArMzEyOCw3IEBAIHN0YXRpYyBib29s IGRybV9kcF9nZXRfb25lX3NiX21zZyhzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1n ciwgYm9vbCB1cCkNCj4+ICAgew0KPj4gICAJaW50IGxlbjsNCj4+ICAgCXU4IHJlcGx5YmxvY2tb MzJdOw0KPj4gLQlpbnQgcmVwbHlsZW4sIG9yaWdsZW4sIGN1cnJlcGx5Ow0KPj4gKwlpbnQgcmVw bHlsZW4sIGN1cnJlcGx5Ow0KPj4gICAJaW50IHJldDsNCj4+ICAgCXN0cnVjdCBkcm1fZHBfc2lk ZWJhbmRfbXNnX3J4ICptc2c7DQo+PiAgIAlpbnQgYmFzZXJlZyA9IHVwID8gRFBfU0lERUJBTkRf TVNHX1VQX1JFUV9CQVNFIDogRFBfU0lERUJBTkRfTVNHX0RPV05fUkVQX0JBU0U7DQo+PiBAQCAt MzE2Nyw3ICszMTQ4LDYgQEAgc3RhdGljIGJvb2wgZHJtX2RwX2dldF9vbmVfc2JfbXNnKHN0cnVj dCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLCBib29sIHVwKQ0KPj4gICAJfQ0KPj4gICAJ cmVwbHlsZW4gPSBtc2ctPmN1cmNodW5rX2xlbiArIG1zZy0+Y3VyY2h1bmtfaGRybGVuOw0KPj4g ICANCj4+IC0Jb3JpZ2xlbiA9IHJlcGx5bGVuOw0KPj4gICAJcmVwbHlsZW4gLT0gbGVuOw0KPj4g ICAJY3VycmVwbHkgPSBsZW47DQo+PiAgIAl3aGlsZSAocmVwbHlsZW4gPiAwKSB7DQo+PiBAQCAt Mzk1OSwxNyArMzkzOSwxNiBAQCB2b2lkIGRybV9kcF9tc3RfZHVtcF90b3BvbG9neShzdHJ1Y3Qg c2VxX2ZpbGUgKm0sDQo+PiAgIAltdXRleF9sb2NrKCZtZ3ItPmxvY2spOw0KPj4gICAJaWYgKG1n ci0+bXN0X3ByaW1hcnkpIHsNCj4+ICAgCQl1OCBidWZbRFBfUEFZTE9BRF9UQUJMRV9TSVpFXTsN Cj4+IC0JCWludCByZXQ7DQo+PiAgIA0KPj4gLQkJcmV0ID0gZHJtX2RwX2RwY2RfcmVhZChtZ3It PmF1eCwgRFBfRFBDRF9SRVYsIGJ1ZiwgRFBfUkVDRUlWRVJfQ0FQX1NJWkUpOw0KPj4gKwkJZHJt X2RwX2RwY2RfcmVhZChtZ3ItPmF1eCwgRFBfRFBDRF9SRVYsIGJ1ZiwgRFBfUkVDRUlWRVJfQ0FQ X1NJWkUpOw0KPj4gICAJCXNlcV9wcmludGYobSwgImRwY2Q6ICUqcGhcbiIsIERQX1JFQ0VJVkVS X0NBUF9TSVpFLCBidWYpOw0KPj4gLQkJcmV0ID0gZHJtX2RwX2RwY2RfcmVhZChtZ3ItPmF1eCwg RFBfRkFVWF9DQVAsIGJ1ZiwgMik7DQo+PiArCQlkcm1fZHBfZHBjZF9yZWFkKG1nci0+YXV4LCBE UF9GQVVYX0NBUCwgYnVmLCAyKTsNCj4+ICAgCQlzZXFfcHJpbnRmKG0sICJmYXV4L21zdDogJSpw aFxuIiwgMiwgYnVmKTsNCj4+IC0JCXJldCA9IGRybV9kcF9kcGNkX3JlYWQobWdyLT5hdXgsIERQ X01TVE1fQ1RSTCwgYnVmLCAxKTsNCj4+ICsJCWRybV9kcF9kcGNkX3JlYWQobWdyLT5hdXgsIERQ X01TVE1fQ1RSTCwgYnVmLCAxKTsNCj4+ICAgCQlzZXFfcHJpbnRmKG0sICJtc3QgY3RybDogJSpw aFxuIiwgMSwgYnVmKTsNCj4+ICAgDQo+PiAgIAkJLyogZHVtcCB0aGUgc3RhbmRhcmQgT1VJIGJy YW5jaCBoZWFkZXIgKi8NCj4+IC0JCXJldCA9IGRybV9kcF9kcGNkX3JlYWQobWdyLT5hdXgsIERQ X0JSQU5DSF9PVUksIGJ1ZiwgRFBfQlJBTkNIX09VSV9IRUFERVJfU0laRSk7DQo+PiArCQlkcm1f ZHBfZHBjZF9yZWFkKG1nci0+YXV4LCBEUF9CUkFOQ0hfT1VJLCBidWYsIERQX0JSQU5DSF9PVUlf SEVBREVSX1NJWkUpOw0KPj4gICAJCXNlcV9wcmludGYobSwgImJyYW5jaCBvdWk6ICUqcGhOIGRl dmlkOiAiLCAzLCBidWYpOw0KPj4gICAJCWZvciAoaSA9IDB4MzsgaSA8IDB4OCAmJiBidWZbaV07 IGkrKykNCj4+ICAgCQkJc2VxX3ByaW50ZihtLCAiJWMiLCBidWZbaV0pOw==