Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp1902057ybk; Thu, 21 May 2020 19:04:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxIw5V79+0Pn/ieWBu45kn2C5hJENqgOYRlMGYOmALNiQabHWeIaE+QCPIA25OEM9/33o1S X-Received: by 2002:a17:906:407:: with SMTP id d7mr6107231eja.46.1590113055699; Thu, 21 May 2020 19:04:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590113055; cv=none; d=google.com; s=arc-20160816; b=KLhn9+YWS12PCP8XFxv4IfvujteUWRqP4oQ3xTgKiYeZ1Pdw89bqNFglrOYxxiUED5 K5bAq6rZXl3NTWsDGNcJg6ybyWR8wJBexDpPemPsdODHCbAUmpHaYDitQE/QICD1pKHq U1qRoEjCQ4gmmQkA/0egIp/pVmYbkHu8YCWVKWaREgxoRUM7EIXg1LS+YJ0c0Y07BphB gclU7OqdvSajCxZy3YfiaupOQEBBQHFDU1atrN/U+1Gv+hgpGenWeVMCPSzh5l1X2SQj k9tYSb5nWAj08GUSS6/ArYLuvT0X/fj8PHYWhm1bmEStw6UUFoDpkm37FhghQvDQ4J9C UWVQ== 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=ygxU9L+teLE9h+8ckCc3XIvMVVxtE0J3NAV4/iqXpQ0=; b=cjbr2fph33wyzZb+hY8YKp4NNwMZ/lHJQPsUN9CM1tb7OGQvWyykDyplN7sO1NcwXj xuaFXeLCY299yNDBdTWQaMP4e+Rp/DUI+XyS0WiZboZEpatTeORNqDlufscbNthwwQhN 0QY+XVb8jIZrjqWXlYsYW6OBaAJMuvQ4QQAWdrYnkwmR+YGGu+goNYJkwfodORNppkcY NYOQ73nCsFotwQK5ZVKaYLIOgjxksAOIXa7ODc9ik34hxaqX/UHeAkqrZrRTdcN67Kxu L4BGl0zOYfOykC/2twPXN4suWEhbbdaqhLC9NmpRlPJBseR1q8rgdr7hL65gz5mzKBQ9 rj3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b="c0/Vqv2U"; 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 h14si4641230ejs.479.2020.05.21.19.03.52; Thu, 21 May 2020 19:04:15 -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="c0/Vqv2U"; 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 S1727908AbgEVCBh (ORCPT + 99 others); Thu, 21 May 2020 22:01:37 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:46754 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726335AbgEVCBg (ORCPT ); Thu, 21 May 2020 22:01:36 -0400 X-UUID: de79162e14814ce886e5b28c7a44c117-20200522 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=ygxU9L+teLE9h+8ckCc3XIvMVVxtE0J3NAV4/iqXpQ0=; b=c0/Vqv2UgSLNKfwITPIb/ysp7DgguXQuLk58OVyxxcpKMAVquidsDKTfAkt5ffCWm8cX2LpaDrZ7/Gl1uMO9F5J4vgBU6OAo9wekLlMWVH+bVQnUfhOvOg+/GjtF0uJozne4jSKfEJKgQ7FQZQkEli491WatH/bk8o2Ku57JAN8=; X-UUID: de79162e14814ce886e5b28c7a44c117-20200522 Received: from mtkcas11.mediatek.inc [(172.21.101.40)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1094467034; Fri, 22 May 2020 10:01:30 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs06n2.mediatek.inc (172.21.101.130) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 22 May 2020 10:01:27 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 22 May 2020 10:01:27 +0800 From: Walter Wu To: Andrey Ryabinin , Alexander Potapenko , Dmitry Vyukov CC: , , , , wsd_upstream , , Walter Wu Subject: [PATCH v6 2/4] kasan: record and print the free track Date: Fri, 22 May 2020 10:01:27 +0800 Message-ID: <20200522020127.23335-1-walter-zh.wu@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: C05555AF27A2F975019ED4F7F8AC95149C28085B11B06F35329B9402831811992000: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 TW92ZSBmcmVlIHRyYWNrIGZyb20ga2FzYW5fYWxsb2NfbWV0YSB0byBrYXNhbl9mcmVlX21ldGEg aW4gb3JkZXINCnRvIG1ha2Ugc3RydWN0IGthc2FuX2FsbG9jX21ldGEgYW5kIGthc2FuX2ZyZWVf bWV0YSBzaXplIGFyZSBib3RoDQoxNiBieXRlcy4gSXQgaXMgYSBnb29kIHNpemUgYmVjYXVzZSBp dCBpcyB0aGUgbWluaW1hbCByZWR6b25lIHNpemUNCmFuZCBhIGdvb2QgbnVtYmVyIG9mIGFsaWdu bWVudC4NCg0KRm9yIGZyZWUgdHJhY2ssIHdlIG1ha2Ugc29tZSBtb2RpZmljYXRpb25zIGFzIHNo b3duIGJlbG93Og0KMSkgUmVtb3ZlIHRoZSBmcmVlX3RyYWNrIGZyb20gc3RydWN0IGthc2FuX2Fs bG9jX21ldGEuDQoyKSBBZGQgdGhlIGZyZWVfdHJhY2sgaW50byBzdHJ1Y3Qga2FzYW5fZnJlZV9t ZXRhLg0KMykgQWRkIGEgbWFjcm8gS0FTQU5fS01BTExPQ19GUkVFVFJBQ0sgaW4gb3JkZXIgdG8g Y2hlY2sgd2hldGhlcg0KICAgaXQgY2FuIHByaW50IGZyZWUgc3RhY2sgaW4gS0FTQU4gcmVwb3J0 Lg0KDQpbMV1odHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODQz Nw0KDQpTaWduZWQtb2ZmLWJ5OiBXYWx0ZXIgV3UgPHdhbHRlci16aC53dUBtZWRpYXRlay5jb20+ DQpTdWdnZXN0ZWQtYnk6IERtaXRyeSBWeXVrb3YgPGR2eXVrb3ZAZ29vZ2xlLmNvbT4NCkNvLWRl dmVsb3BlZC1ieTogRG1pdHJ5IFZ5dWtvdiA8ZHZ5dWtvdkBnb29nbGUuY29tPg0KQ2M6IEFuZHJl eSBSeWFiaW5pbiA8YXJ5YWJpbmluQHZpcnR1b3p6by5jb20+DQpDYzogRG1pdHJ5IFZ5dWtvdiA8 ZHZ5dWtvdkBnb29nbGUuY29tPg0KQ2M6IEFsZXhhbmRlciBQb3RhcGVua28gPGdsaWRlckBnb29n bGUuY29tPg0KLS0tDQogbW0va2FzYW4vY29tbW9uLmMgICAgICAgICB8IDIyICsrLS0tLS0tLS0t LS0tLS0tLS0tLS0NCiBtbS9rYXNhbi9nZW5lcmljLmMgICAgICAgIHwgMjIgKysrKysrKysrKysr KysrKysrKysrKw0KIG1tL2thc2FuL2dlbmVyaWNfcmVwb3J0LmMgfCAgMSArDQogbW0va2FzYW4v a2FzYW4uaCAgICAgICAgICB8IDEzICsrKysrKysrKysrLS0NCiBtbS9rYXNhbi9xdWFyYW50aW5l LmMgICAgIHwgIDEgKw0KIG1tL2thc2FuL3JlcG9ydC5jICAgICAgICAgfCAyNiArKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KIG1tL2thc2FuL3RhZ3MuYyAgICAgICAgICAgfCAzNyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQogNyBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNl cnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL21tL2thc2FuL2NvbW1v bi5jIGIvbW0va2FzYW4vY29tbW9uLmMNCmluZGV4IDhiYzYxODI4OWJiMS4uNDdiNTM5MTJmMzIy IDEwMDY0NA0KLS0tIGEvbW0va2FzYW4vY29tbW9uLmMNCisrKyBiL21tL2thc2FuL2NvbW1vbi5j DQpAQCAtNTEsNyArNTEsNyBAQCBkZXBvdF9zdGFja19oYW5kbGVfdCBrYXNhbl9zYXZlX3N0YWNr KGdmcF90IGZsYWdzKQ0KIAlyZXR1cm4gc3RhY2tfZGVwb3Rfc2F2ZShlbnRyaWVzLCBucl9lbnRy aWVzLCBmbGFncyk7DQogfQ0KIA0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfdHJhY2soc3RydWN0 IGthc2FuX3RyYWNrICp0cmFjaywgZ2ZwX3QgZmxhZ3MpDQordm9pZCBrYXNhbl9zZXRfdHJhY2so c3RydWN0IGthc2FuX3RyYWNrICp0cmFjaywgZ2ZwX3QgZmxhZ3MpDQogew0KIAl0cmFjay0+cGlk ID0gY3VycmVudC0+cGlkOw0KIAl0cmFjay0+c3RhY2sgPSBrYXNhbl9zYXZlX3N0YWNrKGZsYWdz KTsNCkBAIC0yOTksMjQgKzI5OSw2IEBAIHN0cnVjdCBrYXNhbl9mcmVlX21ldGEgKmdldF9mcmVl X2luZm8oc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlLA0KIAlyZXR1cm4gKHZvaWQgKilvYmplY3Qg KyBjYWNoZS0+a2FzYW5faW5mby5mcmVlX21ldGFfb2Zmc2V0Ow0KIH0NCiANCi0NCi1zdGF0aWMg dm9pZCBrYXNhbl9zZXRfZnJlZV9pbmZvKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwNCi0JCXZv aWQgKm9iamVjdCwgdTggdGFnKQ0KLXsNCi0Jc3RydWN0IGthc2FuX2FsbG9jX21ldGEgKmFsbG9j X21ldGE7DQotCXU4IGlkeCA9IDA7DQotDQotCWFsbG9jX21ldGEgPSBnZXRfYWxsb2NfaW5mbyhj YWNoZSwgb2JqZWN0KTsNCi0NCi0jaWZkZWYgQ09ORklHX0tBU0FOX1NXX1RBR1NfSURFTlRJRlkN Ci0JaWR4ID0gYWxsb2NfbWV0YS0+ZnJlZV90cmFja19pZHg7DQotCWFsbG9jX21ldGEtPmZyZWVf cG9pbnRlcl90YWdbaWR4XSA9IHRhZzsNCi0JYWxsb2NfbWV0YS0+ZnJlZV90cmFja19pZHggPSAo aWR4ICsgMSkgJSBLQVNBTl9OUl9GUkVFX1NUQUNLUzsNCi0jZW5kaWYNCi0NCi0Jc2V0X3RyYWNr KCZhbGxvY19tZXRhLT5mcmVlX3RyYWNrW2lkeF0sIEdGUF9OT1dBSVQpOw0KLX0NCi0NCiB2b2lk IGthc2FuX3BvaXNvbl9zbGFiKHN0cnVjdCBwYWdlICpwYWdlKQ0KIHsNCiAJdW5zaWduZWQgbG9u ZyBpOw0KQEAgLTQ5Miw3ICs0NzQsNyBAQCBzdGF0aWMgdm9pZCAqX19rYXNhbl9rbWFsbG9jKHN0 cnVjdCBrbWVtX2NhY2hlICpjYWNoZSwgY29uc3Qgdm9pZCAqb2JqZWN0LA0KIAkJS0FTQU5fS01B TExPQ19SRURaT05FKTsNCiANCiAJaWYgKGNhY2hlLT5mbGFncyAmIFNMQUJfS0FTQU4pDQotCQlz ZXRfdHJhY2soJmdldF9hbGxvY19pbmZvKGNhY2hlLCBvYmplY3QpLT5hbGxvY190cmFjaywgZmxh Z3MpOw0KKwkJa2FzYW5fc2V0X3RyYWNrKCZnZXRfYWxsb2NfaW5mbyhjYWNoZSwgb2JqZWN0KS0+ YWxsb2NfdHJhY2ssIGZsYWdzKTsNCiANCiAJcmV0dXJuIHNldF90YWcob2JqZWN0LCB0YWcpOw0K IH0NCmRpZmYgLS1naXQgYS9tbS9rYXNhbi9nZW5lcmljLmMgYi9tbS9rYXNhbi9nZW5lcmljLmMN CmluZGV4IDhhY2Y0ODg4MmJhMi4uNGIzY2JhZDc0MzFiIDEwMDY0NA0KLS0tIGEvbW0va2FzYW4v Z2VuZXJpYy5jDQorKysgYi9tbS9rYXNhbi9nZW5lcmljLmMNCkBAIC0zNDYsMyArMzQ2LDI1IEBA IHZvaWQga2FzYW5fcmVjb3JkX2F1eF9zdGFjayh2b2lkICphZGRyKQ0KIAlhbGxvY19pbmZvLT5h dXhfc3RhY2tbMV0gPSBhbGxvY19pbmZvLT5hdXhfc3RhY2tbMF07DQogCWFsbG9jX2luZm8tPmF1 eF9zdGFja1swXSA9IGthc2FuX3NhdmVfc3RhY2soR0ZQX05PV0FJVCk7DQogfQ0KKw0KK3ZvaWQg a2FzYW5fc2V0X2ZyZWVfaW5mbyhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsDQorCQkJCXZvaWQg Km9iamVjdCwgdTggdGFnKQ0KK3sNCisJc3RydWN0IGthc2FuX2ZyZWVfbWV0YSAqZnJlZV9tZXRh Ow0KKw0KKwlmcmVlX21ldGEgPSBnZXRfZnJlZV9pbmZvKGNhY2hlLCBvYmplY3QpOw0KKwlrYXNh bl9zZXRfdHJhY2soJmZyZWVfbWV0YS0+ZnJlZV90cmFjaywgR0ZQX05PV0FJVCk7DQorDQorCS8q DQorCSAqICB0aGUgb2JqZWN0IHdhcyBmcmVlZCBhbmQgaGFzIGZyZWUgdHJhY2sgc2V0DQorCSAq Lw0KKwkqKHU4ICopa2FzYW5fbWVtX3RvX3NoYWRvdyhvYmplY3QpID0gS0FTQU5fS01BTExPQ19G UkVFVFJBQ0s7DQorfQ0KKw0KK3N0cnVjdCBrYXNhbl90cmFjayAqa2FzYW5fZ2V0X2ZyZWVfdHJh Y2soc3RydWN0IGttZW1fY2FjaGUgKmNhY2hlLA0KKwkJCQl2b2lkICpvYmplY3QsIHU4IHRhZykN Cit7DQorCWlmICgqKHU4ICopa2FzYW5fbWVtX3RvX3NoYWRvdyhvYmplY3QpICE9IEtBU0FOX0tN QUxMT0NfRlJFRVRSQUNLKQ0KKwkJcmV0dXJuIE5VTEw7DQorCXJldHVybiAmZ2V0X2ZyZWVfaW5m byhjYWNoZSwgb2JqZWN0KS0+ZnJlZV90cmFjazsNCit9DQpkaWZmIC0tZ2l0IGEvbW0va2FzYW4v Z2VuZXJpY19yZXBvcnQuYyBiL21tL2thc2FuL2dlbmVyaWNfcmVwb3J0LmMNCmluZGV4IGUyMDBh Y2IyZDI5Mi4uYTM4YzdhOWUxOTJhIDEwMDY0NA0KLS0tIGEvbW0va2FzYW4vZ2VuZXJpY19yZXBv cnQuYw0KKysrIGIvbW0va2FzYW4vZ2VuZXJpY19yZXBvcnQuYw0KQEAgLTgwLDYgKzgwLDcgQEAg c3RhdGljIGNvbnN0IGNoYXIgKmdldF9zaGFkb3dfYnVnX3R5cGUoc3RydWN0IGthc2FuX2FjY2Vz c19pbmZvICppbmZvKQ0KIAkJYnJlYWs7DQogCWNhc2UgS0FTQU5fRlJFRV9QQUdFOg0KIAljYXNl IEtBU0FOX0tNQUxMT0NfRlJFRToNCisJY2FzZSBLQVNBTl9LTUFMTE9DX0ZSRUVUUkFDSzoNCiAJ CWJ1Z190eXBlID0gInVzZS1hZnRlci1mcmVlIjsNCiAJCWJyZWFrOw0KIAljYXNlIEtBU0FOX0FM TE9DQV9MRUZUOg0KZGlmZiAtLWdpdCBhL21tL2thc2FuL2thc2FuLmggYi9tbS9rYXNhbi9rYXNh bi5oDQppbmRleCBhNzM5MWJjODMwNzAuLmVmNjU1YTFjNmUxNSAxMDA2NDQNCi0tLSBhL21tL2th c2FuL2thc2FuLmgNCisrKyBiL21tL2thc2FuL2thc2FuLmgNCkBAIC0xNywxNSArMTcsMTcgQEAN CiAjZGVmaW5lIEtBU0FOX1BBR0VfUkVEWk9ORSAgICAgIDB4RkUgIC8qIHJlZHpvbmUgZm9yIGtt YWxsb2NfbGFyZ2UgYWxsb2NhdGlvbnMgKi8NCiAjZGVmaW5lIEtBU0FOX0tNQUxMT0NfUkVEWk9O RSAgIDB4RkMgIC8qIHJlZHpvbmUgaW5zaWRlIHNsdWIgb2JqZWN0ICovDQogI2RlZmluZSBLQVNB Tl9LTUFMTE9DX0ZSRUUgICAgICAweEZCICAvKiBvYmplY3Qgd2FzIGZyZWVkIChrbWVtX2NhY2hl X2ZyZWUva2ZyZWUpICovDQorI2RlZmluZSBLQVNBTl9LTUFMTE9DX0ZSRUVUUkFDSyAweEZBICAv KiBvYmplY3Qgd2FzIGZyZWVkIGFuZCBoYXMgZnJlZSB0cmFjayBzZXQgKi8NCiAjZWxzZQ0KICNk ZWZpbmUgS0FTQU5fRlJFRV9QQUdFICAgICAgICAgS0FTQU5fVEFHX0lOVkFMSUQNCiAjZGVmaW5l IEtBU0FOX1BBR0VfUkVEWk9ORSAgICAgIEtBU0FOX1RBR19JTlZBTElEDQogI2RlZmluZSBLQVNB Tl9LTUFMTE9DX1JFRFpPTkUgICBLQVNBTl9UQUdfSU5WQUxJRA0KICNkZWZpbmUgS0FTQU5fS01B TExPQ19GUkVFICAgICAgS0FTQU5fVEFHX0lOVkFMSUQNCisjZGVmaW5lIEtBU0FOX0tNQUxMT0Nf RlJFRVRSQUNLIEtBU0FOX1RBR19JTlZBTElEDQogI2VuZGlmDQogDQotI2RlZmluZSBLQVNBTl9H TE9CQUxfUkVEWk9ORSAgICAweEZBICAvKiByZWR6b25lIGZvciBnbG9iYWwgdmFyaWFibGUgKi8N Ci0jZGVmaW5lIEtBU0FOX1ZNQUxMT0NfSU5WQUxJRCAgIDB4RjkgIC8qIHVuYWxsb2NhdGVkIHNw YWNlIGluIHZtYXBwZWQgcGFnZSAqLw0KKyNkZWZpbmUgS0FTQU5fR0xPQkFMX1JFRFpPTkUgICAg MHhGOSAgLyogcmVkem9uZSBmb3IgZ2xvYmFsIHZhcmlhYmxlICovDQorI2RlZmluZSBLQVNBTl9W TUFMTE9DX0lOVkFMSUQgICAweEY4ICAvKiB1bmFsbG9jYXRlZCBzcGFjZSBpbiB2bWFwcGVkIHBh Z2UgKi8NCiANCiAvKg0KICAqIFN0YWNrIHJlZHpvbmUgc2hhZG93IHZhbHVlcw0KQEAgLTEyNyw2 ICsxMjksOSBAQCBzdHJ1Y3Qga2FzYW5fZnJlZV9tZXRhIHsNCiAJICogT3RoZXJ3aXNlIGl0IG1p Z2h0IGJlIHVzZWQgZm9yIHRoZSBhbGxvY2F0b3IgZnJlZWxpc3QuDQogCSAqLw0KIAlzdHJ1Y3Qg cWxpc3Rfbm9kZSBxdWFyYW50aW5lX2xpbms7DQorI2lmZGVmIENPTkZJR19LQVNBTl9HRU5FUklD DQorCXN0cnVjdCBrYXNhbl90cmFjayBmcmVlX3RyYWNrOw0KKyNlbmRpZg0KIH07DQogDQogc3Ry dWN0IGthc2FuX2FsbG9jX21ldGEgKmdldF9hbGxvY19pbmZvKHN0cnVjdCBrbWVtX2NhY2hlICpj YWNoZSwNCkBAIC0xNjgsNiArMTczLDEwIEBAIHZvaWQga2FzYW5fcmVwb3J0X2ludmFsaWRfZnJl ZSh2b2lkICpvYmplY3QsIHVuc2lnbmVkIGxvbmcgaXApOw0KIHN0cnVjdCBwYWdlICprYXNhbl9h ZGRyX3RvX3BhZ2UoY29uc3Qgdm9pZCAqYWRkcik7DQogDQogZGVwb3Rfc3RhY2tfaGFuZGxlX3Qg a2FzYW5fc2F2ZV9zdGFjayhnZnBfdCBmbGFncyk7DQordm9pZCBrYXNhbl9zZXRfdHJhY2soc3Ry dWN0IGthc2FuX3RyYWNrICp0cmFjaywgZ2ZwX3QgZmxhZ3MpOw0KK3ZvaWQga2FzYW5fc2V0X2Zy ZWVfaW5mbyhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsIHZvaWQgKm9iamVjdCwgdTggdGFnKTsN CitzdHJ1Y3Qga2FzYW5fdHJhY2sgKmthc2FuX2dldF9mcmVlX3RyYWNrKHN0cnVjdCBrbWVtX2Nh Y2hlICpjYWNoZSwNCisJCQkJdm9pZCAqb2JqZWN0LCB1OCB0YWcpOw0KIA0KICNpZiBkZWZpbmVk KENPTkZJR19LQVNBTl9HRU5FUklDKSAmJiBcDQogCShkZWZpbmVkKENPTkZJR19TTEFCKSB8fCBk ZWZpbmVkKENPTkZJR19TTFVCKSkNCmRpZmYgLS1naXQgYS9tbS9rYXNhbi9xdWFyYW50aW5lLmMg Yi9tbS9rYXNhbi9xdWFyYW50aW5lLmMNCmluZGV4IDk3OGJjNGEzZWI1MS4uNGM1Mzc1ODEwNDQ5 IDEwMDY0NA0KLS0tIGEvbW0va2FzYW4vcXVhcmFudGluZS5jDQorKysgYi9tbS9rYXNhbi9xdWFy YW50aW5lLmMNCkBAIC0xNDUsNiArMTQ1LDcgQEAgc3RhdGljIHZvaWQgcWxpbmtfZnJlZShzdHJ1 Y3QgcWxpc3Rfbm9kZSAqcWxpbmssIHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZSkNCiAJaWYgKElT X0VOQUJMRUQoQ09ORklHX1NMQUIpKQ0KIAkJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOw0KIA0KKwkq KHU4ICopa2FzYW5fbWVtX3RvX3NoYWRvdyhvYmplY3QpID0gS0FTQU5fS01BTExPQ19GUkVFOw0K IAlfX19jYWNoZV9mcmVlKGNhY2hlLCBvYmplY3QsIF9USElTX0lQXyk7DQogDQogCWlmIChJU19F TkFCTEVEKENPTkZJR19TTEFCKSkNCmRpZmYgLS1naXQgYS9tbS9rYXNhbi9yZXBvcnQuYyBiL21t L2thc2FuL3JlcG9ydC5jDQppbmRleCAyNDIxYTRiZDkyMjcuLmZlZDNjOGZkZmQyNSAxMDA2NDQN Ci0tLSBhL21tL2thc2FuL3JlcG9ydC5jDQorKysgYi9tbS9rYXNhbi9yZXBvcnQuYw0KQEAgLTE2 NCwyNiArMTY0LDYgQEAgc3RhdGljIHZvaWQgZGVzY3JpYmVfb2JqZWN0X2FkZHIoc3RydWN0IGtt ZW1fY2FjaGUgKmNhY2hlLCB2b2lkICpvYmplY3QsDQogCQkodm9pZCAqKShvYmplY3RfYWRkciAr IGNhY2hlLT5vYmplY3Rfc2l6ZSkpOw0KIH0NCiANCi1zdGF0aWMgc3RydWN0IGthc2FuX3RyYWNr ICprYXNhbl9nZXRfZnJlZV90cmFjayhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsDQotCQl2b2lk ICpvYmplY3QsIHU4IHRhZykNCi17DQotCXN0cnVjdCBrYXNhbl9hbGxvY19tZXRhICphbGxvY19t ZXRhOw0KLQlpbnQgaSA9IDA7DQotDQotCWFsbG9jX21ldGEgPSBnZXRfYWxsb2NfaW5mbyhjYWNo ZSwgb2JqZWN0KTsNCi0NCi0jaWZkZWYgQ09ORklHX0tBU0FOX1NXX1RBR1NfSURFTlRJRlkNCi0J Zm9yIChpID0gMDsgaSA8IEtBU0FOX05SX0ZSRUVfU1RBQ0tTOyBpKyspIHsNCi0JCWlmIChhbGxv Y19tZXRhLT5mcmVlX3BvaW50ZXJfdGFnW2ldID09IHRhZykNCi0JCQlicmVhazsNCi0JfQ0KLQlp ZiAoaSA9PSBLQVNBTl9OUl9GUkVFX1NUQUNLUykNCi0JCWkgPSBhbGxvY19tZXRhLT5mcmVlX3Ry YWNrX2lkeDsNCi0jZW5kaWYNCi0NCi0JcmV0dXJuICZhbGxvY19tZXRhLT5mcmVlX3RyYWNrW2ld Ow0KLX0NCi0NCiBzdGF0aWMgdm9pZCBkZXNjcmliZV9vYmplY3Qoc3RydWN0IGttZW1fY2FjaGUg KmNhY2hlLCB2b2lkICpvYmplY3QsDQogCQkJCWNvbnN0IHZvaWQgKmFkZHIsIHU4IHRhZykNCiB7 DQpAQCAtMTk1LDggKzE3NSwxMCBAQCBzdGF0aWMgdm9pZCBkZXNjcmliZV9vYmplY3Qoc3RydWN0 IGttZW1fY2FjaGUgKmNhY2hlLCB2b2lkICpvYmplY3QsDQogCQlwcmludF90cmFjaygmYWxsb2Nf aW5mby0+YWxsb2NfdHJhY2ssICJBbGxvY2F0ZWQiKTsNCiAJCXByX2VycigiXG4iKTsNCiAJCWZy ZWVfdHJhY2sgPSBrYXNhbl9nZXRfZnJlZV90cmFjayhjYWNoZSwgb2JqZWN0LCB0YWcpOw0KLQkJ cHJpbnRfdHJhY2soZnJlZV90cmFjaywgIkZyZWVkIik7DQotCQlwcl9lcnIoIlxuIik7DQorCQlp ZiAoZnJlZV90cmFjaykgew0KKwkJCXByaW50X3RyYWNrKGZyZWVfdHJhY2ssICJGcmVlZCIpOw0K KwkJCXByX2VycigiXG4iKTsNCisJCX0NCiANCiAjaWZkZWYgQ09ORklHX0tBU0FOX0dFTkVSSUMN CiAJCWlmIChhbGxvY19pbmZvLT5hdXhfc3RhY2tbMF0pIHsNCmRpZmYgLS1naXQgYS9tbS9rYXNh bi90YWdzLmMgYi9tbS9rYXNhbi90YWdzLmMNCmluZGV4IDI1Yjc3MzRlNzAxMy4uMjAxZGVlNWQ2 YWUwIDEwMDY0NA0KLS0tIGEvbW0va2FzYW4vdGFncy5jDQorKysgYi9tbS9rYXNhbi90YWdzLmMN CkBAIC0xNjIsMyArMTYyLDQwIEBAIHZvaWQgX19od2FzYW5fdGFnX21lbW9yeSh1bnNpZ25lZCBs b25nIGFkZHIsIHU4IHRhZywgdW5zaWduZWQgbG9uZyBzaXplKQ0KIAlrYXNhbl9wb2lzb25fc2hh ZG93KCh2b2lkICopYWRkciwgc2l6ZSwgdGFnKTsNCiB9DQogRVhQT1JUX1NZTUJPTChfX2h3YXNh bl90YWdfbWVtb3J5KTsNCisNCit2b2lkIGthc2FuX3NldF9mcmVlX2luZm8oc3RydWN0IGttZW1f Y2FjaGUgKmNhY2hlLA0KKwkJCQl2b2lkICpvYmplY3QsIHU4IHRhZykNCit7DQorCXN0cnVjdCBr YXNhbl9hbGxvY19tZXRhICphbGxvY19tZXRhOw0KKwl1OCBpZHggPSAwOw0KKw0KKwlhbGxvY19t ZXRhID0gZ2V0X2FsbG9jX2luZm8oY2FjaGUsIG9iamVjdCk7DQorDQorI2lmZGVmIENPTkZJR19L QVNBTl9TV19UQUdTX0lERU5USUZZDQorCWlkeCA9IGFsbG9jX21ldGEtPmZyZWVfdHJhY2tfaWR4 Ow0KKwlhbGxvY19tZXRhLT5mcmVlX3BvaW50ZXJfdGFnW2lkeF0gPSB0YWc7DQorCWFsbG9jX21l dGEtPmZyZWVfdHJhY2tfaWR4ID0gKGlkeCArIDEpICUgS0FTQU5fTlJfRlJFRV9TVEFDS1M7DQor I2VuZGlmDQorDQorCWthc2FuX3NldF90cmFjaygmYWxsb2NfbWV0YS0+ZnJlZV90cmFja1tpZHhd LCBHRlBfTk9XQUlUKTsNCit9DQorDQorc3RydWN0IGthc2FuX3RyYWNrICprYXNhbl9nZXRfZnJl ZV90cmFjayhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGUsDQorCQkJCXZvaWQgKm9iamVjdCwgdTgg dGFnKQ0KK3sNCisJc3RydWN0IGthc2FuX2FsbG9jX21ldGEgKmFsbG9jX21ldGE7DQorCWludCBp ID0gMDsNCisNCisJYWxsb2NfbWV0YSA9IGdldF9hbGxvY19pbmZvKGNhY2hlLCBvYmplY3QpOw0K Kw0KKyNpZmRlZiBDT05GSUdfS0FTQU5fU1dfVEFHU19JREVOVElGWQ0KKwlmb3IgKGkgPSAwOyBp IDwgS0FTQU5fTlJfRlJFRV9TVEFDS1M7IGkrKykgew0KKwkJaWYgKGFsbG9jX21ldGEtPmZyZWVf cG9pbnRlcl90YWdbaV0gPT0gdGFnKQ0KKwkJCWJyZWFrOw0KKwl9DQorCWlmIChpID09IEtBU0FO X05SX0ZSRUVfU1RBQ0tTKQ0KKwkJaSA9IGFsbG9jX21ldGEtPmZyZWVfdHJhY2tfaWR4Ow0KKyNl bmRpZg0KKw0KKwlyZXR1cm4gJmFsbG9jX21ldGEtPmZyZWVfdHJhY2tbaV07DQorfQ0KLS0gDQoy LjE4LjANCg==