Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1298054ybl; Wed, 4 Dec 2019 22:03:06 -0800 (PST) X-Google-Smtp-Source: APXvYqyr//Q9MiyOKQilCpV9P7dfHBfVKT20mXwWozTUFfElanoovETjqqSYfym1ijht979b/Nh5 X-Received: by 2002:a9d:7ada:: with SMTP id m26mr5561310otn.111.1575525786663; Wed, 04 Dec 2019 22:03:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575525786; cv=none; d=google.com; s=arc-20160816; b=knlLf5deoX7FnFxWOMa0WEXRwlvpNs8BAp8V0lqtvIcijxdRj5xtr6s2g6CC5ikFIm U1Pcy+eLg9NL0+Mu/J5LD7Setn3GISy2SQGv5sM/veG8kdcVfiQfpo9n8s7e8yd4vhEt GMJ6wOUIcqSntXk4FffRFhESKcI7l1JA/FgUMzeTFZRGITq3XeYIGp5SmGw5D7eONluy 1h8m5Jms71exGfHLgP0CKIfdDdWNThRQ655QfFCbv1bAr8UtvN3HIqQh/Iswat2HIIAd NXzz0ZJmLoWOvg4oxJgJn+G7xKNeSOB79O2Z1HP4VfVMxHhBqbDv3GB+AkwGIuYXrIbu bzqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=iu9VXV0T3QkfW+WGICaWIjvUVkTudBlVQc+B2lmc3qM=; b=ENvKG0Hvt9a8nR5IvzFMfGdWFzSkRxBjeTqMiUJBgQUYHkat6f8b7hppEe1NQnnkgj Q8GlN+qPUH7wtQFhqDa1+Dgl/wbeFvA89kYyKFWl+dhHETMagsAzYJ4PbYmYU6Vn5lyU A0Qo7hwk1GDGvGDizzuIke9eNBWPGgYH7+Igi3r4e/l/sJFpZ6HYFYOnCcJhop+Wjopd sbfA386KPXyAOwNDSH4IMf/4sVXDKU452KckIzHVIy5qSRiTidaxOTIpxpxzJACXC1UA z9g/ZaAKNt3j7nMk/9+0qDR4jm15BYaLFag1hSN61F8yM4MiP4Dx/cXOJBJ2Qtpyeijb kswQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b="dxhzU/q4"; 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=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t130si3988880oih.37.2019.12.04.22.02.52; Wed, 04 Dec 2019 22:03:06 -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=@mediatek.com header.s=dk header.b="dxhzU/q4"; 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=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726096AbfLEGBz (ORCPT + 99 others); Thu, 5 Dec 2019 01:01:55 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:33182 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725905AbfLEGBz (ORCPT ); Thu, 5 Dec 2019 01:01:55 -0500 X-UUID: f80bba68557d4b1f9763da4060248fae-20191205 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=iu9VXV0T3QkfW+WGICaWIjvUVkTudBlVQc+B2lmc3qM=; b=dxhzU/q4R2eBiWFnikKjm/Y64yV71Z5IqCNxNFCaoWHayfk22KEGjq6bIv2bIWv3f8z9xb8BuROFlMeK50pQgo/bhecKDBPpH0Yo83oL3sO/jo6DLlAmXIGcnYVYXP1AmzH3hVdWsFetnePChDoC9aGR7NOU1WFg94HIKGNO0kw=; X-UUID: f80bba68557d4b1f9763da4060248fae-20191205 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1108095774; Thu, 05 Dec 2019 14:01:42 +0800 Received: from mtkcas09.mediatek.inc (172.21.101.178) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 5 Dec 2019 14:00:56 +0800 Received: from mtkswgap22.mediatek.inc (172.21.77.33) by mtkcas09.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 5 Dec 2019 14:02:26 +0800 From: Macpaul Lin To: Greg Kroah-Hartman , Bin Liu , Maxime Ripard , Chen-Yu Tsai , Matthias Brugger , CC: Mediatek WSD Upstream , Macpaul Lin , , , , Subject: [PATCH] usb: musb: replace all unsigned data type to unsigned int Date: Thu, 5 Dec 2019 14:01:17 +0800 Message-ID: <1575525677-20760-1-git-send-email-macpaul.lin@mediatek.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: CC3102F2ED2A07D85CC55621C674EB907E2CDC7C61FB3D4C6CFE321AACB425742000:8 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org U2ltcGx5IHJlcGxhY2UgYWxsICd1bnNpZ25lZCcgZGF0YSB0eXBlIGluIG11c2IgZHJpdmVyIHRv DQondW5zaWduZWQgaW50JyBiZWNhdXNlIGl0IGhhcyBiZWVuIGNvbXBsYWluZWQgYnkgZ2Vycml0 DQpjaGVja3BhdGNoIHNlcnZpY2UuDQoNClNpZ25lZC1vZmYtYnk6IE1hY3BhdWwgTGluIDxtYWNw YXVsLmxpbkBtZWRpYXRlay5jb20+DQotLS0NCiBkcml2ZXJzL3VzYi9tdXNiL2NwcGlfZG1hLmMg ICAgICAgIHwgMjQgKysrKysrKystLS0tLS0tLQ0KIGRyaXZlcnMvdXNiL211c2IvbXVzYl9jb3Jl LmMgICAgICAgfCAyNCArKysrKysrKy0tLS0tLS0tDQogZHJpdmVycy91c2IvbXVzYi9tdXNiX2Nv cmUuaCAgICAgICB8IDQ0ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQ0KIGRyaXZlcnMv dXNiL211c2IvbXVzYl9jcHBpNDEuYyAgICAgfCAxNiArKysrKy0tLS0tLQ0KIGRyaXZlcnMvdXNi L211c2IvbXVzYl9kZWJ1Z2ZzLmMgICAgfCAgOCArKystLS0NCiBkcml2ZXJzL3VzYi9tdXNiL211 c2JfZHNwcy5jICAgICAgIHwgMTggKysrKysrLS0tLS0tDQogZHJpdmVycy91c2IvbXVzYi9tdXNi X2dhZGdldC5jICAgICB8IDE2ICsrKysrLS0tLS0tDQogZHJpdmVycy91c2IvbXVzYi9tdXNiX2dh ZGdldF9lcDAuYyB8ICA0ICstLQ0KIGRyaXZlcnMvdXNiL211c2IvbXVzYl9ob3N0LmMgICAgICAg fCAgNiArKy0tDQogZHJpdmVycy91c2IvbXVzYi9tdXNiX2hvc3QuaCAgICAgICB8ICA2ICsrLS0N CiBkcml2ZXJzL3VzYi9tdXNiL211c2JfaW8uaCAgICAgICAgIHwgMTIgKysrKy0tLS0NCiBkcml2 ZXJzL3VzYi9tdXNiL3N1bnhpLmMgICAgICAgICAgIHwgIDggKysrLS0tDQogZHJpdmVycy91c2Iv bXVzYi90dXNiNjAxMC5jICAgICAgICB8ICA4ICsrKy0tLQ0KIGRyaXZlcnMvdXNiL211c2IvdHVz YjYwMTBfb21hcC5jICAgfCAgMiArLQ0KIDE0IGZpbGVzIGNoYW5nZWQsIDk5IGluc2VydGlvbnMo KyksIDk3IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbXVzYi9jcHBp X2RtYS5jIGIvZHJpdmVycy91c2IvbXVzYi9jcHBpX2RtYS5jDQppbmRleCBiNGQ2ZDliYjMyMzku LjMyMzFiNjE2YmVmNCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvdXNiL211c2IvY3BwaV9kbWEuYw0K KysrIGIvZHJpdmVycy91c2IvbXVzYi9jcHBpX2RtYS5jDQpAQCAtMjYwLDEyICsyNjAsMTIgQEAg c3RhdGljIHZvaWQgY3BwaV9jb250cm9sbGVyX3N0b3Aoc3RydWN0IGNwcGkgKmNvbnRyb2xsZXIp DQogICoNCiAgKiBSRVZJU0lUIHNhbWUgaXNzdWUgYXBwbGllcyB0byBwdXJlIFBJTyB1c2FnZSB0 b28sIGFuZCBub24tY3BwaSBkbWEuLi4NCiAgKi8NCi1zdGF0aWMgaW5saW5lIHZvaWQgY29yZV9y eGlycV9kaXNhYmxlKHZvaWQgX19pb21lbSAqdGliYXNlLCB1bnNpZ25lZCBlcG51bSkNCitzdGF0 aWMgaW5saW5lIHZvaWQgY29yZV9yeGlycV9kaXNhYmxlKHZvaWQgX19pb21lbSAqdGliYXNlLCB1 bnNpZ25lZCBpbnQgZXBudW0pDQogew0KIAltdXNiX3dyaXRlbCh0aWJhc2UsIERBVklOQ0lfVVNC X0lOVF9NQVNLX0NMUl9SRUcsIDEgPDwgKGVwbnVtICsgOCkpOw0KIH0NCiANCi1zdGF0aWMgaW5s aW5lIHZvaWQgY29yZV9yeGlycV9lbmFibGUodm9pZCBfX2lvbWVtICp0aWJhc2UsIHVuc2lnbmVk IGVwbnVtKQ0KK3N0YXRpYyBpbmxpbmUgdm9pZCBjb3JlX3J4aXJxX2VuYWJsZSh2b2lkIF9faW9t ZW0gKnRpYmFzZSwgdW5zaWduZWQgaW50IGVwbnVtKQ0KIHsNCiAJbXVzYl93cml0ZWwodGliYXNl LCBEQVZJTkNJX1VTQl9JTlRfTUFTS19TRVRfUkVHLCAxIDw8IChlcG51bSArIDgpKTsNCiB9DQpA QCAtNDUxLDcgKzQ1MSw3IEBAIHN0YXRpYyB2b2lkIGNwcGlfZHVtcF9yeHEoaW50IGxldmVsLCBj b25zdCBjaGFyICp0YWcsIHN0cnVjdCBjcHBpX2NoYW5uZWwgKnJ4KQ0KICAqIHNvIHdlIHdvbid0 IGV2ZXIgdXNlIGl0IChzZWUgIkNQUEkgUlggV29lcyIgYmVsb3cpLg0KICAqLw0KIHN0YXRpYyBp bmxpbmUgaW50IGNwcGlfYXV0b3JlcV91cGRhdGUoc3RydWN0IGNwcGlfY2hhbm5lbCAqcngsDQot CQl2b2lkIF9faW9tZW0gKnRpYmFzZSwgaW50IG9uZXBhY2tldCwgdW5zaWduZWQgbl9iZHMpDQor CQl2b2lkIF9faW9tZW0gKnRpYmFzZSwgaW50IG9uZXBhY2tldCwgdW5zaWduZWQgaW50IG5fYmRz KQ0KIHsNCiAJdTMyCXZhbDsNCiANCkBAIC01NjAsMTIgKzU2MCwxMiBAQCBzdGF0aWMgaW5saW5l IGludCBjcHBpX2F1dG9yZXFfdXBkYXRlKHN0cnVjdCBjcHBpX2NoYW5uZWwgKnJ4LA0KIHN0YXRp YyB2b2lkDQogY3BwaV9uZXh0X3R4X3NlZ21lbnQoc3RydWN0IG11c2IgKm11c2IsIHN0cnVjdCBj cHBpX2NoYW5uZWwgKnR4KQ0KIHsNCi0JdW5zaWduZWQJCW1heHBhY2tldCA9IHR4LT5tYXhwYWNr ZXQ7DQorCXVuc2lnbmVkIGludAkJbWF4cGFja2V0ID0gdHgtPm1heHBhY2tldDsNCiAJZG1hX2Fk ZHJfdAkJYWRkciA9IHR4LT5idWZfZG1hICsgdHgtPm9mZnNldDsNCiAJc2l6ZV90CQkJbGVuZ3Ro ID0gdHgtPmJ1Zl9sZW4gLSB0eC0+b2Zmc2V0Ow0KIAlzdHJ1Y3QgY3BwaV9kZXNjcmlwdG9yCSpi ZDsNCi0JdW5zaWduZWQJCW5fYmRzOw0KLQl1bnNpZ25lZAkJaTsNCisJdW5zaWduZWQgaW50CQlu X2JkczsNCisJdW5zaWduZWQgaW50CQlpOw0KIAlzdHJ1Y3QgY3BwaV90eF9zdGF0ZXJhbQlfX2lv bWVtICp0eF9yYW0gPSB0eC0+c3RhdGVfcmFtOw0KIAlpbnQJCQlybmRpczsNCiANCkBAIC01ODcs NyArNTg3LDcgQEAgY3BwaV9uZXh0X3R4X3NlZ21lbnQoc3RydWN0IG11c2IgKm11c2IsIHN0cnVj dCBjcHBpX2NoYW5uZWwgKnR4KQ0KIAkJCW5fYmRzID0gRElWX1JPVU5EX1VQKGxlbmd0aCwgbWF4 cGFja2V0KTsNCiAJCWVsc2UNCiAJCQluX2JkcyA9IDE7DQotCQluX2JkcyA9IG1pbihuX2Jkcywg KHVuc2lnbmVkKSBOVU1fVFhDSEFOX0JEKTsNCisJCW5fYmRzID0gbWluKG5fYmRzLCAodW5zaWdu ZWQgaW50KSBOVU1fVFhDSEFOX0JEKTsNCiAJCWxlbmd0aCA9IG1pbihuX2JkcyAqIG1heHBhY2tl dCwgbGVuZ3RoKTsNCiAJfQ0KIA0KQEAgLTc2MSwxMiArNzYxLDEyIEBAIE1PRFVMRV9QQVJNX0RF U0MoY3BwaV9yeF9ybmRpcywgImVuYWJsZS9kaXNhYmxlIFJYIFJORElTIGhldXJpc3RpYyIpOw0K IHN0YXRpYyB2b2lkDQogY3BwaV9uZXh0X3J4X3NlZ21lbnQoc3RydWN0IG11c2IgKm11c2IsIHN0 cnVjdCBjcHBpX2NoYW5uZWwgKnJ4LCBpbnQgb25lcGFja2V0KQ0KIHsNCi0JdW5zaWduZWQJCW1h eHBhY2tldCA9IHJ4LT5tYXhwYWNrZXQ7DQorCXVuc2lnbmVkIGludAkJbWF4cGFja2V0ID0gcngt Pm1heHBhY2tldDsNCiAJZG1hX2FkZHJfdAkJYWRkciA9IHJ4LT5idWZfZG1hICsgcngtPm9mZnNl dDsNCiAJc2l6ZV90CQkJbGVuZ3RoID0gcngtPmJ1Zl9sZW4gLSByeC0+b2Zmc2V0Ow0KIAlzdHJ1 Y3QgY3BwaV9kZXNjcmlwdG9yCSpiZCwgKnRhaWw7DQotCXVuc2lnbmVkCQluX2JkczsNCi0JdW5z aWduZWQJCWk7DQorCXVuc2lnbmVkIGludAkJbl9iZHM7DQorCXVuc2lnbmVkIGludAkJaTsNCiAJ dm9pZCBfX2lvbWVtCQkqdGliYXNlID0gbXVzYi0+Y3RybF9iYXNlOw0KIAlpbnQJCQlpc19ybmRp cyA9IDA7DQogCXN0cnVjdCBjcHBpX3J4X3N0YXRlcmFtCV9faW9tZW0gKnJ4X3JhbSA9IHJ4LT5z dGF0ZV9yYW07DQpAQCAtNzk3LDcgKzc5Nyw3IEBAIGNwcGlfbmV4dF9yeF9zZWdtZW50KHN0cnVj dCBtdXNiICptdXNiLCBzdHJ1Y3QgY3BwaV9jaGFubmVsICpyeCwgaW50IG9uZXBhY2tldCkNCiAJ CWlmIChuX2JkcyA9PSAxKQ0KIAkJCW9uZXBhY2tldCA9IDE7DQogCQllbHNlDQotCQkJbl9iZHMg PSBtaW4obl9iZHMsICh1bnNpZ25lZCkgTlVNX1JYQ0hBTl9CRCk7DQorCQkJbl9iZHMgPSBtaW4o bl9iZHMsICh1bnNpZ25lZCBpbnQpIE5VTV9SWENIQU5fQkQpOw0KIAl9DQogDQogCS8qIEluIGhv c3QgbW9kZSwgYXV0b3JlcXVlc3QgbG9naWMgY2FuIGdlbmVyYXRlIHNvbWUgSU4gdG9rZW5zOyBp dCdzDQpAQCAtOTk4LDcgKzk5OCw3IEBAIHN0YXRpYyBpbnQgY3BwaV9jaGFubmVsX3Byb2dyYW0o c3RydWN0IGRtYV9jaGFubmVsICpjaCwNCiAJcmV0dXJuIHRydWU7DQogfQ0KIA0KLXN0YXRpYyBi b29sIGNwcGlfcnhfc2NhbihzdHJ1Y3QgY3BwaSAqY3BwaSwgdW5zaWduZWQgY2gpDQorc3RhdGlj IGJvb2wgY3BwaV9yeF9zY2FuKHN0cnVjdCBjcHBpICpjcHBpLCB1bnNpZ25lZCBpbnQgY2gpDQog ew0KIAlzdHJ1Y3QgY3BwaV9jaGFubmVsCQkqcnggPSAmY3BwaS0+cnhbY2hdOw0KIAlzdHJ1Y3Qg Y3BwaV9yeF9zdGF0ZXJhbSBfX2lvbWVtCSpzdGF0ZSA9IHJ4LT5zdGF0ZV9yYW07DQpkaWZmIC0t Z2l0IGEvZHJpdmVycy91c2IvbXVzYi9tdXNiX2NvcmUuYyBiL2RyaXZlcnMvdXNiL211c2IvbXVz Yl9jb3JlLmMNCmluZGV4IGJkNjM0NTBhZjc2YS4uNzM1ZDdhN2Q1MDRiIDEwMDY0NA0KLS0tIGEv ZHJpdmVycy91c2IvbXVzYi9tdXNiX2NvcmUuYw0KKysrIGIvZHJpdmVycy91c2IvbXVzYi9tdXNi X2NvcmUuYw0KQEAgLTI0Niw3ICsyNDYsNyBAQCBzdGF0aWMgdTMyIG11c2JfZGVmYXVsdF9idXNj dGxfb2Zmc2V0KHU4IGVwbnVtLCB1MTYgb2Zmc2V0KQ0KIAlyZXR1cm4gMHg4MCArICgweDA4ICog ZXBudW0pICsgb2Zmc2V0Ow0KIH0NCiANCi1zdGF0aWMgdTggbXVzYl9kZWZhdWx0X3JlYWRiKGNv bnN0IHZvaWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgb2Zmc2V0KQ0KK3N0YXRpYyB1OCBtdXNi X2RlZmF1bHRfcmVhZGIoY29uc3Qgdm9pZCBfX2lvbWVtICphZGRyLCB1bnNpZ25lZCBpbnQgb2Zm c2V0KQ0KIHsNCiAJdTggZGF0YSA9ICBfX3Jhd19yZWFkYihhZGRyICsgb2Zmc2V0KTsNCiANCkBA IC0yNTQsMTMgKzI1NCwxNCBAQCBzdGF0aWMgdTggbXVzYl9kZWZhdWx0X3JlYWRiKGNvbnN0IHZv aWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgb2Zmc2V0KQ0KIAlyZXR1cm4gZGF0YTsNCiB9DQog DQotc3RhdGljIHZvaWQgbXVzYl9kZWZhdWx0X3dyaXRlYih2b2lkIF9faW9tZW0gKmFkZHIsIHVu c2lnbmVkIG9mZnNldCwgdTggZGF0YSkNCitzdGF0aWMgdm9pZCBtdXNiX2RlZmF1bHRfd3JpdGVi KHZvaWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgaW50IG9mZnNldCwNCisJCQkJdTggZGF0YSkN CiB7DQogCXRyYWNlX211c2Jfd3JpdGViKF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSwgYWRk ciwgb2Zmc2V0LCBkYXRhKTsNCiAJX19yYXdfd3JpdGViKGRhdGEsIGFkZHIgKyBvZmZzZXQpOw0K IH0NCiANCi1zdGF0aWMgdTE2IG11c2JfZGVmYXVsdF9yZWFkdyhjb25zdCB2b2lkIF9faW9tZW0g KmFkZHIsIHVuc2lnbmVkIG9mZnNldCkNCitzdGF0aWMgdTE2IG11c2JfZGVmYXVsdF9yZWFkdyhj b25zdCB2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIGludCBvZmZzZXQpDQogew0KIAl1MTYg ZGF0YSA9IF9fcmF3X3JlYWR3KGFkZHIgKyBvZmZzZXQpOw0KIA0KQEAgLTI2OCw3ICsyNjksOCBA QCBzdGF0aWMgdTE2IG11c2JfZGVmYXVsdF9yZWFkdyhjb25zdCB2b2lkIF9faW9tZW0gKmFkZHIs IHVuc2lnbmVkIG9mZnNldCkNCiAJcmV0dXJuIGRhdGE7DQogfQ0KIA0KLXN0YXRpYyB2b2lkIG11 c2JfZGVmYXVsdF93cml0ZXcodm9pZCBfX2lvbWVtICphZGRyLCB1bnNpZ25lZCBvZmZzZXQsIHUx NiBkYXRhKQ0KK3N0YXRpYyB2b2lkIG11c2JfZGVmYXVsdF93cml0ZXcodm9pZCBfX2lvbWVtICph ZGRyLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LA0KKwkJCQl1MTYgZGF0YSkNCiB7DQogCXRyYWNlX211 c2Jfd3JpdGV3KF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSwgYWRkciwgb2Zmc2V0LCBkYXRh KTsNCiAJX19yYXdfd3JpdGV3KGRhdGEsIGFkZHIgKyBvZmZzZXQpOw0KQEAgLTM2NCwxOSArMzY2 LDE5IEBAIHN0YXRpYyB2b2lkIG11c2JfZGVmYXVsdF9yZWFkX2ZpZm8oc3RydWN0IG11c2JfaHdf ZXAgKmh3X2VwLCB1MTYgbGVuLCB1OCAqZHN0KQ0KIC8qDQogICogT2xkIHN0eWxlIElPIGZ1bmN0 aW9ucw0KICAqLw0KLXU4ICgqbXVzYl9yZWFkYikoY29uc3Qgdm9pZCBfX2lvbWVtICphZGRyLCB1 bnNpZ25lZCBvZmZzZXQpOw0KK3U4ICgqbXVzYl9yZWFkYikoY29uc3Qgdm9pZCBfX2lvbWVtICph ZGRyLCB1bnNpZ25lZCBpbnQgb2Zmc2V0KTsNCiBFWFBPUlRfU1lNQk9MX0dQTChtdXNiX3JlYWRi KTsNCiANCi12b2lkICgqbXVzYl93cml0ZWIpKHZvaWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQg b2Zmc2V0LCB1OCBkYXRhKTsNCit2b2lkICgqbXVzYl93cml0ZWIpKHZvaWQgX19pb21lbSAqYWRk ciwgdW5zaWduZWQgaW50IG9mZnNldCwgdTggZGF0YSk7DQogRVhQT1JUX1NZTUJPTF9HUEwobXVz Yl93cml0ZWIpOw0KIA0KLXUxNiAoKm11c2JfcmVhZHcpKGNvbnN0IHZvaWQgX19pb21lbSAqYWRk ciwgdW5zaWduZWQgb2Zmc2V0KTsNCit1MTYgKCptdXNiX3JlYWR3KShjb25zdCB2b2lkIF9faW9t ZW0gKmFkZHIsIHVuc2lnbmVkIGludCBvZmZzZXQpOw0KIEVYUE9SVF9TWU1CT0xfR1BMKG11c2Jf cmVhZHcpOw0KIA0KLXZvaWQgKCptdXNiX3dyaXRldykodm9pZCBfX2lvbWVtICphZGRyLCB1bnNp Z25lZCBvZmZzZXQsIHUxNiBkYXRhKTsNCit2b2lkICgqbXVzYl93cml0ZXcpKHZvaWQgX19pb21l bSAqYWRkciwgdW5zaWduZWQgaW50IG9mZnNldCwgdTE2IGRhdGEpOw0KIEVYUE9SVF9TWU1CT0xf R1BMKG11c2Jfd3JpdGV3KTsNCiANCi11MzIgbXVzYl9yZWFkbChjb25zdCB2b2lkIF9faW9tZW0g KmFkZHIsIHVuc2lnbmVkIG9mZnNldCkNCit1MzIgbXVzYl9yZWFkbChjb25zdCB2b2lkIF9faW9t ZW0gKmFkZHIsIHVuc2lnbmVkIGludCBvZmZzZXQpDQogew0KIAl1MzIgZGF0YSA9IF9fcmF3X3Jl YWRsKGFkZHIgKyBvZmZzZXQpOw0KIA0KQEAgLTM4NSw3ICszODcsNyBAQCB1MzIgbXVzYl9yZWFk bChjb25zdCB2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIG9mZnNldCkNCiB9DQogRVhQT1JU X1NZTUJPTF9HUEwobXVzYl9yZWFkbCk7DQogDQotdm9pZCBtdXNiX3dyaXRlbCh2b2lkIF9faW9t ZW0gKmFkZHIsIHVuc2lnbmVkIG9mZnNldCwgdTMyIGRhdGEpDQordm9pZCBtdXNiX3dyaXRlbCh2 b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIGludCBvZmZzZXQsIHUzMiBkYXRhKQ0KIHsNCiAJ dHJhY2VfbXVzYl93cml0ZWwoX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApLCBhZGRyLCBvZmZz ZXQsIGRhdGEpOw0KIAlfX3Jhd193cml0ZWwoZGF0YSwgYWRkciArIG9mZnNldCk7DQpAQCAtMTMx OSw3ICsxMzIxLDcgQEAgc3RhdGljIHN0cnVjdCBtdXNiX2ZpZm9fY2ZnIGVwMF9jZmcgPSB7DQog c3RhdGljIGludCBlcF9jb25maWdfZnJvbV90YWJsZShzdHJ1Y3QgbXVzYiAqbXVzYikNCiB7DQog CWNvbnN0IHN0cnVjdCBtdXNiX2ZpZm9fY2ZnCSpjZmc7DQotCXVuc2lnbmVkCQlpLCBuOw0KKwl1 bnNpZ25lZCBpbnQJCWksIG47DQogCWludAkJCW9mZnNldDsNCiAJc3RydWN0IG11c2JfaHdfZXAJ Kmh3X2VwID0gbXVzYi0+ZW5kcG9pbnRzOw0KIA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL211 c2IvbXVzYl9jb3JlLmggYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfY29yZS5oDQppbmRleCAwNDIw M2I3MTI2ZDUuLjdjN2I3OGViMGYzMSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvdXNiL211c2IvbXVz Yl9jb3JlLmgNCisrKyBiL2RyaXZlcnMvdXNiL211c2IvbXVzYl9jb3JlLmgNCkBAIC0xNjEsMTAg KzE2MSwxMCBAQCBzdHJ1Y3QgbXVzYl9wbGF0Zm9ybV9vcHMgew0KIAl1MTYJZmlmb19tb2RlOw0K IAl1MzIJKCpmaWZvX29mZnNldCkodTggZXBudW0pOw0KIAl1MzIJKCpidXNjdGxfb2Zmc2V0KSh1 OCBlcG51bSwgdTE2IG9mZnNldCk7DQotCXU4CSgqcmVhZGIpKGNvbnN0IHZvaWQgX19pb21lbSAq YWRkciwgdW5zaWduZWQgb2Zmc2V0KTsNCi0Jdm9pZAkoKndyaXRlYikodm9pZCBfX2lvbWVtICph ZGRyLCB1bnNpZ25lZCBvZmZzZXQsIHU4IGRhdGEpOw0KLQl1MTYJKCpyZWFkdykoY29uc3Qgdm9p ZCBfX2lvbWVtICphZGRyLCB1bnNpZ25lZCBvZmZzZXQpOw0KLQl2b2lkCSgqd3JpdGV3KSh2b2lk IF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIG9mZnNldCwgdTE2IGRhdGEpOw0KKwl1OAkoKnJlYWRi KShjb25zdCB2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIGludCBvZmZzZXQpOw0KKwl2b2lk CSgqd3JpdGViKSh2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIGludCBvZmZzZXQsIHU4IGRh dGEpOw0KKwl1MTYJKCpyZWFkdykoY29uc3Qgdm9pZCBfX2lvbWVtICphZGRyLCB1bnNpZ25lZCBp bnQgb2Zmc2V0KTsNCisJdm9pZAkoKndyaXRldykodm9pZCBfX2lvbWVtICphZGRyLCB1bnNpZ25l ZCBpbnQgb2Zmc2V0LCB1MTYgZGF0YSk7DQogCXZvaWQJKCpyZWFkX2ZpZm8pKHN0cnVjdCBtdXNi X2h3X2VwICpod19lcCwgdTE2IGxlbiwgdTggKmJ1Zik7DQogCXZvaWQJKCp3cml0ZV9maWZvKShz dHJ1Y3QgbXVzYl9od19lcCAqaHdfZXAsIHUxNiBsZW4sIGNvbnN0IHU4ICpidWYpOw0KIAlzdHJ1 Y3QgZG1hX2NvbnRyb2xsZXIgKg0KQEAgLTMzMSw3ICszMzEsNyBAQCBzdHJ1Y3QgbXVzYiB7DQog CXN0cnVjdCBwaHkJCSpwaHk7DQogDQogCWludCBuSXJxOw0KLQl1bnNpZ25lZAkJaXJxX3dha2U6 MTsNCisJdW5zaWduZWQgaW50CQlpcnFfd2FrZToxOw0KIA0KIAlzdHJ1Y3QgbXVzYl9od19lcAkg ZW5kcG9pbnRzW01VU0JfQ19OVU1fRVBTXTsNCiAjZGVmaW5lIGNvbnRyb2xfZXAJCWVuZHBvaW50 cw0KQEAgLTM1Myw0NCArMzUzLDQ0IEBAIHN0cnVjdCBtdXNiIHsNCiAJaW50CQkJYV93YWl0X2Jj b247CS8qIFZCVVMgdGltZW91dCBpbiBtc2VjcyAqLw0KIAl1bnNpZ25lZCBsb25nCQlpZGxlX3Rp bWVvdXQ7CS8qIE5leHQgdGltZW91dCBpbiBqaWZmaWVzICovDQogDQotCXVuc2lnbmVkCQlpc19p bml0aWFsaXplZDoxOw0KLQl1bnNpZ25lZAkJaXNfcnVudGltZV9zdXNwZW5kZWQ6MTsNCisJdW5z aWduZWQgaW50CQlpc19pbml0aWFsaXplZDoxOw0KKwl1bnNpZ25lZCBpbnQJCWlzX3J1bnRpbWVf c3VzcGVuZGVkOjE7DQogDQogCS8qIGFjdGl2ZSBtZWFucyBjb25uZWN0ZWQgYW5kIG5vdCBzdXNw ZW5kZWQgKi8NCi0JdW5zaWduZWQJCWlzX2FjdGl2ZToxOw0KKwl1bnNpZ25lZCBpbnQJCWlzX2Fj dGl2ZToxOw0KIA0KLQl1bnNpZ25lZCBpc19tdWx0aXBvaW50OjE7DQorCXVuc2lnbmVkIGludCBp c19tdWx0aXBvaW50OjE7DQogDQotCXVuc2lnbmVkCQloYl9pc29fcng6MTsJLyogaGlnaCBiYW5k d2lkdGggaXNvIHJ4PyAqLw0KLQl1bnNpZ25lZAkJaGJfaXNvX3R4OjE7CS8qIGhpZ2ggYmFuZHdp ZHRoIGlzbyB0eD8gKi8NCi0JdW5zaWduZWQJCWR5bl9maWZvOjE7CS8qIGR5bmFtaWMgRklGTyBz dXBwb3J0ZWQ/ICovDQorCXVuc2lnbmVkIGludAkJaGJfaXNvX3J4OjE7CS8qIGhpZ2ggYmFuZHdp ZHRoIGlzbyByeD8gKi8NCisJdW5zaWduZWQgaW50CQloYl9pc29fdHg6MTsJLyogaGlnaCBiYW5k d2lkdGggaXNvIHR4PyAqLw0KKwl1bnNpZ25lZCBpbnQJCWR5bl9maWZvOjE7CS8qIGR5bmFtaWMg RklGTyBzdXBwb3J0ZWQ/ICovDQogDQotCXVuc2lnbmVkCQlidWxrX3NwbGl0OjE7DQorCXVuc2ln bmVkIGludAkJYnVsa19zcGxpdDoxOw0KICNkZWZpbmUJY2FuX2J1bGtfc3BsaXQobXVzYix0eXBl KSBcDQogCSgoKHR5cGUpID09IFVTQl9FTkRQT0lOVF9YRkVSX0JVTEspICYmIChtdXNiKS0+YnVs a19zcGxpdCkNCiANCi0JdW5zaWduZWQJCWJ1bGtfY29tYmluZToxOw0KKwl1bnNpZ25lZCBpbnQJ CWJ1bGtfY29tYmluZToxOw0KICNkZWZpbmUJY2FuX2J1bGtfY29tYmluZShtdXNiLHR5cGUpIFwN CiAJKCgodHlwZSkgPT0gVVNCX0VORFBPSU5UX1hGRVJfQlVMSykgJiYgKG11c2IpLT5idWxrX2Nv bWJpbmUpDQogDQogCS8qIGlzX3N1c3BlbmRlZCBtZWFucyBVU0IgQl9QRVJJUEhFUkFMIHN1c3Bl bmQgKi8NCi0JdW5zaWduZWQJCWlzX3N1c3BlbmRlZDoxOw0KKwl1bnNpZ25lZCBpbnQJCWlzX3N1 c3BlbmRlZDoxOw0KIA0KIAkvKiBtYXlfd2FrZXVwIG1lYW5zIHJlbW90ZSB3YWtldXAgaXMgZW5h YmxlZCAqLw0KLQl1bnNpZ25lZAkJbWF5X3dha2V1cDoxOw0KKwl1bnNpZ25lZCBpbnQJCW1heV93 YWtldXA6MTsNCiANCiAJLyogaXNfc2VsZl9wb3dlcmVkIGlzIHJlcG9ydGVkIGluIGRldmljZSBz dGF0dXMgYW5kIHRoZQ0KIAkgKiBjb25maWcgZGVzY3JpcHRvci4gIGlzX2J1c19wb3dlcmVkIG1l YW5zIEJfUEVSSVBIRVJBTA0KIAkgKiBkcmF3cyBzb21lIFZCVVMgY3VycmVudDsgYm90aCBjYW4g YmUgdHJ1ZS4NCiAJICovDQotCXVuc2lnbmVkCQlpc19zZWxmX3Bvd2VyZWQ6MTsNCi0JdW5zaWdu ZWQJCWlzX2J1c19wb3dlcmVkOjE7DQorCXVuc2lnbmVkIGludAkJaXNfc2VsZl9wb3dlcmVkOjE7 DQorCXVuc2lnbmVkIGludAkJaXNfYnVzX3Bvd2VyZWQ6MTsNCiANCi0JdW5zaWduZWQJCXNldF9h ZGRyZXNzOjE7DQotCXVuc2lnbmVkCQl0ZXN0X21vZGU6MTsNCi0JdW5zaWduZWQJCXNvZnRjb25u ZWN0OjE7DQorCXVuc2lnbmVkIGludAkJc2V0X2FkZHJlc3M6MTsNCisJdW5zaWduZWQgaW50CQl0 ZXN0X21vZGU6MTsNCisJdW5zaWduZWQgaW50CQlzb2Z0Y29ubmVjdDoxOw0KIA0KLQl1bnNpZ25l ZAkJZmx1c2hfaXJxX3dvcms6MTsNCisJdW5zaWduZWQgaW50CQlmbHVzaF9pcnFfd29yazoxOw0K IA0KIAl1OAkJCWFkZHJlc3M7DQogCXU4CQkJdGVzdF9tb2RlX25yOw0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdXNiL211c2IvbXVzYl9jcHBpNDEuYyBiL2RyaXZlcnMvdXNiL211c2IvbXVzYl9jcHBp NDEuYw0KaW5kZXggN2ZiYjhhMzA3MTQ1Li41NDMyODM3MWFmZWUgMTAwNjQ0DQotLS0gYS9kcml2 ZXJzL3VzYi9tdXNiL211c2JfY3BwaTQxLmMNCisrKyBiL2RyaXZlcnMvdXNiL211c2IvbXVzYl9j cHBpNDEuYw0KQEAgLTI5Nyw3ICsyOTcsNyBAQCBzdGF0aWMgdm9pZCBjcHBpNDFfZG1hX2NhbGxi YWNrKHZvaWQgKnByaXZhdGVfZGF0YSwNCiAJCQlpc19ocyA9IDE7DQogCX0NCiAJaWYgKGlzX2hz KSB7DQotCQl1bnNpZ25lZCB3YWl0ID0gMjU7DQorCQl1bnNpZ25lZCBpbnQgd2FpdCA9IDI1Ow0K IA0KIAkJZG8gew0KIAkJCWVtcHR5ID0gbXVzYl9pc190eF9maWZvX2VtcHR5KGh3X2VwKTsNCkBA IC0zMjYsOSArMzI2LDkgQEAgc3RhdGljIHZvaWQgY3BwaTQxX2RtYV9jYWxsYmFjayh2b2lkICpw cml2YXRlX2RhdGEsDQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm11c2ItPmxvY2ssIGZsYWdz KTsNCiB9DQogDQotc3RhdGljIHUzMiB1cGRhdGVfZXBfbW9kZSh1bnNpZ25lZCBlcCwgdW5zaWdu ZWQgbW9kZSwgdTMyIG9sZCkNCitzdGF0aWMgdTMyIHVwZGF0ZV9lcF9tb2RlKHVuc2lnbmVkIGlu dCBlcCwgdW5zaWduZWQgaW50IG1vZGUsIHUzMiBvbGQpDQogew0KLQl1bnNpZ25lZCBzaGlmdDsN CisJdW5zaWduZWQgaW50IHNoaWZ0Ow0KIA0KIAlzaGlmdCA9IChlcCAtIDEpICogMjsNCiAJb2xk ICY9IH4oMyA8PCBzaGlmdCk7DQpAQCAtMzM3LDcgKzMzNyw3IEBAIHN0YXRpYyB1MzIgdXBkYXRl X2VwX21vZGUodW5zaWduZWQgZXAsIHVuc2lnbmVkIG1vZGUsIHUzMiBvbGQpDQogfQ0KIA0KIHN0 YXRpYyB2b2lkIGNwcGk0MV9zZXRfZG1hX21vZGUoc3RydWN0IGNwcGk0MV9kbWFfY2hhbm5lbCAq Y3BwaTQxX2NoYW5uZWwsDQotCQl1bnNpZ25lZCBtb2RlKQ0KKwkJdW5zaWduZWQgaW50IG1vZGUp DQogew0KIAlzdHJ1Y3QgY3BwaTQxX2RtYV9jb250cm9sbGVyICpjb250cm9sbGVyID0gY3BwaTQx X2NoYW5uZWwtPmNvbnRyb2xsZXI7DQogCXN0cnVjdCBtdXNiICptdXNiID0gY29udHJvbGxlci0+ Y29udHJvbGxlci5tdXNiOw0KQEAgLTM5MCw3ICszOTAsNyBAQCBzdGF0aWMgdm9pZCBkYTh4eF9z ZXRfZG1hX21vZGUoc3RydWN0IGNwcGk0MV9kbWFfY2hhbm5lbCAqY3BwaTQxX2NoYW5uZWwsDQog DQogDQogc3RhdGljIHZvaWQgY3BwaTQxX3NldF9hdXRvcmVxX21vZGUoc3RydWN0IGNwcGk0MV9k bWFfY2hhbm5lbCAqY3BwaTQxX2NoYW5uZWwsDQotCQl1bnNpZ25lZCBtb2RlKQ0KKwkJdW5zaWdu ZWQgaW50IG1vZGUpDQogew0KIAlzdHJ1Y3QgY3BwaTQxX2RtYV9jb250cm9sbGVyICpjb250cm9s bGVyID0gY3BwaTQxX2NoYW5uZWwtPmNvbnRyb2xsZXI7DQogCXUzMiBwb3J0Ow0KQEAgLTQxOCw3 ICs0MTgsNyBAQCBzdGF0aWMgYm9vbCBjcHBpNDFfY29uZmlndXJlX2NoYW5uZWwoc3RydWN0IGRt YV9jaGFubmVsICpjaGFubmVsLA0KIAlzdHJ1Y3QgZG1hX2FzeW5jX3R4X2Rlc2NyaXB0b3IgKmRt YV9kZXNjOw0KIAllbnVtIGRtYV90cmFuc2Zlcl9kaXJlY3Rpb24gZGlyZWN0aW9uOw0KIAlzdHJ1 Y3QgbXVzYiAqbXVzYiA9IGNwcGk0MV9jaGFubmVsLT5jb250cm9sbGVyLT5jb250cm9sbGVyLm11 c2I7DQotCXVuc2lnbmVkIHVzZV9nZW5fcm5kaXMgPSAwOw0KKwl1bnNpZ25lZCBpbnQgdXNlX2dl bl9ybmRpcyA9IDA7DQogDQogCWNwcGk0MV9jaGFubmVsLT5idWZfYWRkciA9IGRtYV9hZGRyOw0K IAljcHBpNDFfY2hhbm5lbC0+dG90YWxfbGVuID0gbGVuOw0KQEAgLTU3OCw3ICs1NzgsNyBAQCBz dGF0aWMgaW50IGNwcGk0MV9kbWFfY2hhbm5lbF9hYm9ydChzdHJ1Y3QgZG1hX2NoYW5uZWwgKmNo YW5uZWwpDQogCXZvaWQgX19pb21lbSAqZXBpbyA9IGNwcGk0MV9jaGFubmVsLT5od19lcC0+cmVn czsNCiAJaW50IHRkYml0Ow0KIAlpbnQgcmV0Ow0KLQl1bnNpZ25lZCBpc190eDsNCisJdW5zaWdu ZWQgaW50IGlzX3R4Ow0KIAl1MTYgY3NyOw0KIA0KIAlpc190eCA9IGNwcGk0MV9jaGFubmVsLT5p c190eDsNCkBAIC02ODAsNyArNjgwLDcgQEAgc3RhdGljIGludCBjcHBpNDFfZG1hX2NvbnRyb2xs ZXJfc3RhcnQoc3RydWN0IGNwcGk0MV9kbWFfY29udHJvbGxlciAqY29udHJvbGxlcikNCiAJCXN0 cnVjdCBkbWFfY2hhbiAqZGM7DQogCQlzdHJ1Y3QgZG1hX2NoYW5uZWwgKm11c2JfZG1hOw0KIAkJ Y29uc3QgY2hhciAqc3RyOw0KLQkJdW5zaWduZWQgaXNfdHg7DQorCQl1bnNpZ25lZCBpbnQgaXNf dHg7DQogCQl1bnNpZ25lZCBpbnQgcG9ydDsNCiANCiAJCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRf c3RyaW5nX2luZGV4KG5wLCAiZG1hLW5hbWVzIiwgaSwgJnN0cik7DQpkaWZmIC0tZ2l0IGEvZHJp dmVycy91c2IvbXVzYi9tdXNiX2RlYnVnZnMuYyBiL2RyaXZlcnMvdXNiL211c2IvbXVzYl9kZWJ1 Z2ZzLmMNCmluZGV4IGY0Mjg1OGUyYjU0Yy4uYjk3NjNkOTQ0NTZkIDEwMDY0NA0KLS0tIGEvZHJp dmVycy91c2IvbXVzYi9tdXNiX2RlYnVnZnMuYw0KKysrIGIvZHJpdmVycy91c2IvbXVzYi9tdXNi X2RlYnVnZnMuYw0KQEAgLTE5LDggKzE5LDggQEANCiANCiBzdHJ1Y3QgbXVzYl9yZWdpc3Rlcl9t YXAgew0KIAljaGFyCQkJKm5hbWU7DQotCXVuc2lnbmVkCQlvZmZzZXQ7DQotCXVuc2lnbmVkCQlz aXplOw0KKwl1bnNpZ25lZCBpbnQJCW9mZnNldDsNCisJdW5zaWduZWQgaW50CQlzaXplOw0KIH07 DQogDQogc3RhdGljIGNvbnN0IHN0cnVjdCBtdXNiX3JlZ2lzdGVyX21hcCBtdXNiX3JlZ21hcFtd ID0gew0KQEAgLTg0LDcgKzg0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdXNiX3JlZ2lzdGVy X21hcCBtdXNiX3JlZ21hcFtdID0gew0KIHN0YXRpYyBpbnQgbXVzYl9yZWdkdW1wX3Nob3coc3Ry dWN0IHNlcV9maWxlICpzLCB2b2lkICp1bnVzZWQpDQogew0KIAlzdHJ1Y3QgbXVzYgkJKm11c2Ig PSBzLT5wcml2YXRlOw0KLQl1bnNpZ25lZAkJaTsNCisJdW5zaWduZWQgaW50CQlpOw0KIA0KIAlz ZXFfcHJpbnRmKHMsICJNVVNCIChNKUhEUkMgUmVnaXN0ZXIgRHVtcFxuIik7DQogCXBtX3J1bnRp bWVfZ2V0X3N5bmMobXVzYi0+Y29udHJvbGxlcik7DQpAQCAtMTE1LDcgKzExNSw3IEBAIERFRklO RV9TSE9XX0FUVFJJQlVURShtdXNiX3JlZ2R1bXApOw0KIHN0YXRpYyBpbnQgbXVzYl90ZXN0X21v ZGVfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnVudXNlZCkNCiB7DQogCXN0cnVjdCBt dXNiCQkqbXVzYiA9IHMtPnByaXZhdGU7DQotCXVuc2lnbmVkCQl0ZXN0Ow0KKwl1bnNpZ25lZCBp bnQJCXRlc3Q7DQogDQogCXBtX3J1bnRpbWVfZ2V0X3N5bmMobXVzYi0+Y29udHJvbGxlcik7DQog CXRlc3QgPSBtdXNiX3JlYWRiKG11c2ItPm1yZWdzLCBNVVNCX1RFU1RNT0RFKTsNCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3VzYi9tdXNiL211c2JfZHNwcy5jIGIvZHJpdmVycy91c2IvbXVzYi9tdXNi X2RzcHMuYw0KaW5kZXggMzI3ZDRmN2JhYWY3Li5lNWQ1OGNjOTAzMTEgMTAwNjQ0DQotLS0gYS9k cml2ZXJzL3VzYi9tdXNiL211c2JfZHNwcy5jDQorKysgYi9kcml2ZXJzL3VzYi9tdXNiL211c2Jf ZHNwcy5jDQpAQCAtNTcsMzAgKzU3LDMwIEBAIHN0cnVjdCBkc3BzX211c2Jfd3JhcHBlciB7DQog CXUxNglyeF9tb2RlOw0KIA0KIAkvKiBiaXQgcG9zaXRpb25zIGZvciBjb250cm9sICovDQotCXVu c2lnbmVkCXJlc2V0OjU7DQorCXVuc2lnbmVkIGludAlyZXNldDo1Ow0KIA0KIAkvKiBiaXQgcG9z aXRpb25zIGZvciBpbnRlcnJ1cHQgKi8NCi0JdW5zaWduZWQJdXNiX3NoaWZ0OjU7DQorCXVuc2ln bmVkIGludAl1c2Jfc2hpZnQ6NTsNCiAJdTMyCQl1c2JfbWFzazsNCiAJdTMyCQl1c2JfYml0bWFw Ow0KLQl1bnNpZ25lZAlkcnZ2YnVzOjU7DQorCXVuc2lnbmVkIGludAlkcnZ2YnVzOjU7DQogDQot CXVuc2lnbmVkCXR4ZXBfc2hpZnQ6NTsNCisJdW5zaWduZWQgaW50CXR4ZXBfc2hpZnQ6NTsNCiAJ dTMyCQl0eGVwX21hc2s7DQogCXUzMgkJdHhlcF9iaXRtYXA7DQogDQotCXVuc2lnbmVkCXJ4ZXBf c2hpZnQ6NTsNCisJdW5zaWduZWQgaW50CXJ4ZXBfc2hpZnQ6NTsNCiAJdTMyCQlyeGVwX21hc2s7 DQogCXUzMgkJcnhlcF9iaXRtYXA7DQogDQogCS8qIGJpdCBwb3NpdGlvbnMgZm9yIHBoeV91dG1p ICovDQotCXVuc2lnbmVkCW90Z19kaXNhYmxlOjU7DQorCXVuc2lnbmVkIGludAlvdGdfZGlzYWJs ZTo1Ow0KIA0KIAkvKiBiaXQgcG9zaXRpb25zIGZvciBtb2RlICovDQotCXVuc2lnbmVkCWlkZGln OjU7DQotCXVuc2lnbmVkCWlkZGlnX211eDo1Ow0KKwl1bnNpZ25lZCBpbnQJaWRkaWc6NTsNCisJ dW5zaWduZWQgaW50CWlkZGlnX211eDo1Ow0KIAkvKiBtaXNjZWxsYW5lb3VzIHN0dWZmICovDQot CXVuc2lnbmVkCXBvbGxfdGltZW91dDsNCisJdW5zaWduZWQgaW50CXBvbGxfdGltZW91dDsNCiB9 Ow0KIA0KIC8qDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldC5jIGIv ZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldC5jDQppbmRleCBmZmU0NjJhNjU3YjEuLjVhMDI1 ZGU4NDA3MyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXQuYw0KKysr IGIvZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldC5jDQpAQCAtNTIxLDcgKzUyMSw3IEBAIHN0 YXRpYyB2b2lkIHJ4c3RhdGUoc3RydWN0IG11c2IgKm11c2IsIHN0cnVjdCBtdXNiX3JlcXVlc3Qg KnJlcSkNCiAJc3RydWN0IHVzYl9yZXF1ZXN0CSpyZXF1ZXN0ID0gJnJlcS0+cmVxdWVzdDsNCiAJ c3RydWN0IG11c2JfZXAJCSptdXNiX2VwOw0KIAl2b2lkIF9faW9tZW0JCSplcGlvID0gbXVzYi0+ ZW5kcG9pbnRzW2VwbnVtXS5yZWdzOw0KLQl1bnNpZ25lZAkJbGVuID0gMDsNCisJdW5zaWduZWQg aW50CQlsZW4gPSAwOw0KIAl1MTYJCQlmaWZvX2NvdW50Ow0KIAl1MTYJCQljc3IgPSBtdXNiX3Jl YWR3KGVwaW8sIE1VU0JfUlhDU1IpOw0KIAlzdHJ1Y3QgbXVzYl9od19lcAkqaHdfZXAgPSAmbXVz Yi0+ZW5kcG9pbnRzW2VwbnVtXTsNCkBAIC02NTcsNyArNjU3LDcgQEAgc3RhdGljIHZvaWQgcnhz dGF0ZShzdHJ1Y3QgbXVzYiAqbXVzYiwgc3RydWN0IG11c2JfcmVxdWVzdCAqcmVxKQ0KIAkJCQkJ bXVzYl93cml0ZXcoZXBpbywgTVVTQl9SWENTUiwgY3NyKTsNCiANCiAJCQkJCXRyYW5zZmVyX3Np emUgPSBtaW4ocmVxdWVzdC0+bGVuZ3RoIC0gcmVxdWVzdC0+YWN0dWFsLA0KLQkJCQkJCQkodW5z aWduZWQpZmlmb19jb3VudCk7DQorCQkJCQkJCSh1bnNpZ25lZCBpbnQpZmlmb19jb3VudCk7DQog CQkJCQltdXNiX2VwLT5kbWEtPmRlc2lyZWRfbW9kZSA9IDA7DQogCQkJCX0NCiANCkBAIC02OTUs NyArNjk1LDcgQEAgc3RhdGljIHZvaWQgcnhzdGF0ZShzdHJ1Y3QgbXVzYiAqbXVzYiwgc3RydWN0 IG11c2JfcmVxdWVzdCAqcmVxKQ0KIAkJCQkJdHJhbnNmZXJfc2l6ZSA9IG1pbl90KHVuc2lnbmVk IGludCwNCiAJCQkJCQkJcmVxdWVzdC0+bGVuZ3RoIC0NCiAJCQkJCQkJcmVxdWVzdC0+YWN0dWFs LA0KLQkJCQkJCQkodW5zaWduZWQpZmlmb19jb3VudCk7DQorCQkJCQkJCSh1bnNpZ25lZCBpbnQp Zmlmb19jb3VudCk7DQogDQogCQkJCWNzciAmPSB+TVVTQl9SWENTUl9ETUFNT0RFOw0KIAkJCQlj c3IgfD0gKE1VU0JfUlhDU1JfRE1BRU5BQiB8DQpAQCAtNzI4LDcgKzcyOCw3IEBAIHN0YXRpYyB2 b2lkIHJ4c3RhdGUoc3RydWN0IG11c2IgKm11c2IsIHN0cnVjdCBtdXNiX3JlcXVlc3QgKnJlcSkN CiAJCQkJCWZpZm9fY291bnQsIGxlbiwNCiAJCQkJCW11c2JfZXAtPnBhY2tldF9zeik7DQogDQot CQkJZmlmb19jb3VudCA9IG1pbl90KHVuc2lnbmVkLCBsZW4sIGZpZm9fY291bnQpOw0KKwkJCWZp Zm9fY291bnQgPSBtaW5fdCh1bnNpZ25lZCBpbnQsIGxlbiwgZmlmb19jb3VudCk7DQogDQogCQkJ aWYgKHR1c2JfZG1hX29tYXAobXVzYikpIHsNCiAJCQkJc3RydWN0IGRtYV9jb250cm9sbGVyICpj ID0gbXVzYi0+ZG1hX2NvbnRyb2xsZXI7DQpAQCAtOTEzLDcgKzkxMyw3IEBAIHN0YXRpYyBpbnQg bXVzYl9nYWRnZXRfZW5hYmxlKHN0cnVjdCB1c2JfZXAgKmVwLA0KIAl2b2lkIF9faW9tZW0JKm1i YXNlOw0KIAl1OAkJZXBudW07DQogCXUxNgkJY3NyOw0KLQl1bnNpZ25lZAl0bXA7DQorCXVuc2ln bmVkIGludAl0bXA7DQogCWludAkJc3RhdHVzID0gLUVJTlZBTDsNCiANCiAJaWYgKCFlcCB8fCAh ZGVzYykNCkBAIC0xMTU5LDcgKzExNTksNyBAQCBzdGF0aWMgTElTVF9IRUFEKGJ1ZmZlcnMpOw0K IHN0cnVjdCBmcmVlX3JlY29yZCB7DQogCXN0cnVjdCBsaXN0X2hlYWQJbGlzdDsNCiAJc3RydWN0 IGRldmljZQkJKmRldjsNCi0JdW5zaWduZWQJCWJ5dGVzOw0KKwl1bnNpZ25lZCBpbnQJCWJ5dGVz Ow0KIAlkbWFfYWRkcl90CQlkbWE7DQogfTsNCiANCkBAIC0xNjIwLDcgKzE2MjAsNyBAQCBzdGF0 aWMgaW50IG11c2JfZ2FkZ2V0X3ZidXNfc2Vzc2lvbihzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0 LCBpbnQgaXNfYWN0aXZlKQ0KIH0NCiAjZW5kaWYNCiANCi1zdGF0aWMgaW50IG11c2JfZ2FkZ2V0 X3ZidXNfZHJhdyhzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0LCB1bnNpZ25lZCBtQSkNCitzdGF0 aWMgaW50IG11c2JfZ2FkZ2V0X3ZidXNfZHJhdyhzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0LCB1 bnNpZ25lZCBpbnQgbUEpDQogew0KIAlzdHJ1Y3QgbXVzYgkqbXVzYiA9IGdhZGdldF90b19tdXNi KGdhZGdldCk7DQogDQpAQCAtMTc0MCw3ICsxNzQwLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIG11 c2JfZ19pbml0X2VuZHBvaW50cyhzdHJ1Y3QgbXVzYiAqbXVzYikNCiB7DQogCXU4CQkJZXBudW07 DQogCXN0cnVjdCBtdXNiX2h3X2VwCSpod19lcDsNCi0JdW5zaWduZWQJCWNvdW50ID0gMDsNCisJ dW5zaWduZWQgaW50CQljb3VudCA9IDA7DQogDQogCS8qIGluaXRpYWxpemUgZW5kcG9pbnQgbGlz dCBqdXN0IG9uY2UgKi8NCiAJSU5JVF9MSVNUX0hFQUQoJihtdXNiLT5nLmVwX2xpc3QpKTsNCmRp ZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0X2VwMC5jIGIvZHJpdmVycy91 c2IvbXVzYi9tdXNiX2dhZGdldF9lcDAuYw0KaW5kZXggOTFhNTAyN2I1YzFmLi5lYTVlY2U5NzYx ZWYgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0X2VwMC5jDQorKysg Yi9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0X2VwMC5jDQpAQCAtNDc2LDcgKzQ3Niw3IEBA IHN0YXRpYyB2b2lkIGVwMF9yeHN0YXRlKHN0cnVjdCBtdXNiICptdXNiKQ0KIAkgKi8NCiAJaWYg KHJlcSkgew0KIAkJdm9pZAkJKmJ1ZiA9IHJlcS0+YnVmICsgcmVxLT5hY3R1YWw7DQotCQl1bnNp Z25lZAlsZW4gPSByZXEtPmxlbmd0aCAtIHJlcS0+YWN0dWFsOw0KKwkJdW5zaWduZWQgaW50CWxl biA9IHJlcS0+bGVuZ3RoIC0gcmVxLT5hY3R1YWw7DQogDQogCQkvKiByZWFkIHRoZSBidWZmZXIg Ki8NCiAJCWNvdW50ID0gbXVzYl9yZWFkYihyZWdzLCBNVVNCX0NPVU5UMCk7DQpAQCAtNTM3LDcg KzUzNyw3IEBAIHN0YXRpYyB2b2lkIGVwMF90eHN0YXRlKHN0cnVjdCBtdXNiICptdXNiKQ0KIA0K IAkvKiBsb2FkIHRoZSBkYXRhICovDQogCWZpZm9fc3JjID0gKHU4ICopIHJlcXVlc3QtPmJ1ZiAr IHJlcXVlc3QtPmFjdHVhbDsNCi0JZmlmb19jb3VudCA9IG1pbigodW5zaWduZWQpIE1VU0JfRVAw X0ZJRk9TSVpFLA0KKwlmaWZvX2NvdW50ID0gbWluKCh1bnNpZ25lZCBpbnQpIE1VU0JfRVAwX0ZJ Rk9TSVpFLA0KIAkJcmVxdWVzdC0+bGVuZ3RoIC0gcmVxdWVzdC0+YWN0dWFsKTsNCiAJbXVzYl93 cml0ZV9maWZvKCZtdXNiLT5lbmRwb2ludHNbMF0sIGZpZm9fY291bnQsIGZpZm9fc3JjKTsNCiAJ cmVxdWVzdC0+YWN0dWFsICs9IGZpZm9fY291bnQ7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Iv bXVzYi9tdXNiX2hvc3QuYyBiL2RyaXZlcnMvdXNiL211c2IvbXVzYl9ob3N0LmMNCmluZGV4IDVh NDRiNzAzNzJkOS4uNTA4ZjE4MDFlNTJiIDEwMDY0NA0KLS0tIGEvZHJpdmVycy91c2IvbXVzYi9t dXNiX2hvc3QuYw0KKysrIGIvZHJpdmVycy91c2IvbXVzYi9tdXNiX2hvc3QuYw0KQEAgLTIxNDgs OCArMjE0OCw4IEBAIHN0YXRpYyBpbnQgbXVzYl91cmJfZW5xdWV1ZSgNCiAJc3RydWN0IG11c2Jf cWgJCQkqcWg7DQogCXN0cnVjdCB1c2JfZW5kcG9pbnRfZGVzY3JpcHRvcgkqZXBkID0gJmhlcC0+ ZGVzYzsNCiAJaW50CQkJCXJldDsNCi0JdW5zaWduZWQJCQl0eXBlX3JlZzsNCi0JdW5zaWduZWQJ CQlpbnRlcnZhbDsNCisJdW5zaWduZWQgaW50CQkJdHlwZV9yZWc7DQorCXVuc2lnbmVkIGludAkJ CWludGVydmFsOw0KIA0KIAkvKiBob3N0IHJvbGUgbXVzdCBiZSBhY3RpdmUgKi8NCiAJaWYgKCFp c19ob3N0X2FjdGl2ZShtdXNiKSB8fCAhbXVzYi0+aXNfYWN0aXZlKQ0KQEAgLTIzMzcsNyArMjMz Nyw3IEBAIHN0YXRpYyBpbnQgbXVzYl9jbGVhbnVwX3VyYihzdHJ1Y3QgdXJiICp1cmIsIHN0cnVj dCBtdXNiX3FoICpxaCkNCiAJc3RydWN0IG11c2JfaHdfZXAJKmVwID0gcWgtPmh3X2VwOw0KIAlz dHJ1Y3QgbXVzYgkJKm11c2IgPSBlcC0+bXVzYjsNCiAJdm9pZCBfX2lvbWVtCQkqZXBpbyA9IGVw LT5yZWdzOw0KLQl1bnNpZ25lZAkJaHdfZW5kID0gZXAtPmVwbnVtOw0KKwl1bnNpZ25lZCBpbnQJ CWh3X2VuZCA9IGVwLT5lcG51bTsNCiAJdm9pZCBfX2lvbWVtCQkqcmVncyA9IGVwLT5tdXNiLT5t cmVnczsNCiAJaW50CQkJaXNfaW4gPSB1c2JfcGlwZWluKHVyYi0+cGlwZSk7DQogCWludAkJCXN0 YXR1cyA9IDA7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbXVzYi9tdXNiX2hvc3QuaCBiL2Ry aXZlcnMvdXNiL211c2IvbXVzYl9ob3N0LmgNCmluZGV4IDI5OTk4NDU2MzJjZS4uNDdlMjE3N2I4 NzFkIDEwMDY0NA0KLS0tIGEvZHJpdmVycy91c2IvbXVzYi9tdXNiX2hvc3QuaA0KKysrIGIvZHJp dmVycy91c2IvbXVzYi9tdXNiX2hvc3QuaA0KQEAgLTIyLDggKzIyLDggQEAgc3RydWN0IG11c2Jf cWggew0KIAkvKiBzdHJ1Y3QgbXVzYl9xaAkJKm5leHQ7ICovCS8qIGZvciBwZXJpb2RpYyB0cmVl ICovDQogCXU4CQkJbXV4OwkJLyogcWggbXVsdGlwbGV4ZWQgdG8gaHdfZXAgKi8NCiANCi0JdW5z aWduZWQJCW9mZnNldDsJCS8qIGluIHVyYi0+dHJhbnNmZXJfYnVmZmVyICovDQotCXVuc2lnbmVk CQlzZWdzaXplOwkvKiBjdXJyZW50IHhmZXIgZnJhZ21lbnQgKi8NCisJdW5zaWduZWQgaW50CQlv ZmZzZXQ7CQkvKiBpbiB1cmItPnRyYW5zZmVyX2J1ZmZlciAqLw0KKwl1bnNpZ25lZCBpbnQJCXNl Z3NpemU7CS8qIGN1cnJlbnQgeGZlciBmcmFnbWVudCAqLw0KIA0KIAl1OAkJCXR5cGVfcmVnOwkv KiB7cngsdHh9IHR5cGUgcmVnaXN0ZXIgKi8NCiAJdTgJCQlpbnR2X3JlZzsJLyoge3J4LHR4fSBp bnRlcnZhbCByZWdpc3RlciAqLw0KQEAgLTM3LDcgKzM3LDcgQEAgc3RydWN0IG11c2JfcWggew0K IAl1OAkJCWhiX211bHQ7CS8qIGhpZ2ggYmFuZHdpZHRoIHBrdHMgcGVyIHVmICovDQogCXUxNgkJ CW1heHBhY2tldDsNCiAJdTE2CQkJZnJhbWU7CQkvKiBmb3IgcGVyaW9kaWMgc2NoZWR1bGUgKi8N Ci0JdW5zaWduZWQJCWlzb19pZHg7CS8qIGluIHVyYi0+aXNvX2ZyYW1lX2Rlc2NbXSAqLw0KKwl1 bnNpZ25lZCBpbnQJCWlzb19pZHg7CS8qIGluIHVyYi0+aXNvX2ZyYW1lX2Rlc2NbXSAqLw0KIAlz dHJ1Y3Qgc2dfbWFwcGluZ19pdGVyIHNnX21pdGVyOwkvKiBmb3IgaGlnaG1lbSBpbiBQSU8gbW9k ZSAqLw0KIAlib29sCQkJdXNlX3NnOwkJLyogdG8gdHJhY2sgdXJiIHVzaW5nIHNnbGlzdCAqLw0K IH07DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbXVzYi9tdXNiX2lvLmggYi9kcml2ZXJzL3Vz Yi9tdXNiL211c2JfaW8uaA0KaW5kZXggODA1OGE1ODA5MmNmLi4zY2RiOWUzYzY3YWUgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL3VzYi9tdXNiL211c2JfaW8uaA0KKysrIGIvZHJpdmVycy91c2IvbXVz Yi9tdXNiX2lvLmgNCkBAIC0zMywxMSArMzMsMTEgQEAgc3RydWN0IG11c2JfaW8gew0KIH07DQog DQogLyogRG8gbm90IGFkZCBuZXcgZW50cmllcyBoZXJlLCBhZGQgdGhlbSB0aGUgc3RydWN0IG11 c2JfaW8gaW5zdGVhZCAqLw0KLWV4dGVybiB1OCAoKm11c2JfcmVhZGIpKGNvbnN0IHZvaWQgX19p b21lbSAqYWRkciwgdW5zaWduZWQgb2Zmc2V0KTsNCi1leHRlcm4gdm9pZCAoKm11c2Jfd3JpdGVi KSh2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIG9mZnNldCwgdTggZGF0YSk7DQotZXh0ZXJu IHUxNiAoKm11c2JfcmVhZHcpKGNvbnN0IHZvaWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgb2Zm c2V0KTsNCi1leHRlcm4gdm9pZCAoKm11c2Jfd3JpdGV3KSh2b2lkIF9faW9tZW0gKmFkZHIsIHVu c2lnbmVkIG9mZnNldCwgdTE2IGRhdGEpOw0KLWV4dGVybiB1MzIgbXVzYl9yZWFkbChjb25zdCB2 b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIG9mZnNldCk7DQotZXh0ZXJuIHZvaWQgbXVzYl93 cml0ZWwodm9pZCBfX2lvbWVtICphZGRyLCB1bnNpZ25lZCBvZmZzZXQsIHUzMiBkYXRhKTsNCitl eHRlcm4gdTggKCptdXNiX3JlYWRiKShjb25zdCB2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVk IGludCBvZmZzZXQpOw0KK2V4dGVybiB2b2lkICgqbXVzYl93cml0ZWIpKHZvaWQgX19pb21lbSAq YWRkciwgdW5zaWduZWQgaW50IG9mZnNldCwgdTggZGF0YSk7DQorZXh0ZXJuIHUxNiAoKm11c2Jf cmVhZHcpKGNvbnN0IHZvaWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgaW50IG9mZnNldCk7DQor ZXh0ZXJuIHZvaWQgKCptdXNiX3dyaXRldykodm9pZCBfX2lvbWVtICphZGRyLCB1bnNpZ25lZCBp bnQgb2Zmc2V0LCB1MTYgZGF0YSk7DQorZXh0ZXJuIHUzMiBtdXNiX3JlYWRsKGNvbnN0IHZvaWQg X19pb21lbSAqYWRkciwgdW5zaWduZWQgaW50IG9mZnNldCk7DQorZXh0ZXJuIHZvaWQgbXVzYl93 cml0ZWwodm9pZCBfX2lvbWVtICphZGRyLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1MzIgZGF0YSk7 DQogDQogI2VuZGlmDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbXVzYi9zdW54aS5jIGIvZHJp dmVycy91c2IvbXVzYi9zdW54aS5jDQppbmRleCA4MzJhNDFmOWVlN2QuLjRjODM4OTBkOWQwOCAx MDA2NDQNCi0tLSBhL2RyaXZlcnMvdXNiL211c2Ivc3VueGkuYw0KKysrIGIvZHJpdmVycy91c2Iv bXVzYi9zdW54aS5jDQpAQCAtNDA3LDcgKzQwNyw3IEBAIHN0YXRpYyB1MzIgc3VueGlfbXVzYl9i dXNjdGxfb2Zmc2V0KHU4IGVwbnVtLCB1MTYgb2Zmc2V0KQ0KIAlyZXR1cm4gU1VOWElfTVVTQl9U WEZVTkNBRERSICsgb2Zmc2V0Ow0KIH0NCiANCi1zdGF0aWMgdTggc3VueGlfbXVzYl9yZWFkYihj b25zdCB2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIG9mZnNldCkNCitzdGF0aWMgdTggc3Vu eGlfbXVzYl9yZWFkYihjb25zdCB2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIGludCBvZmZz ZXQpDQogew0KIAlzdHJ1Y3Qgc3VueGlfZ2x1ZSAqZ2x1ZTsNCiANCkBAIC00NjgsNyArNDY4LDcg QEAgc3RhdGljIHU4IHN1bnhpX211c2JfcmVhZGIoY29uc3Qgdm9pZCBfX2lvbWVtICphZGRyLCB1 bnNpZ25lZCBvZmZzZXQpDQogCXJldHVybiAwOw0KIH0NCiANCi1zdGF0aWMgdm9pZCBzdW54aV9t dXNiX3dyaXRlYih2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIG9mZnNldCwgdTggZGF0YSkN CitzdGF0aWMgdm9pZCBzdW54aV9tdXNiX3dyaXRlYih2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2ln bmVkIGludCBvZmZzZXQsIHU4IGRhdGEpDQogew0KIAlpZiAoYWRkciA9PSBzdW54aV9tdXNiLT5t cmVncykgew0KIAkJLyogZ2VuZXJpYyBjb250cm9sIG9yIGZpZm8gY29udHJvbCByZWcgYWNjZXNz ICovDQpAQCAtNTIwLDcgKzUyMCw3IEBAIHN0YXRpYyB2b2lkIHN1bnhpX211c2Jfd3JpdGViKHZv aWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgb2Zmc2V0LCB1OCBkYXRhKQ0KIAkJKGludCkoYWRk ciAtIHN1bnhpX211c2ItPm1yZWdzKSk7DQogfQ0KIA0KLXN0YXRpYyB1MTYgc3VueGlfbXVzYl9y ZWFkdyhjb25zdCB2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIG9mZnNldCkNCitzdGF0aWMg dTE2IHN1bnhpX211c2JfcmVhZHcoY29uc3Qgdm9pZCBfX2lvbWVtICphZGRyLCB1bnNpZ25lZCBp bnQgb2Zmc2V0KQ0KIHsNCiAJaWYgKGFkZHIgPT0gc3VueGlfbXVzYi0+bXJlZ3MpIHsNCiAJCS8q IGdlbmVyaWMgY29udHJvbCBvciBmaWZvIGNvbnRyb2wgcmVnIGFjY2VzcyAqLw0KQEAgLTU1Nyw3 ICs1NTcsNyBAQCBzdGF0aWMgdTE2IHN1bnhpX211c2JfcmVhZHcoY29uc3Qgdm9pZCBfX2lvbWVt ICphZGRyLCB1bnNpZ25lZCBvZmZzZXQpDQogCXJldHVybiAwOw0KIH0NCiANCi1zdGF0aWMgdm9p ZCBzdW54aV9tdXNiX3dyaXRldyh2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIG9mZnNldCwg dTE2IGRhdGEpDQorc3RhdGljIHZvaWQgc3VueGlfbXVzYl93cml0ZXcodm9pZCBfX2lvbWVtICph ZGRyLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1MTYgZGF0YSkNCiB7DQogCWlmIChhZGRyID09IHN1 bnhpX211c2ItPm1yZWdzKSB7DQogCQkvKiBnZW5lcmljIGNvbnRyb2wgb3IgZmlmbyBjb250cm9s IHJlZyBhY2Nlc3MgKi8NCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9tdXNiL3R1c2I2MDEwLmMg Yi9kcml2ZXJzL3VzYi9tdXNiL3R1c2I2MDEwLmMNCmluZGV4IDM5NDUzMjg3YjVjMy4uOTE3OWE2 ZTA2OGI4IDEwMDY0NA0KLS0tIGEvZHJpdmVycy91c2IvbXVzYi90dXNiNjAxMC5jDQorKysgYi9k cml2ZXJzL3VzYi9tdXNiL3R1c2I2MDEwLmMNCkBAIC0xNDIsNyArMTQyLDcgQEAgc3RhdGljIHZv aWQgdHVzYl9lcF9zZWxlY3Qodm9pZCBfX2lvbWVtICptYmFzZSwgdTggZXBudW0pDQogLyoNCiAg KiBUVVNCNjAxMCBkb2Vzbid0IGFsbG93IDgtYml0IGFjY2VzczsgMTYtYml0IGFjY2VzcyBpcyB0 aGUgbWluaW11bS4NCiAgKi8NCi1zdGF0aWMgdTggdHVzYl9yZWFkYihjb25zdCB2b2lkIF9faW9t ZW0gKmFkZHIsIHVuc2lnbmVkIG9mZnNldCkNCitzdGF0aWMgdTggdHVzYl9yZWFkYihjb25zdCB2 b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIGludCBvZmZzZXQpDQogew0KIAl1MTYgdG1wOw0K IAl1OCB2YWw7DQpAQCAtMTU2LDcgKzE1Niw3IEBAIHN0YXRpYyB1OCB0dXNiX3JlYWRiKGNvbnN0 IHZvaWQgX19pb21lbSAqYWRkciwgdW5zaWduZWQgb2Zmc2V0KQ0KIAlyZXR1cm4gdmFsOw0KIH0N CiANCi1zdGF0aWMgdm9pZCB0dXNiX3dyaXRlYih2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVk IG9mZnNldCwgdTggZGF0YSkNCitzdGF0aWMgdm9pZCB0dXNiX3dyaXRlYih2b2lkIF9faW9tZW0g KmFkZHIsIHVuc2lnbmVkIGludCBvZmZzZXQsIHU4IGRhdGEpDQogew0KIAl1MTYgdG1wOw0KIA0K QEAgLTMyMSw3ICszMjEsNyBAQCBzdGF0aWMgc3RydWN0IG11c2IgKnRoZV9tdXNiOw0KICAqIG1v ZGUpLCBvciBsb3cgcG93ZXIgRGVmYXVsdC1CIHNlc3Npb25zLCBzb21ldGhpbmcgZWxzZSBzdXBw bGllcyBwb3dlci4NCiAgKiBDYWxsZXIgbXVzdCB0YWtlIGNhcmUgb2YgbG9ja2luZy4NCiAgKi8N Ci1zdGF0aWMgaW50IHR1c2JfZHJhd19wb3dlcihzdHJ1Y3QgdXNiX3BoeSAqeCwgdW5zaWduZWQg bUEpDQorc3RhdGljIGludCB0dXNiX2RyYXdfcG93ZXIoc3RydWN0IHVzYl9waHkgKngsIHVuc2ln bmVkIGludCBtQSkNCiB7DQogCXN0cnVjdCBtdXNiCSptdXNiID0gdGhlX211c2I7DQogCXZvaWQg X19pb21lbQkqdGJhc2UgPSBtdXNiLT5jdHJsX2Jhc2U7DQpAQCAtMzU4LDcgKzM1OCw3IEBAIHN0 YXRpYyBpbnQgdHVzYl9kcmF3X3Bvd2VyKHN0cnVjdCB1c2JfcGh5ICp4LCB1bnNpZ25lZCBtQSkN CiAgKiAodG8gYmUgZml4ZWQgaW4gcmV2MyBzaWxpY29uKSAuLi4gc3ltcHRvbXMgaW5jbHVkZSBk aXNjb25uZWN0DQogICogb3IgbG9vcGluZyBzdXNwZW5kL3Jlc3VtZSBjeWNsZXMNCiAgKi8NCi1z dGF0aWMgdm9pZCB0dXNiX3NldF9jbG9ja19zb3VyY2Uoc3RydWN0IG11c2IgKm11c2IsIHVuc2ln bmVkIG1vZGUpDQorc3RhdGljIHZvaWQgdHVzYl9zZXRfY2xvY2tfc291cmNlKHN0cnVjdCBtdXNi ICptdXNiLCB1bnNpZ25lZCBpbnQgbW9kZSkNCiB7DQogCXZvaWQgX19pb21lbQkqdGJhc2UgPSBt dXNiLT5jdHJsX2Jhc2U7DQogCXUzMgkJcmVnOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL211 c2IvdHVzYjYwMTBfb21hcC5jIGIvZHJpdmVycy91c2IvbXVzYi90dXNiNjAxMF9vbWFwLmMNCmlu ZGV4IDYwYTkzYjhiYmUzYy4uZDgyY2EzNmZhMjAyIDEwMDY0NA0KLS0tIGEvZHJpdmVycy91c2Iv bXVzYi90dXNiNjAxMF9vbWFwLmMNCisrKyBiL2RyaXZlcnMvdXNiL211c2IvdHVzYjYwMTBfb21h cC5jDQpAQCAtNTIsNyArNTIsNyBAQCBzdHJ1Y3QgdHVzYl9vbWFwX2RtYSB7DQogCXZvaWQgX19p b21lbQkJCSp0YmFzZTsNCiANCiAJc3RydWN0IHR1c2JfZG1hX2RhdGEJCWRtYV9wb29sW01BWF9E TUFSRVFdOw0KLQl1bnNpZ25lZAkJCW11bHRpY2hhbm5lbDoxOw0KKwl1bnNpZ25lZCBpbnQJCQlt dWx0aWNoYW5uZWw6MTsNCiB9Ow0KIA0KIC8qDQotLSANCjIuMTguMA0K