Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp205958ybg; Sun, 31 May 2020 22:13:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx9bjX8tzj/GNkFBVLaPpDw9d4aBuq1AOqD4dvmsx9YZiuBG9qjd0gqyHzD8UWDn1NQXc1Q X-Received: by 2002:a17:906:f2c2:: with SMTP id gz2mr7299949ejb.260.1590988397778; Sun, 31 May 2020 22:13:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590988397; cv=none; d=google.com; s=arc-20160816; b=IXrALjzuh1RkSxVphPHg6JolIoxvmI8Qz8DjrPXhI5n882zMetTr5F/xuTYVESIhOF Yn+mdCAp3xmsFX5kE0JWRa+bVNDsMdn4NEe4wewN0g5bJ1M+SHXoxZbUXRLlohxwtxtp QlBVUEG5hpzf09jM31nDChf1hliSEhVqYRaGlDUgGk70FeCDoL+IBKbJ1PZ00oynXvAB M/kwp6VhrCLR6d+hTLL9rlr6V/bxBrmhKbAOPrrRDHy8yv7/yld9vFfgotln62GSsrGl CI5skbIT6bvi0LiuKNpYqJMma7gNYxYIRo8vmnKnZs6aHMMS7WlY8IfpmcjVvH1AwGOr r43Q== 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=co+J9kGSLsuZqwzKx9sgfxcjEsF3XOHEfEFldRg7xfo=; b=Yx7x3eH/y7egdepLA04gDot42My/RtW8nuBkuOBVxRZBsoYxuhKQcz1+jFJFw3zAEE 3YBpMafxYWvayzaAJF9Z0kwxN1VpXwLbvk2cUGUMcWPIGztfCqezEP1CoS4r21VE2AFw qyBSyj5B1Dmnw/tGclKrT6jBChzCqE7bJDKdymhahbBLS1yaqyBwSSxcopgfUfUN6MWg RH1PNLn3ISyRklGbNO0Rt02WYxRdhrGK1lpOWA9/ezs24NRTSb4IHnla5q2xJhtW6DVw 3l2bvOzuyEyXaOwfjDeTMuf16UkpyVIyrqTqxKFyL92st3DwpEFmawNOANFaNRX5NlkN z61Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=SfFFeBqN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id z22si129528ejr.510.2020.05.31.22.12.55; Sun, 31 May 2020 22:13:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=SfFFeBqN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1725999AbgFAFKb (ORCPT + 99 others); Mon, 1 Jun 2020 01:10:31 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:28517 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725283AbgFAFKa (ORCPT ); Mon, 1 Jun 2020 01:10:30 -0400 X-UUID: df31c7348e8a4906a2e57657b2d05a77-20200601 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=co+J9kGSLsuZqwzKx9sgfxcjEsF3XOHEfEFldRg7xfo=; b=SfFFeBqNihULQ+ySbcDFYYTrY2H25c4IpfGhsI7KPrX4e5q6FMKWa4dvuDQtgk8fYy84+YmaJhKFjiBOpPG0j95QEGhSeFaFLA9wbBVtdJVu8Q7FQ4aNmuRgIMZYLtgWkwNpr0W5vUletKjfCQPJOW6n8spgbzhbmtL/KAZ6f5Y=; X-UUID: df31c7348e8a4906a2e57657b2d05a77-20200601 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1308180801; Mon, 01 Jun 2020 13:10:24 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs01n1.mediatek.inc (172.21.101.68) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 1 Jun 2020 13:10:17 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 1 Jun 2020 13:10:17 +0800 From: Walter Wu To: Andrey Ryabinin , Alexander Potapenko , Dmitry Vyukov CC: , , , , wsd_upstream , , Walter Wu Subject: [PATCH v7 2/4] kasan: record and print the free track Date: Mon, 1 Jun 2020 13:10:22 +0800 Message-ID: <20200601051022.1230-1-walter-zh.wu@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain 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 TW92ZSBmcmVlIHRyYWNrIGZyb20ga2FzYW5fYWxsb2NfbWV0YSB0byBrYXNhbl9mcmVlX21ldGEg aW4gb3JkZXINCnRvIG1ha2Ugc3RydWN0IGthc2FuX2FsbG9jX21ldGEgYW5kIGthc2FuX2ZyZWVf bWV0YSBzaXplIGFyZSBib3RoDQoxNiBieXRlcy4gSXQgaXMgYSBnb29kIHNpemUgYmVjYXVzZSBp dCBpcyB0aGUgbWluaW1hbCByZWR6b25lIHNpemUNCmFuZCBhIGdvb2QgbnVtYmVyIG9mIGFsaWdu bWVudC4NCg0KRm9yIGZyZWUgdHJhY2ssIHdlIG1ha2Ugc29tZSBtb2RpZmljYXRpb25zIGFzIHNo b3duIGJlbG93Og0KMSkgUmVtb3ZlIHRoZSBmcmVlX3RyYWNrIGZyb20gc3RydWN0IGthc2FuX2Fs bG9jX21ldGEuDQoyKSBBZGQgdGhlIGZyZWVfdHJhY2sgaW50byBzdHJ1Y3Qga2FzYW5fZnJlZV9t ZXRhLg0KMykgQWRkIGEgbWFjcm8gS0FTQU5fS01BTExPQ19GUkVFVFJBQ0sgaW4gb3JkZXIgdG8g Y2hlY2sgd2hldGhlcg0KICAgaXQgY2FuIHByaW50IGZyZWUgc3RhY2sgaW4gS0FTQU4gcmVwb3J0 Lg0KDQpbMV1odHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODQz Nw0KDQpTaWduZWQtb2ZmLWJ5OiBXYWx0ZXIgV3UgPHdhbHRlci16aC53dUBtZWRpYXRlay5jb20+ DQpTdWdnZXN0ZWQtYnk6IERtaXRyeSBWeXVrb3YgPGR2eXVrb3ZAZ29vZ2xlLmNvbT4NCkNvLWRl dmVsb3BlZC1ieTogRG1pdHJ5IFZ5dWtvdiA8ZHZ5dWtvdkBnb29nbGUuY29tPg0KUmV2aWV3ZWQt YW5kLXRlc3RlZC1ieTogRG1pdHJ5IFZ5dWtvdiA8ZHZ5dWtvdkBnb29nbGUuY29tPg0KUmV2aWV3 ZWQtYnk6IEFuZHJleSBLb25vdmFsb3YgPGFuZHJleWtudmxAZ29vZ2xlLmNvbT4NCkNjOiBBbmRy ZXkgUnlhYmluaW4gPGFyeWFiaW5pbkB2aXJ0dW96em8uY29tPg0KQ2M6IEFsZXhhbmRlciBQb3Rh cGVua28gPGdsaWRlckBnb29nbGUuY29tPg0KLS0tDQogbW0va2FzYW4vY29tbW9uLmMgICAgICAg ICB8IDIyICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiBtbS9rYXNhbi9nZW5lcmljLmMgICAgICAg IHwgMjIgKysrKysrKysrKysrKysrKysrKysrKw0KIG1tL2thc2FuL2dlbmVyaWNfcmVwb3J0LmMg fCAgMSArDQogbW0va2FzYW4va2FzYW4uaCAgICAgICAgICB8IDEzICsrKysrKysrKysrLS0NCiBt bS9rYXNhbi9xdWFyYW50aW5lLmMgICAgIHwgIDEgKw0KIG1tL2thc2FuL3JlcG9ydC5jICAgICAg ICAgfCAyNiArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIG1tL2thc2FuL3RhZ3MuYyAgICAg ICAgICAgfCAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQogNyBmaWxl cyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdp dCBhL21tL2thc2FuL2NvbW1vbi5jIGIvbW0va2FzYW4vY29tbW9uLmMNCmluZGV4IDhiYzYxODI4 OWJiMS4uNDdiNTM5MTJmMzIyIDEwMDY0NA0KLS0tIGEvbW0va2FzYW4vY29tbW9uLmMNCisrKyBi L21tL2thc2FuL2NvbW1vbi5jDQpAQCAtNTEsNyArNTEsNyBAQCBkZXBvdF9zdGFja19oYW5kbGVf dCBrYXNhbl9zYXZlX3N0YWNrKGdmcF90IGZsYWdzKQ0KIAlyZXR1cm4gc3RhY2tfZGVwb3Rfc2F2 ZShlbnRyaWVzLCBucl9lbnRyaWVzLCBmbGFncyk7DQogfQ0KIA0KLXN0YXRpYyBpbmxpbmUgdm9p ZCBzZXRfdHJhY2soc3RydWN0IGthc2FuX3RyYWNrICp0cmFjaywgZ2ZwX3QgZmxhZ3MpDQordm9p ZCBrYXNhbl9zZXRfdHJhY2soc3RydWN0IGthc2FuX3RyYWNrICp0cmFjaywgZ2ZwX3QgZmxhZ3Mp DQogew0KIAl0cmFjay0+cGlkID0gY3VycmVudC0+cGlkOw0KIAl0cmFjay0+c3RhY2sgPSBrYXNh bl9zYXZlX3N0YWNrKGZsYWdzKTsNCkBAIC0yOTksMjQgKzI5OSw2IEBAIHN0cnVjdCBrYXNhbl9m cmVlX21ldGEgKmdldF9mcmVlX2luZm8oc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlLA0KIAlyZXR1 cm4gKHZvaWQgKilvYmplY3QgKyBjYWNoZS0+a2FzYW5faW5mby5mcmVlX21ldGFfb2Zmc2V0Ow0K IH0NCiANCi0NCi1zdGF0aWMgdm9pZCBrYXNhbl9zZXRfZnJlZV9pbmZvKHN0cnVjdCBrbWVtX2Nh Y2hlICpjYWNoZSwNCi0JCXZvaWQgKm9iamVjdCwgdTggdGFnKQ0KLXsNCi0Jc3RydWN0IGthc2Fu X2FsbG9jX21ldGEgKmFsbG9jX21ldGE7DQotCXU4IGlkeCA9IDA7DQotDQotCWFsbG9jX21ldGEg PSBnZXRfYWxsb2NfaW5mbyhjYWNoZSwgb2JqZWN0KTsNCi0NCi0jaWZkZWYgQ09ORklHX0tBU0FO X1NXX1RBR1NfSURFTlRJRlkNCi0JaWR4ID0gYWxsb2NfbWV0YS0+ZnJlZV90cmFja19pZHg7DQot CWFsbG9jX21ldGEtPmZyZWVfcG9pbnRlcl90YWdbaWR4XSA9IHRhZzsNCi0JYWxsb2NfbWV0YS0+ ZnJlZV90cmFja19pZHggPSAoaWR4ICsgMSkgJSBLQVNBTl9OUl9GUkVFX1NUQUNLUzsNCi0jZW5k aWYNCi0NCi0Jc2V0X3RyYWNrKCZhbGxvY19tZXRhLT5mcmVlX3RyYWNrW2lkeF0sIEdGUF9OT1dB SVQpOw0KLX0NCi0NCiB2b2lkIGthc2FuX3BvaXNvbl9zbGFiKHN0cnVjdCBwYWdlICpwYWdlKQ0K IHsNCiAJdW5zaWduZWQgbG9uZyBpOw0KQEAgLTQ5Miw3ICs0NzQsNyBAQCBzdGF0aWMgdm9pZCAq X19rYXNhbl9rbWFsbG9jKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwgY29uc3Qgdm9pZCAqb2Jq ZWN0LA0KIAkJS0FTQU5fS01BTExPQ19SRURaT05FKTsNCiANCiAJaWYgKGNhY2hlLT5mbGFncyAm IFNMQUJfS0FTQU4pDQotCQlzZXRfdHJhY2soJmdldF9hbGxvY19pbmZvKGNhY2hlLCBvYmplY3Qp LT5hbGxvY190cmFjaywgZmxhZ3MpOw0KKwkJa2FzYW5fc2V0X3RyYWNrKCZnZXRfYWxsb2NfaW5m byhjYWNoZSwgb2JqZWN0KS0+YWxsb2NfdHJhY2ssIGZsYWdzKTsNCiANCiAJcmV0dXJuIHNldF90 YWcob2JqZWN0LCB0YWcpOw0KIH0NCmRpZmYgLS1naXQgYS9tbS9rYXNhbi9nZW5lcmljLmMgYi9t bS9rYXNhbi9nZW5lcmljLmMNCmluZGV4IDhhY2Y0ODg4MmJhMi4uNGIzY2JhZDc0MzFiIDEwMDY0 NA0KLS0tIGEvbW0va2FzYW4vZ2VuZXJpYy5jDQorKysgYi9tbS9rYXNhbi9nZW5lcmljLmMNCkBA IC0zNDYsMyArMzQ2LDI1IEBAIHZvaWQga2FzYW5fcmVjb3JkX2F1eF9zdGFjayh2b2lkICphZGRy KQ0KIAlhbGxvY19pbmZvLT5hdXhfc3RhY2tbMV0gPSBhbGxvY19pbmZvLT5hdXhfc3RhY2tbMF07 DQogCWFsbG9jX2luZm8tPmF1eF9zdGFja1swXSA9IGthc2FuX3NhdmVfc3RhY2soR0ZQX05PV0FJ VCk7DQogfQ0KKw0KK3ZvaWQga2FzYW5fc2V0X2ZyZWVfaW5mbyhzdHJ1Y3Qga21lbV9jYWNoZSAq Y2FjaGUsDQorCQkJCXZvaWQgKm9iamVjdCwgdTggdGFnKQ0KK3sNCisJc3RydWN0IGthc2FuX2Zy ZWVfbWV0YSAqZnJlZV9tZXRhOw0KKw0KKwlmcmVlX21ldGEgPSBnZXRfZnJlZV9pbmZvKGNhY2hl LCBvYmplY3QpOw0KKwlrYXNhbl9zZXRfdHJhY2soJmZyZWVfbWV0YS0+ZnJlZV90cmFjaywgR0ZQ X05PV0FJVCk7DQorDQorCS8qDQorCSAqICB0aGUgb2JqZWN0IHdhcyBmcmVlZCBhbmQgaGFzIGZy ZWUgdHJhY2sgc2V0DQorCSAqLw0KKwkqKHU4ICopa2FzYW5fbWVtX3RvX3NoYWRvdyhvYmplY3Qp ID0gS0FTQU5fS01BTExPQ19GUkVFVFJBQ0s7DQorfQ0KKw0KK3N0cnVjdCBrYXNhbl90cmFjayAq a2FzYW5fZ2V0X2ZyZWVfdHJhY2soc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlLA0KKwkJCQl2b2lk ICpvYmplY3QsIHU4IHRhZykNCit7DQorCWlmICgqKHU4ICopa2FzYW5fbWVtX3RvX3NoYWRvdyhv YmplY3QpICE9IEtBU0FOX0tNQUxMT0NfRlJFRVRSQUNLKQ0KKwkJcmV0dXJuIE5VTEw7DQorCXJl dHVybiAmZ2V0X2ZyZWVfaW5mbyhjYWNoZSwgb2JqZWN0KS0+ZnJlZV90cmFjazsNCit9DQpkaWZm IC0tZ2l0IGEvbW0va2FzYW4vZ2VuZXJpY19yZXBvcnQuYyBiL21tL2thc2FuL2dlbmVyaWNfcmVw b3J0LmMNCmluZGV4IGUyMDBhY2IyZDI5Mi4uYTM4YzdhOWUxOTJhIDEwMDY0NA0KLS0tIGEvbW0v a2FzYW4vZ2VuZXJpY19yZXBvcnQuYw0KKysrIGIvbW0va2FzYW4vZ2VuZXJpY19yZXBvcnQuYw0K QEAgLTgwLDYgKzgwLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmdldF9zaGFkb3dfYnVnX3R5cGUo c3RydWN0IGthc2FuX2FjY2Vzc19pbmZvICppbmZvKQ0KIAkJYnJlYWs7DQogCWNhc2UgS0FTQU5f RlJFRV9QQUdFOg0KIAljYXNlIEtBU0FOX0tNQUxMT0NfRlJFRToNCisJY2FzZSBLQVNBTl9LTUFM TE9DX0ZSRUVUUkFDSzoNCiAJCWJ1Z190eXBlID0gInVzZS1hZnRlci1mcmVlIjsNCiAJCWJyZWFr Ow0KIAljYXNlIEtBU0FOX0FMTE9DQV9MRUZUOg0KZGlmZiAtLWdpdCBhL21tL2thc2FuL2thc2Fu LmggYi9tbS9rYXNhbi9rYXNhbi5oDQppbmRleCBhNzM5MWJjODMwNzAuLmVmNjU1YTFjNmUxNSAx MDA2NDQNCi0tLSBhL21tL2thc2FuL2thc2FuLmgNCisrKyBiL21tL2thc2FuL2thc2FuLmgNCkBA IC0xNywxNSArMTcsMTcgQEANCiAjZGVmaW5lIEtBU0FOX1BBR0VfUkVEWk9ORSAgICAgIDB4RkUg IC8qIHJlZHpvbmUgZm9yIGttYWxsb2NfbGFyZ2UgYWxsb2NhdGlvbnMgKi8NCiAjZGVmaW5lIEtB U0FOX0tNQUxMT0NfUkVEWk9ORSAgIDB4RkMgIC8qIHJlZHpvbmUgaW5zaWRlIHNsdWIgb2JqZWN0 ICovDQogI2RlZmluZSBLQVNBTl9LTUFMTE9DX0ZSRUUgICAgICAweEZCICAvKiBvYmplY3Qgd2Fz IGZyZWVkIChrbWVtX2NhY2hlX2ZyZWUva2ZyZWUpICovDQorI2RlZmluZSBLQVNBTl9LTUFMTE9D X0ZSRUVUUkFDSyAweEZBICAvKiBvYmplY3Qgd2FzIGZyZWVkIGFuZCBoYXMgZnJlZSB0cmFjayBz ZXQgKi8NCiAjZWxzZQ0KICNkZWZpbmUgS0FTQU5fRlJFRV9QQUdFICAgICAgICAgS0FTQU5fVEFH X0lOVkFMSUQNCiAjZGVmaW5lIEtBU0FOX1BBR0VfUkVEWk9ORSAgICAgIEtBU0FOX1RBR19JTlZB TElEDQogI2RlZmluZSBLQVNBTl9LTUFMTE9DX1JFRFpPTkUgICBLQVNBTl9UQUdfSU5WQUxJRA0K ICNkZWZpbmUgS0FTQU5fS01BTExPQ19GUkVFICAgICAgS0FTQU5fVEFHX0lOVkFMSUQNCisjZGVm aW5lIEtBU0FOX0tNQUxMT0NfRlJFRVRSQUNLIEtBU0FOX1RBR19JTlZBTElEDQogI2VuZGlmDQog DQotI2RlZmluZSBLQVNBTl9HTE9CQUxfUkVEWk9ORSAgICAweEZBICAvKiByZWR6b25lIGZvciBn bG9iYWwgdmFyaWFibGUgKi8NCi0jZGVmaW5lIEtBU0FOX1ZNQUxMT0NfSU5WQUxJRCAgIDB4Rjkg IC8qIHVuYWxsb2NhdGVkIHNwYWNlIGluIHZtYXBwZWQgcGFnZSAqLw0KKyNkZWZpbmUgS0FTQU5f R0xPQkFMX1JFRFpPTkUgICAgMHhGOSAgLyogcmVkem9uZSBmb3IgZ2xvYmFsIHZhcmlhYmxlICov DQorI2RlZmluZSBLQVNBTl9WTUFMTE9DX0lOVkFMSUQgICAweEY4ICAvKiB1bmFsbG9jYXRlZCBz cGFjZSBpbiB2bWFwcGVkIHBhZ2UgKi8NCiANCiAvKg0KICAqIFN0YWNrIHJlZHpvbmUgc2hhZG93 IHZhbHVlcw0KQEAgLTEyNyw2ICsxMjksOSBAQCBzdHJ1Y3Qga2FzYW5fZnJlZV9tZXRhIHsNCiAJ ICogT3RoZXJ3aXNlIGl0IG1pZ2h0IGJlIHVzZWQgZm9yIHRoZSBhbGxvY2F0b3IgZnJlZWxpc3Qu DQogCSAqLw0KIAlzdHJ1Y3QgcWxpc3Rfbm9kZSBxdWFyYW50aW5lX2xpbms7DQorI2lmZGVmIENP TkZJR19LQVNBTl9HRU5FUklDDQorCXN0cnVjdCBrYXNhbl90cmFjayBmcmVlX3RyYWNrOw0KKyNl bmRpZg0KIH07DQogDQogc3RydWN0IGthc2FuX2FsbG9jX21ldGEgKmdldF9hbGxvY19pbmZvKHN0 cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwNCkBAIC0xNjgsNiArMTczLDEwIEBAIHZvaWQga2FzYW5f cmVwb3J0X2ludmFsaWRfZnJlZSh2b2lkICpvYmplY3QsIHVuc2lnbmVkIGxvbmcgaXApOw0KIHN0 cnVjdCBwYWdlICprYXNhbl9hZGRyX3RvX3BhZ2UoY29uc3Qgdm9pZCAqYWRkcik7DQogDQogZGVw b3Rfc3RhY2tfaGFuZGxlX3Qga2FzYW5fc2F2ZV9zdGFjayhnZnBfdCBmbGFncyk7DQordm9pZCBr YXNhbl9zZXRfdHJhY2soc3RydWN0IGthc2FuX3RyYWNrICp0cmFjaywgZ2ZwX3QgZmxhZ3MpOw0K K3ZvaWQga2FzYW5fc2V0X2ZyZWVfaW5mbyhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsIHZvaWQg Km9iamVjdCwgdTggdGFnKTsNCitzdHJ1Y3Qga2FzYW5fdHJhY2sgKmthc2FuX2dldF9mcmVlX3Ry YWNrKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwNCisJCQkJdm9pZCAqb2JqZWN0LCB1OCB0YWcp Ow0KIA0KICNpZiBkZWZpbmVkKENPTkZJR19LQVNBTl9HRU5FUklDKSAmJiBcDQogCShkZWZpbmVk KENPTkZJR19TTEFCKSB8fCBkZWZpbmVkKENPTkZJR19TTFVCKSkNCmRpZmYgLS1naXQgYS9tbS9r YXNhbi9xdWFyYW50aW5lLmMgYi9tbS9rYXNhbi9xdWFyYW50aW5lLmMNCmluZGV4IDk3OGJjNGEz ZWI1MS4uNGM1Mzc1ODEwNDQ5IDEwMDY0NA0KLS0tIGEvbW0va2FzYW4vcXVhcmFudGluZS5jDQor KysgYi9tbS9rYXNhbi9xdWFyYW50aW5lLmMNCkBAIC0xNDUsNiArMTQ1LDcgQEAgc3RhdGljIHZv aWQgcWxpbmtfZnJlZShzdHJ1Y3QgcWxpc3Rfbm9kZSAqcWxpbmssIHN0cnVjdCBrbWVtX2NhY2hl ICpjYWNoZSkNCiAJaWYgKElTX0VOQUJMRUQoQ09ORklHX1NMQUIpKQ0KIAkJbG9jYWxfaXJxX3Nh dmUoZmxhZ3MpOw0KIA0KKwkqKHU4ICopa2FzYW5fbWVtX3RvX3NoYWRvdyhvYmplY3QpID0gS0FT QU5fS01BTExPQ19GUkVFOw0KIAlfX19jYWNoZV9mcmVlKGNhY2hlLCBvYmplY3QsIF9USElTX0lQ Xyk7DQogDQogCWlmIChJU19FTkFCTEVEKENPTkZJR19TTEFCKSkNCmRpZmYgLS1naXQgYS9tbS9r YXNhbi9yZXBvcnQuYyBiL21tL2thc2FuL3JlcG9ydC5jDQppbmRleCAyNDIxYTRiZDkyMjcuLmZl ZDNjOGZkZmQyNSAxMDA2NDQNCi0tLSBhL21tL2thc2FuL3JlcG9ydC5jDQorKysgYi9tbS9rYXNh bi9yZXBvcnQuYw0KQEAgLTE2NCwyNiArMTY0LDYgQEAgc3RhdGljIHZvaWQgZGVzY3JpYmVfb2Jq ZWN0X2FkZHIoc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlLCB2b2lkICpvYmplY3QsDQogCQkodm9p ZCAqKShvYmplY3RfYWRkciArIGNhY2hlLT5vYmplY3Rfc2l6ZSkpOw0KIH0NCiANCi1zdGF0aWMg c3RydWN0IGthc2FuX3RyYWNrICprYXNhbl9nZXRfZnJlZV90cmFjayhzdHJ1Y3Qga21lbV9jYWNo ZSAqY2FjaGUsDQotCQl2b2lkICpvYmplY3QsIHU4IHRhZykNCi17DQotCXN0cnVjdCBrYXNhbl9h bGxvY19tZXRhICphbGxvY19tZXRhOw0KLQlpbnQgaSA9IDA7DQotDQotCWFsbG9jX21ldGEgPSBn ZXRfYWxsb2NfaW5mbyhjYWNoZSwgb2JqZWN0KTsNCi0NCi0jaWZkZWYgQ09ORklHX0tBU0FOX1NX X1RBR1NfSURFTlRJRlkNCi0JZm9yIChpID0gMDsgaSA8IEtBU0FOX05SX0ZSRUVfU1RBQ0tTOyBp KyspIHsNCi0JCWlmIChhbGxvY19tZXRhLT5mcmVlX3BvaW50ZXJfdGFnW2ldID09IHRhZykNCi0J CQlicmVhazsNCi0JfQ0KLQlpZiAoaSA9PSBLQVNBTl9OUl9GUkVFX1NUQUNLUykNCi0JCWkgPSBh bGxvY19tZXRhLT5mcmVlX3RyYWNrX2lkeDsNCi0jZW5kaWYNCi0NCi0JcmV0dXJuICZhbGxvY19t ZXRhLT5mcmVlX3RyYWNrW2ldOw0KLX0NCi0NCiBzdGF0aWMgdm9pZCBkZXNjcmliZV9vYmplY3Qo c3RydWN0IGttZW1fY2FjaGUgKmNhY2hlLCB2b2lkICpvYmplY3QsDQogCQkJCWNvbnN0IHZvaWQg KmFkZHIsIHU4IHRhZykNCiB7DQpAQCAtMTk1LDggKzE3NSwxMCBAQCBzdGF0aWMgdm9pZCBkZXNj cmliZV9vYmplY3Qoc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlLCB2b2lkICpvYmplY3QsDQogCQlw cmludF90cmFjaygmYWxsb2NfaW5mby0+YWxsb2NfdHJhY2ssICJBbGxvY2F0ZWQiKTsNCiAJCXBy X2VycigiXG4iKTsNCiAJCWZyZWVfdHJhY2sgPSBrYXNhbl9nZXRfZnJlZV90cmFjayhjYWNoZSwg b2JqZWN0LCB0YWcpOw0KLQkJcHJpbnRfdHJhY2soZnJlZV90cmFjaywgIkZyZWVkIik7DQotCQlw cl9lcnIoIlxuIik7DQorCQlpZiAoZnJlZV90cmFjaykgew0KKwkJCXByaW50X3RyYWNrKGZyZWVf dHJhY2ssICJGcmVlZCIpOw0KKwkJCXByX2VycigiXG4iKTsNCisJCX0NCiANCiAjaWZkZWYgQ09O RklHX0tBU0FOX0dFTkVSSUMNCiAJCWlmIChhbGxvY19pbmZvLT5hdXhfc3RhY2tbMF0pIHsNCmRp ZmYgLS1naXQgYS9tbS9rYXNhbi90YWdzLmMgYi9tbS9rYXNhbi90YWdzLmMNCmluZGV4IDI1Yjc3 MzRlNzAxMy4uMjAxZGVlNWQ2YWUwIDEwMDY0NA0KLS0tIGEvbW0va2FzYW4vdGFncy5jDQorKysg Yi9tbS9rYXNhbi90YWdzLmMNCkBAIC0xNjIsMyArMTYyLDQwIEBAIHZvaWQgX19od2FzYW5fdGFn X21lbW9yeSh1bnNpZ25lZCBsb25nIGFkZHIsIHU4IHRhZywgdW5zaWduZWQgbG9uZyBzaXplKQ0K IAlrYXNhbl9wb2lzb25fc2hhZG93KCh2b2lkICopYWRkciwgc2l6ZSwgdGFnKTsNCiB9DQogRVhQ T1JUX1NZTUJPTChfX2h3YXNhbl90YWdfbWVtb3J5KTsNCisNCit2b2lkIGthc2FuX3NldF9mcmVl X2luZm8oc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlLA0KKwkJCQl2b2lkICpvYmplY3QsIHU4IHRh ZykNCit7DQorCXN0cnVjdCBrYXNhbl9hbGxvY19tZXRhICphbGxvY19tZXRhOw0KKwl1OCBpZHgg PSAwOw0KKw0KKwlhbGxvY19tZXRhID0gZ2V0X2FsbG9jX2luZm8oY2FjaGUsIG9iamVjdCk7DQor DQorI2lmZGVmIENPTkZJR19LQVNBTl9TV19UQUdTX0lERU5USUZZDQorCWlkeCA9IGFsbG9jX21l dGEtPmZyZWVfdHJhY2tfaWR4Ow0KKwlhbGxvY19tZXRhLT5mcmVlX3BvaW50ZXJfdGFnW2lkeF0g PSB0YWc7DQorCWFsbG9jX21ldGEtPmZyZWVfdHJhY2tfaWR4ID0gKGlkeCArIDEpICUgS0FTQU5f TlJfRlJFRV9TVEFDS1M7DQorI2VuZGlmDQorDQorCWthc2FuX3NldF90cmFjaygmYWxsb2NfbWV0 YS0+ZnJlZV90cmFja1tpZHhdLCBHRlBfTk9XQUlUKTsNCit9DQorDQorc3RydWN0IGthc2FuX3Ry YWNrICprYXNhbl9nZXRfZnJlZV90cmFjayhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsDQorCQkJ CXZvaWQgKm9iamVjdCwgdTggdGFnKQ0KK3sNCisJc3RydWN0IGthc2FuX2FsbG9jX21ldGEgKmFs bG9jX21ldGE7DQorCWludCBpID0gMDsNCisNCisJYWxsb2NfbWV0YSA9IGdldF9hbGxvY19pbmZv KGNhY2hlLCBvYmplY3QpOw0KKw0KKyNpZmRlZiBDT05GSUdfS0FTQU5fU1dfVEFHU19JREVOVElG WQ0KKwlmb3IgKGkgPSAwOyBpIDwgS0FTQU5fTlJfRlJFRV9TVEFDS1M7IGkrKykgew0KKwkJaWYg KGFsbG9jX21ldGEtPmZyZWVfcG9pbnRlcl90YWdbaV0gPT0gdGFnKQ0KKwkJCWJyZWFrOw0KKwl9 DQorCWlmIChpID09IEtBU0FOX05SX0ZSRUVfU1RBQ0tTKQ0KKwkJaSA9IGFsbG9jX21ldGEtPmZy ZWVfdHJhY2tfaWR4Ow0KKyNlbmRpZg0KKw0KKwlyZXR1cm4gJmFsbG9jX21ldGEtPmZyZWVfdHJh Y2tbaV07DQorfQ0KLS0gDQoyLjE4LjANCg==