From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.2 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER,NICE_REPLY_A,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CB40FC4363A for ; Tue, 27 Oct 2020 09:48:07 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4DA3020759 for ; Tue, 27 Oct 2020 09:48:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="cgaMCrQv" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4DA3020759 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A5C6F6E1FB; Tue, 27 Oct 2020 09:48:06 +0000 (UTC) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-eopbgr760057.outbound.protection.outlook.com [40.107.76.57]) by gabe.freedesktop.org (Postfix) with ESMTPS id 740B76E1FB for ; Tue, 27 Oct 2020 09:48:05 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TYVm+rsCdNzGHg/BLpDBUZ6vHqstCe5kXnm4B2tjPDYjf6XXDVzkvHPtctoH+i0pagyq5by+bUA5phhmXYPo41+yaaRteANzQ5PclMWTEjE1SOnXSPWxp8osBoBjGkToDzJ5Mor2X4QCSqWrrMJyZxux0wnNr9Xip5VdFL6ReaYxRPEEkuBOeR/bxnELr3N0604V+2xU6q4Qg5DAbe9L6s4ahFd9etdFL666YozyujPg6lHAy22wpqBDkQyNKnd6CcWlYsewcOD1YA3RweouPr9XEfTeLkGdhUPykI8wqSjtoWtgggITubtiqeLOtsJ6C7TeD2TdXxY8GiusJe9Raw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DWu9S23Hhn0eAt0LsltWfoptrHxP6YDiBk9eYL2hvLk=; b=Jd9poMCar0DTDdzNg75HbaB7vHU4VllJSW0Hi6eGaQHL+Lm8pOLVyZkBJvOsNrE0/T5+Qt85DNsUoZfnCPYNMrapCj8/gyfZR4jSyyhXCeH42mWZL1Dj1Wb3J5Q18z5Wt1FKQdJb3deXO3TcEhoUYZ1/vmSFLn0Pa25Oz+ileXK0s1HoPVISK/BSrU+/WB+qWc6m9QB/9g09/yDCxpXPu5G6+5z6u/GhKKZ56JcHYPp9oaoo4NwQwnDeM+SJ68EG8RGhpfkgLjngXEmt5lNiKaMC5lvu4C+OAMhWVPjQ4TN4N722BOZ7HWXgfE93LOfWa+o9y70FvRfSRGgrKHwstg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DWu9S23Hhn0eAt0LsltWfoptrHxP6YDiBk9eYL2hvLk=; b=cgaMCrQv6BfRtr9wWzpYlihIhi/l+Ec3ftlw4YHDZGc5Z13+0rhRrK1plfepXLALVoR2qlLeQBFgtO5FXJp66BKD94elvgh/BiaW37sMkcrWJ5J5nl/7i3fc/pY6lQ+jAvN5pTebhS/WBQLaTStxKO191xiUe4VkO+JOEISkYq8= Authentication-Results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=amd.com; Received: from MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) by BL0PR12MB2355.namprd12.prod.outlook.com (2603:10b6:207:3f::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.18; Tue, 27 Oct 2020 09:48:04 +0000 Received: from MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::f8f7:7403:1c92:3a60]) by MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::f8f7:7403:1c92:3a60%6]) with mapi id 15.20.3477.028; Tue, 27 Oct 2020 09:48:03 +0000 Subject: Re: [PATCH 3/3] drm/amdgpu: fix the issue of reserving bad pages failed To: Dennis Li , amd-gfx@lists.freedesktop.org, Alexander.Deucher@amd.com, felix.kuehling@amd.com, Hawking.Zhang@amd.com References: <20201027090509.3653-1-Dennis.Li@amd.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <449edea9-a8fb-155a-f7ee-eb7ca0ad0498@amd.com> Date: Tue, 27 Oct 2020 10:47:58 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: <20201027090509.3653-1-Dennis.Li@amd.com> Content-Language: en-US X-Originating-IP: [2a02:908:1252:fb60:be8a:bd56:1f94:86e7] X-ClientProxiedBy: AM0PR01CA0097.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::38) To MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2a02:908:1252:fb60:be8a:bd56:1f94:86e7] (2a02:908:1252:fb60:be8a:bd56:1f94:86e7) by AM0PR01CA0097.eurprd01.prod.exchangelabs.com (2603:10a6:208:10e::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.18 via Frontend Transport; Tue, 27 Oct 2020 09:48:02 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d4f552f0-f687-480e-da34-08d87a5d6603 X-MS-TrafficTypeDiagnostic: BL0PR12MB2355: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Pp2bffABuspDmr2JNAKlZErDx3lDcZrck85jJDqvPLuKc/lmvjbkABvkJEcfGd8qyhBUJHWFKm3iI3PSDs3t73ZWMXX3SUk2a5L+IcmSIIT8yXEEpxVJDcIwTVvNCcZ5Sy33HLONZpT2J3aQ9T0UT6N+2wFtp7dFAB9dUnmrwWHV8VkW2QD/Bum0oFIFubMTx7vR8bVZ3ELlTMZQseAXw4mJGxYs5gXLGVPY1eTmYH0+Mz25Y+RtSaY534EWgzKZMt5pN2qMn/dHioxS4xadkY+oZuuT07uhFoTm1Wb5xjytQGpPi4HGz/7eVhETwUzsAt/kt5tmKABHXkfPgumba8kTie/5cx1IdiHUXK3FuhCH4/h0XA/bAFBRdnzFYY1O X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3775.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(376002)(39860400002)(346002)(366004)(396003)(66946007)(6486002)(2906002)(86362001)(16526019)(8936002)(8676002)(31696002)(36756003)(186003)(4326008)(6636002)(52116002)(316002)(2616005)(6666004)(478600001)(5660300002)(66476007)(66556008)(30864003)(31686004)(83380400001)(66574015)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: Sz6u4cLlLhU2EA03sVuXI7/ESQEGw3qrlMaisMEUvOIyHjVyp9mbLrCngO7hQboFyToRlyDveumHBwWXHDU0HGuih2qyLoISXFXjTFLhPTNvJHPwlE3iOmG6HRtO17XNqhiPeN6sfhhNDu41tcKI5Gl4PQxP0piv74l2/9KJa4T108TxG2/mQ7YP/FzQ2KJajp95x37bdRkfiDZtHDVHMQx0zZGm2OqMxEbgwa6y0bNvRP1uDM4sufHzARvVDgvYnptyCgriG11Owdt0j8QesK/bY1LssxVy8DDailqOjU8uySYj+mQmBunQ4KcDM8AnP2O70iLPHOL/JFaCC1I9j+8V0+88w6UI45Q4Z1Xc+BrCkQjZQRMbabUgynbENJQfQp6X9iWcC0fnPC8DS93nruG/kP66yYlM0mgfy5LptORNX9qhSoF7KwPE4iefxJ6ANKZezpIIwL/3MQDD8k+QTQPvaCOXfJrtnDAIlo3vNZcNCSDc2wpHVqybhVAlfatJPBxXII4JHAvSMYtpI+/6wIOKgOXnvt0pi/jaozdSkdIi7OqCAhhbQCV7w0OeGTqa3z6F5Zm4k9Evqd/FSYE+jN2rkApHCiBy90Yl2x84Lr3Y1r+ysYuegfsg5tKCiwQ4xMwXcm3n9UW80LoMEOspeeBcp0wViF5C/kKPOmjYK2tLxw/3OM/GuwNdVgm/0GilZ9eKuW/rtmCbhJgIKeRKJA== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: d4f552f0-f687-480e-da34-08d87a5d6603 X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3775.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2020 09:48:03.7319 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: bpGQFeWbrmwtySHBfRh5YEAuV8l/Dkme28FTdEtJHdj9XNf8eNoRBvY5IEYzX6fq X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB2355 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Wenhui Sheng Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" QW0gMjcuMTAuMjAgdW0gMTA6MDUgc2NocmllYiBEZW5uaXMgTGk6Cj4gSW4gYW1kZ3B1X3Jhc19y ZXNldF9ncHUsIGJlY2F1c2UgYmFkIHBhZ2VzIG1heSBub3QgYmUgZnJlZWQsCj4gaXQgaGFzIGhp Z2ggcHJvYmFiaWxpdHkgdG8gcmVzZXJ2ZSBiYWQgcGFnZXMgZmFpbGVkLgo+Cj4gQ2hhbmdlIHRv IHJlc2VydmUgYmFkIHBhZ2VzIHdoZW4gZnJlZWluZyBWUkFNLgo+Cj4gdjI6Cj4gMS4gYXZvaWQg YWxsb2NhdGluZyB0aGUgZHJtX21tIG5vZGUgb3V0c2lkZSBvZiBhbWRncHVfdnJhbV9tZ3IuYwo+ IDIuIG1vdmUgYmFkIHBhZ2UgcmVzZXJ2aW5nIGludG8gYW1kZ3B1X3Jhc19hZGRfYmFkX3BhZ2Vz LCBpZiB2cmFtIG1ncgo+ICAgICByZXNlcnZlIGJhZCBwYWdlIGZhaWxlZCwgaXQgd2lsbCBwdXQg aXQgaW50byBwZW5kaW5nIGxpc3QsIG90aGVyd2lzZQo+ICAgICBwdXQgaXQgaW50byBwcm9jZXNz ZWQgbGlzdDsKPiAzLiByZW1vdmUgYW1kZ3B1X3Jhc19yZWxlYXNlX2JhZF9wYWdlcywgYmVjYXVz ZSByZXRpcmVkIHBhZ2UncyBpbmZvIGhhcwo+ICAgICBiZWVuIG1vdmVkIGludG8gYW1kZ3B1X3Zy YW1fbWdyCj4KPiB2MzoKPiAxLiBmb3JtYXRlIGNvZGUgc3R5bGU7Cj4gMi4gcmVuYW1lIGFtZGdw dV92cmFtX3Jlc2VydmVfc2NvcGUgYXMgYW1kZ3B1X3ZyYW1fcmVzZXJ2YXRpb247Cj4gMy4gcmVu YW1lIHNjb3BlX3BlbmRpbmcgYXMgcmVzZXJ2YXRpb25zX3BlbmRpbmc7Cj4gNC4gcmVuYW1lIHNj b3BlX3Byb2Nlc3NlZCBhcyByZXNlcnZlZF9wYWdlczsKPiA1LiBjaGFuZ2UgdG8gaXRlcmF0ZSBv dmVyIGFsbCB0aGUgcGVuZGluZyBvbmVzIGFuZCB0cnkgdG8gaW5zZXJ0IHRoZW0KPiAgICAgd2l0 aCBkcm1fbW1fcmVzZXJ2ZV9ub2RlKCk7Cj4KPiB2NDoKPiAxLiByZW5hbWUgYW1kZ3B1X3ZyYW1f bWdyX3Jlc2VydmVfc2NvcGUgYXMKPiBhbWRncHVfdnJhbV9tZ3JfcmVzZXJ2ZV9yYW5nZTsKPiAy LiByZW1vdmUgdW51c2VkIGluY2x1ZGUgImFtZGdwdV9yYXMuaCI7Cj4gMy4gcmVuYW1lIGFtZGdw dV92cmFtX21ncl9jaGVja19hbmRfcmVzZXJ2ZSBhcwo+IGFtZGdwdV92cmFtX21ncl9kb19yZXNl cnZlOwo+IDQuIHJlZmluZSBhbWRncHVfdnJhbV9tZ3JfcmVzZXJ2ZV9yYW5nZSB0byBjYWxsCj4g YW1kZ3B1X3ZyYW1fbWdyX2RvX3Jlc2VydmUuCj4KPiBTaWduZWQtb2ZmLWJ5OiBEZW5uaXMgTGkg PERlbm5pcy5MaUBhbWQuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFdlbmh1aSBTaGVuZyA8V2VuaHVp LlNoZW5nQGFtZC5jb20+CgpJIGRvbid0IGtub3cgdGhlIFJBUyBjb2RlIHZlbGwgZW5vdWdoIHRv IGp1ZGdlLCBidXQgYXQgbGVhc3QgdGhlIAp2cmFtX21nciBwYXJ0IGlzIFJldmlld2VkLWJ5OiBD aHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cgo+IC0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jhcy5jICAgICAgfCAxNTAgKysrKystLS0t LS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jhcy5oICAg ICAgfCAgIDggLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5oICAg ICAgfCAgIDQgKwo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZyYW1fbWdy LmMgfCAxMTUgKysrKysrKysrKysrKysKPiAgIDQgZmlsZXMgY2hhbmdlZCwgMTU4IGluc2VydGlv bnMoKyksIDExOSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfcmFzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfcmFzLmMKPiBpbmRleCAwZjU3YTAwMDNkZjYuLjg0YmI1NWFiNmFjNSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmFzLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmFzLmMKPiBAQCAtODAsNiArODAsOCBAQCBlbnVt IGFtZGdwdV9yYXNfcmV0aXJlX3BhZ2VfcmVzZXJ2YXRpb24gewo+ICAgCj4gICBhdG9taWNfdCBh bWRncHVfcmFzX2luX2ludHIgPSBBVE9NSUNfSU5JVCgwKTsKPiAgIAo+ICtzdGF0aWMgYm9vbCBh bWRncHVfcmFzX2NoZWNrX2JhZF9wYWdlX3VubG9jayhzdHJ1Y3QgYW1kZ3B1X3JhcyAqY29uLAo+ ICsJCQkJdWludDY0X3QgYWRkcik7Cj4gICBzdGF0aWMgYm9vbCBhbWRncHVfcmFzX2NoZWNrX2Jh ZF9wYWdlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgCQkJCXVpbnQ2NF90IGFkZHIp Owo+ICAgCj4gQEAgLTE1NzMsMTAgKzE1NzUsMTIgQEAgc3RhdGljIGludCBhbWRncHVfcmFzX2Jh ZHBhZ2VzX3JlYWQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJCQkuc2l6ZSA9IEFN REdQVV9HUFVfUEFHRV9TSVpFLAo+ICAgCQkJLmZsYWdzID0gQU1ER1BVX1JBU19SRVRJUkVfUEFH RV9SRVNFUlZFRCwKPiAgIAkJfTsKPiAtCj4gLQkJaWYgKGRhdGEtPmxhc3RfcmVzZXJ2ZWQgPD0g aSkKPiArCQlyZXQgPSBhbWRncHVfdnJhbV9tZ3JfcXVlcnlfcGFnZV9zdGF0dXMoCj4gKwkJCQkm YWRldi0+bW1hbi5iZGV2Lm1hbltUVE1fUExfVlJBTV0sCj4gKwkJCQlkYXRhLT5icHNbaV0ucmV0 aXJlZF9wYWdlKTsKPiArCQlpZiAocmV0ID09IC1FQlVTWSkKPiAgIAkJCSgqYnBzKVtpXS5mbGFn cyA9IEFNREdQVV9SQVNfUkVUSVJFX1BBR0VfUEVORElORzsKPiAtCQllbHNlIGlmIChkYXRhLT5i cHNfYm9baV0gPT0gTlVMTCkKPiArCQllbHNlIGlmIChyZXQgPT0gLUVOT0VOVCkKPiAgIAkJCSgq YnBzKVtpXS5mbGFncyA9IEFNREdQVV9SQVNfUkVUSVJFX1BBR0VfRkFVTFQ7Cj4gICAJfQo+ICAg Cj4gQEAgLTE2MjgsMTIgKzE2MzIsOSBAQCBzdGF0aWMgaW50IGFtZGdwdV9yYXNfcmVhbGxvY19l aF9kYXRhX3NwYWNlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgCXVuc2lnbmVkIGlu dCBuZXdfc3BhY2UgPSBvbGRfc3BhY2UgKyBwYWdlczsKPiAgIAl1bnNpZ25lZCBpbnQgYWxpZ25f c3BhY2UgPSBBTElHTihuZXdfc3BhY2UsIDUxMik7Cj4gICAJdm9pZCAqYnBzID0ga21hbGxvYyhh bGlnbl9zcGFjZSAqIHNpemVvZigqZGF0YS0+YnBzKSwgR0ZQX0tFUk5FTCk7Cj4gLQlzdHJ1Y3Qg YW1kZ3B1X2JvICoqYnBzX2JvID0KPiAtCQkJa21hbGxvYyhhbGlnbl9zcGFjZSAqIHNpemVvZigq ZGF0YS0+YnBzX2JvKSwgR0ZQX0tFUk5FTCk7Cj4gICAKPiAtCWlmICghYnBzIHx8ICFicHNfYm8p IHsKPiArCWlmICghYnBzKSB7Cj4gICAJCWtmcmVlKGJwcyk7Cj4gLQkJa2ZyZWUoYnBzX2JvKTsK PiAgIAkJcmV0dXJuIC1FTk9NRU07Cj4gICAJfQo+ICAgCj4gQEAgLTE2NDIsMTQgKzE2NDMsOCBA QCBzdGF0aWMgaW50IGFtZGdwdV9yYXNfcmVhbGxvY19laF9kYXRhX3NwYWNlKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LAo+ICAgCQkJCWRhdGEtPmNvdW50ICogc2l6ZW9mKCpkYXRhLT5icHMp KTsKPiAgIAkJa2ZyZWUoZGF0YS0+YnBzKTsKPiAgIAl9Cj4gLQlpZiAoZGF0YS0+YnBzX2JvKSB7 Cj4gLQkJbWVtY3B5KGJwc19ibywgZGF0YS0+YnBzX2JvLAo+IC0JCQkJZGF0YS0+Y291bnQgKiBz aXplb2YoKmRhdGEtPmJwc19ibykpOwo+IC0JCWtmcmVlKGRhdGEtPmJwc19ibyk7Cj4gLQl9Cj4g ICAKPiAgIAlkYXRhLT5icHMgPSBicHM7Cj4gLQlkYXRhLT5icHNfYm8gPSBicHNfYm87Cj4gICAJ ZGF0YS0+c3BhY2VfbGVmdCArPSBhbGlnbl9zcGFjZSAtIG9sZF9zcGFjZTsKPiAgIAlyZXR1cm4g MDsKPiAgIH0KPiBAQCAtMTY2MSw2ICsxNjU2LDcgQEAgaW50IGFtZGdwdV9yYXNfYWRkX2JhZF9w YWdlcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIAlzdHJ1Y3QgYW1kZ3B1X3JhcyAq Y29uID0gYW1kZ3B1X3Jhc19nZXRfY29udGV4dChhZGV2KTsKPiAgIAlzdHJ1Y3QgcmFzX2Vycl9o YW5kbGVyX2RhdGEgKmRhdGE7Cj4gICAJaW50IHJldCA9IDA7Cj4gKwl1aW50MzJfdCBpOwo+ICAg Cj4gICAJaWYgKCFjb24gfHwgIWNvbi0+ZWhfZGF0YSB8fCAhYnBzIHx8IHBhZ2VzIDw9IDApCj4g ICAJCXJldHVybiAwOwo+IEBAIC0xNjcwLDE2ICsxNjY2LDI2IEBAIGludCBhbWRncHVfcmFzX2Fk ZF9iYWRfcGFnZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJaWYgKCFkYXRhKQo+ ICAgCQlnb3RvIG91dDsKPiAgIAo+IC0JaWYgKGRhdGEtPnNwYWNlX2xlZnQgPD0gcGFnZXMpCj4g LQkJaWYgKGFtZGdwdV9yYXNfcmVhbGxvY19laF9kYXRhX3NwYWNlKGFkZXYsIGRhdGEsIHBhZ2Vz KSkgewo+ICsJZm9yIChpID0gMDsgaSA8IHBhZ2VzOyBpKyspIHsKPiArCQlpZiAoYW1kZ3B1X3Jh c19jaGVja19iYWRfcGFnZV91bmxvY2soY29uLAo+ICsJCQlicHNbaV0ucmV0aXJlZF9wYWdlIDw8 IEFNREdQVV9HUFVfUEFHRV9TSElGVCkpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlpZiAoIWRh dGEtPnNwYWNlX2xlZnQgJiYKPiArCQkJYW1kZ3B1X3Jhc19yZWFsbG9jX2VoX2RhdGFfc3BhY2Uo YWRldiwgZGF0YSwgMjU2KSkgewo+ICAgCQkJcmV0ID0gLUVOT01FTTsKPiAgIAkJCWdvdG8gb3V0 Owo+ICAgCQl9Cj4gICAKPiAtCW1lbWNweSgmZGF0YS0+YnBzW2RhdGEtPmNvdW50XSwgYnBzLCBw YWdlcyAqIHNpemVvZigqZGF0YS0+YnBzKSk7Cj4gLQlkYXRhLT5jb3VudCArPSBwYWdlczsKPiAt CWRhdGEtPnNwYWNlX2xlZnQgLT0gcGFnZXM7Cj4gKwkJYW1kZ3B1X3ZyYW1fbWdyX3Jlc2VydmVf cmFuZ2UoCj4gKwkJCSZhZGV2LT5tbWFuLmJkZXYubWFuW1RUTV9QTF9WUkFNXSwKPiArCQkJYnBz W2ldLnJldGlyZWRfcGFnZSA8PCBBTURHUFVfR1BVX1BBR0VfU0hJRlQsCj4gKwkJCUFNREdQVV9H UFVfUEFHRV9TSVpFKTsKPiAgIAo+ICsJCW1lbWNweSgmZGF0YS0+YnBzW2RhdGEtPmNvdW50XSwg JmJwc1tpXSwgc2l6ZW9mKCpkYXRhLT5icHMpKTsKPiArCQlkYXRhLT5jb3VudCsrOwo+ICsJCWRh dGEtPnNwYWNlX2xlZnQtLTsKPiArCX0KPiAgIG91dDoKPiAgIAltdXRleF91bmxvY2soJmNvbi0+ cmVjb3ZlcnlfbG9jayk7Cj4gICAKPiBAQCAtMTc1Miw2ICsxNzU4LDIwIEBAIHN0YXRpYyBpbnQg YW1kZ3B1X3Jhc19sb2FkX2JhZF9wYWdlcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAg IAlyZXR1cm4gcmV0Owo+ICAgfQo+ICAgCj4gK3N0YXRpYyBib29sIGFtZGdwdV9yYXNfY2hlY2tf YmFkX3BhZ2VfdW5sb2NrKHN0cnVjdCBhbWRncHVfcmFzICpjb24sCj4gKwkJCQl1aW50NjRfdCBh ZGRyKQo+ICt7Cj4gKwlzdHJ1Y3QgcmFzX2Vycl9oYW5kbGVyX2RhdGEgKmRhdGEgPSBjb24tPmVo X2RhdGE7Cj4gKwlpbnQgaTsKPiArCj4gKwlhZGRyID4+PSBBTURHUFVfR1BVX1BBR0VfU0hJRlQ7 Cj4gKwlmb3IgKGkgPSAwOyBpIDwgZGF0YS0+Y291bnQ7IGkrKykKPiArCQlpZiAoYWRkciA9PSBk YXRhLT5icHNbaV0ucmV0aXJlZF9wYWdlKQo+ICsJCQlyZXR1cm4gdHJ1ZTsKPiArCj4gKwlyZXR1 cm4gZmFsc2U7Cj4gK30KPiArCj4gICAvKgo+ICAgICogY2hlY2sgaWYgYW4gYWRkcmVzcyBiZWxv bmdzIHRvIGJhZCBwYWdlCj4gICAgKgo+IEBAIC0xNzYxLDI2ICsxNzgxLDEzIEBAIHN0YXRpYyBi b29sIGFtZGdwdV9yYXNfY2hlY2tfYmFkX3BhZ2Uoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs Cj4gICAJCQkJdWludDY0X3QgYWRkcikKPiAgIHsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X3JhcyAqY29u ID0gYW1kZ3B1X3Jhc19nZXRfY29udGV4dChhZGV2KTsKPiAtCXN0cnVjdCByYXNfZXJyX2hhbmRs ZXJfZGF0YSAqZGF0YTsKPiAtCWludCBpOwo+ICAgCWJvb2wgcmV0ID0gZmFsc2U7Cj4gICAKPiAg IAlpZiAoIWNvbiB8fCAhY29uLT5laF9kYXRhKQo+ICAgCQlyZXR1cm4gcmV0Owo+ICAgCj4gICAJ bXV0ZXhfbG9jaygmY29uLT5yZWNvdmVyeV9sb2NrKTsKPiAtCWRhdGEgPSBjb24tPmVoX2RhdGE7 Cj4gLQlpZiAoIWRhdGEpCj4gLQkJZ290byBvdXQ7Cj4gLQo+IC0JYWRkciA+Pj0gQU1ER1BVX0dQ VV9QQUdFX1NISUZUOwo+IC0JZm9yIChpID0gMDsgaSA8IGRhdGEtPmNvdW50OyBpKyspCj4gLQkJ aWYgKGFkZHIgPT0gZGF0YS0+YnBzW2ldLnJldGlyZWRfcGFnZSkgewo+IC0JCQlyZXQgPSB0cnVl Owo+IC0JCQlnb3RvIG91dDsKPiAtCQl9Cj4gLQo+IC1vdXQ6Cj4gKwlyZXQgPSBhbWRncHVfcmFz X2NoZWNrX2JhZF9wYWdlX3VubG9jayhjb24sIGFkZHIpOwo+ICAgCW11dGV4X3VubG9jaygmY29u LT5yZWNvdmVyeV9sb2NrKTsKPiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+IEBAIC0xODI2LDc3ICsx ODMzLDYgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X3Jhc192YWxpZGF0ZV90aHJlc2hvbGQoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJfQo+ICAgfQo+ICAgCj4gLS8qIGNhbGxlZCBpbiBn cHUgcmVjb3ZlcnkvaW5pdCAqLwo+IC1pbnQgYW1kZ3B1X3Jhc19yZXNlcnZlX2JhZF9wYWdlcyhz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAtewo+IC0Jc3RydWN0IGFtZGdwdV9yYXMgKmNv biA9IGFtZGdwdV9yYXNfZ2V0X2NvbnRleHQoYWRldik7Cj4gLQlzdHJ1Y3QgcmFzX2Vycl9oYW5k bGVyX2RhdGEgKmRhdGE7Cj4gLQl1aW50NjRfdCBicDsKPiAtCXN0cnVjdCBhbWRncHVfYm8gKmJv ID0gTlVMTDsKPiAtCWludCBpLCByZXQgPSAwOwo+IC0KPiAtCS8qIE5vdCByZXNlcnZlIGJhZCBw YWdlIHdoZW4gYW1kZ3B1X2JhZF9wYWdlX3RocmVzaG9sZCA9PSAwLiAqLwo+IC0JaWYgKCFjb24g fHwgIWNvbi0+ZWhfZGF0YSB8fCAoYW1kZ3B1X2JhZF9wYWdlX3RocmVzaG9sZCA9PSAwKSkKPiAt CQlyZXR1cm4gMDsKPiAtCj4gLQltdXRleF9sb2NrKCZjb24tPnJlY292ZXJ5X2xvY2spOwo+IC0J ZGF0YSA9IGNvbi0+ZWhfZGF0YTsKPiAtCWlmICghZGF0YSkKPiAtCQlnb3RvIG91dDsKPiAtCS8q IHJlc2VydmUgdnJhbSBhdCBkcml2ZXIgcG9zdCBzdGFnZS4gKi8KPiAtCWZvciAoaSA9IGRhdGEt Pmxhc3RfcmVzZXJ2ZWQ7IGkgPCBkYXRhLT5jb3VudDsgaSsrKSB7Cj4gLQkJYnAgPSBkYXRhLT5i cHNbaV0ucmV0aXJlZF9wYWdlOwo+IC0KPiAtCQkvKiBUaGVyZSBhcmUgdHdvIGNhc2VzIG9mIHJl c2VydmUgZXJyb3Igc2hvdWxkIGJlIGlnbm9yZWQ6Cj4gLQkJICogMSkgYSByYXMgYmFkIHBhZ2Ug aGFzIGJlZW4gYWxsb2NhdGVkICh1c2VkIGJ5IHNvbWVvbmUpOwo+IC0JCSAqIDIpIGEgcmFzIGJh ZCBwYWdlIGhhcyBiZWVuIHJlc2VydmVkIChkdXBsaWNhdGUgZXJyb3IgaW5qZWN0aW9uCj4gLQkJ ICogICAgZm9yIG9uZSBwYWdlKTsKPiAtCQkgKi8KPiAtCQlpZiAoYW1kZ3B1X2JvX2NyZWF0ZV9r ZXJuZWxfYXQoYWRldiwgYnAgPDwgQU1ER1BVX0dQVV9QQUdFX1NISUZULAo+IC0JCQkJCSAgICAg ICBBTURHUFVfR1BVX1BBR0VfU0laRSwKPiAtCQkJCQkgICAgICAgQU1ER1BVX0dFTV9ET01BSU5f VlJBTSwKPiAtCQkJCQkgICAgICAgJmJvLCBOVUxMKSkKPiAtCQkJZGV2X3dhcm4oYWRldi0+ZGV2 LCAiUkFTIFdBUk46IHJlc2VydmUgdnJhbSBmb3IgIgo+IC0JCQkJCSJyZXRpcmVkIHBhZ2UgJWxs eCBmYWlsXG4iLCBicCk7Cj4gLQo+IC0JCWRhdGEtPmJwc19ib1tpXSA9IGJvOwo+IC0JCWRhdGEt Pmxhc3RfcmVzZXJ2ZWQgPSBpICsgMTsKPiAtCQlibyA9IE5VTEw7Cj4gLQl9Cj4gLW91dDoKPiAt CW11dGV4X3VubG9jaygmY29uLT5yZWNvdmVyeV9sb2NrKTsKPiAtCXJldHVybiByZXQ7Cj4gLX0K PiAtCj4gLS8qIGNhbGxlZCB3aGVuIGRyaXZlciB1bmxvYWQgKi8KPiAtc3RhdGljIGludCBhbWRn cHVfcmFzX3JlbGVhc2VfYmFkX3BhZ2VzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+IC17 Cj4gLQlzdHJ1Y3QgYW1kZ3B1X3JhcyAqY29uID0gYW1kZ3B1X3Jhc19nZXRfY29udGV4dChhZGV2 KTsKPiAtCXN0cnVjdCByYXNfZXJyX2hhbmRsZXJfZGF0YSAqZGF0YTsKPiAtCXN0cnVjdCBhbWRn cHVfYm8gKmJvOwo+IC0JaW50IGk7Cj4gLQo+IC0JaWYgKCFjb24gfHwgIWNvbi0+ZWhfZGF0YSkK PiAtCQlyZXR1cm4gMDsKPiAtCj4gLQltdXRleF9sb2NrKCZjb24tPnJlY292ZXJ5X2xvY2spOwo+ IC0JZGF0YSA9IGNvbi0+ZWhfZGF0YTsKPiAtCWlmICghZGF0YSkKPiAtCQlnb3RvIG91dDsKPiAt Cj4gLQlmb3IgKGkgPSBkYXRhLT5sYXN0X3Jlc2VydmVkIC0gMTsgaSA+PSAwOyBpLS0pIHsKPiAt CQlibyA9IGRhdGEtPmJwc19ib1tpXTsKPiAtCj4gLQkJYW1kZ3B1X2JvX2ZyZWVfa2VybmVsKCZi bywgTlVMTCwgTlVMTCk7Cj4gLQo+IC0JCWRhdGEtPmJwc19ib1tpXSA9IGJvOwo+IC0JCWRhdGEt Pmxhc3RfcmVzZXJ2ZWQgPSBpOwo+IC0JfQo+IC1vdXQ6Cj4gLQltdXRleF91bmxvY2soJmNvbi0+ cmVjb3ZlcnlfbG9jayk7Cj4gLQlyZXR1cm4gMDsKPiAtfQo+IC0KPiAgIGludCBhbWRncHVfcmFz X3JlY292ZXJ5X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICB7Cj4gICAJc3Ry dWN0IGFtZGdwdV9yYXMgKmNvbiA9IGFtZGdwdV9yYXNfZ2V0X2NvbnRleHQoYWRldik7Cj4gQEAg LTE5MzYsMTggKzE4NzIsMTIgQEAgaW50IGFtZGdwdV9yYXNfcmVjb3ZlcnlfaW5pdChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKPiAgIAkJcmV0ID0gYW1kZ3B1X3Jhc19sb2FkX2JhZF9wYWdl cyhhZGV2KTsKPiAgIAkJaWYgKHJldCkKPiAgIAkJCWdvdG8gZnJlZTsKPiAtCQlyZXQgPSBhbWRn cHVfcmFzX3Jlc2VydmVfYmFkX3BhZ2VzKGFkZXYpOwo+IC0JCWlmIChyZXQpCj4gLQkJCWdvdG8g cmVsZWFzZTsKPiAgIAl9Cj4gICAKPiAgIAlyZXR1cm4gMDsKPiAgIAo+IC1yZWxlYXNlOgo+IC0J YW1kZ3B1X3Jhc19yZWxlYXNlX2JhZF9wYWdlcyhhZGV2KTsKPiAgIGZyZWU6Cj4gICAJa2ZyZWUo KCpkYXRhKS0+YnBzKTsKPiAtCWtmcmVlKCgqZGF0YSktPmJwc19ibyk7Cj4gICAJa2ZyZWUoKmRh dGEpOwo+ICAgCWNvbi0+ZWhfZGF0YSA9IE5VTEw7Cj4gICBvdXQ6Cj4gQEAgLTE5NzUsMTIgKzE5 MDUsMTAgQEAgc3RhdGljIGludCBhbWRncHVfcmFzX3JlY292ZXJ5X2Zpbmkoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpCj4gICAJCXJldHVybiAwOwo+ICAgCj4gICAJY2FuY2VsX3dvcmtfc3lu YygmY29uLT5yZWNvdmVyeV93b3JrKTsKPiAtCWFtZGdwdV9yYXNfcmVsZWFzZV9iYWRfcGFnZXMo YWRldik7Cj4gICAKPiAgIAltdXRleF9sb2NrKCZjb24tPnJlY292ZXJ5X2xvY2spOwo+ICAgCWNv bi0+ZWhfZGF0YSA9IE5VTEw7Cj4gICAJa2ZyZWUoZGF0YS0+YnBzKTsKPiAtCWtmcmVlKGRhdGEt PmJwc19ibyk7Cj4gICAJa2ZyZWUoZGF0YSk7Cj4gICAJbXV0ZXhfdW5sb2NrKCZjb24tPnJlY292 ZXJ5X2xvY2spOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9yYXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yYXMuaAo+ IGluZGV4IDdjMzlkNzA2ZTZkMS4uNDY2N2NjZTM4NTgyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yYXMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9yYXMuaAo+IEBAIC0zNjIsMTQgKzM2MiwxMCBAQCBzdHJ1Y3QgcmFz X2Vycl9kYXRhIHsKPiAgIHN0cnVjdCByYXNfZXJyX2hhbmRsZXJfZGF0YSB7Cj4gICAJLyogcG9p bnQgdG8gYmFkIHBhZ2UgcmVjb3JkcyBhcnJheSAqLwo+ICAgCXN0cnVjdCBlZXByb21fdGFibGVf cmVjb3JkICpicHM7Cj4gLQkvKiBwb2ludCB0byByZXNlcnZlZCBibyBhcnJheSAqLwo+IC0Jc3Ry dWN0IGFtZGdwdV9ibyAqKmJwc19ibzsKPiAgIAkvKiB0aGUgY291bnQgb2YgZW50cmllcyAqLwo+ ICAgCWludCBjb3VudDsKPiAgIAkvKiB0aGUgc3BhY2UgY2FuIHBsYWNlIG5ldyBlbnRyaWVzICov Cj4gICAJaW50IHNwYWNlX2xlZnQ7Cj4gLQkvKiBsYXN0IHJlc2VydmVkIGVudHJ5J3MgaW5kZXgg KyAxICovCj4gLQlpbnQgbGFzdF9yZXNlcnZlZDsKPiAgIH07Cj4gICAKPiAgIHR5cGVkZWYgaW50 ICgqcmFzX2loX2NiKShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiBAQCAtNTA2LDE1ICs1 MDIsMTEgQEAgaW50IGFtZGdwdV9yYXNfYWRkX2JhZF9wYWdlcyhzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwKPiAgIAkJc3RydWN0IGVlcHJvbV90YWJsZV9yZWNvcmQgKmJwcywgaW50IHBhZ2Vz KTsKPiAgIAo+ICAgaW50IGFtZGdwdV9yYXNfc2F2ZV9iYWRfcGFnZXMoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpOwo+IC1pbnQgYW1kZ3B1X3Jhc19yZXNlcnZlX2JhZF9wYWdlcyhzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldik7Cj4gICAKPiAgIHN0YXRpYyBpbmxpbmUgaW50IGFtZGdwdV9y YXNfcmVzZXRfZ3B1KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ICAgewo+ICAgCXN0cnVj dCBhbWRncHVfcmFzICpyYXMgPSBhbWRncHVfcmFzX2dldF9jb250ZXh0KGFkZXYpOwo+ICAgCj4g LQlpZiAoaW5fdGFzaygpKQo+IC0JCWFtZGdwdV9yYXNfcmVzZXJ2ZV9iYWRfcGFnZXMoYWRldik7 Cj4gLQo+ICAgCWlmIChhdG9taWNfY21weGNoZygmcmFzLT5pbl9yZWNvdmVyeSwgMCwgMSkgPT0g MCkKPiAgIAkJc2NoZWR1bGVfd29yaygmcmFzLT5yZWNvdmVyeV93b3JrKTsKPiAgIAlyZXR1cm4g MDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5o IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3R0bS5oCj4gaW5kZXggZGUzN2Nl ZmYwZTU2Li45MGEzZWQ2ODI0NjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3R0bS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3R0bS5oCj4gQEAgLTEwMyw2ICsxMDMsMTAgQEAgdm9pZCBhbWRncHVfdnJhbV9tZ3JfZnJl ZV9zZ3Qoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJCQkgICAgICBzdHJ1Y3Qgc2df dGFibGUgKnNndCk7Cj4gICB1aW50NjRfdCBhbWRncHVfdnJhbV9tZ3JfdXNhZ2Uoc3RydWN0IHR0 bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4pOwo+ICAgdWludDY0X3QgYW1kZ3B1X3ZyYW1fbWdyX3Zp c191c2FnZShzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbik7Cj4gK2ludCBhbWRncHVf dnJhbV9tZ3JfcmVzZXJ2ZV9yYW5nZShzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwK PiArCQkJCSAgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IHNpemUpOwo+ICtpbnQgYW1kZ3B1X3Zy YW1fbWdyX3F1ZXJ5X3BhZ2Vfc3RhdHVzKHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFu LAo+ICsJCQkJICAgICAgdWludDY0X3Qgc3RhcnQpOwo+ICAgCj4gICBpbnQgYW1kZ3B1X3R0bV9p bml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKPiAgIHZvaWQgYW1kZ3B1X3R0bV9sYXRl X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdnJhbV9tZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV92cmFtX21nci5jCj4gaW5kZXggOTEwOThhMzg1ZWQ2Li5kYjU3M2U3 N2UyMTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Zy YW1fbWdyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdnJhbV9t Z3IuYwo+IEBAIC0yOCw5ICsyOCwxNiBAQAo+ICAgI2luY2x1ZGUgImFtZGdwdV9hdG9tZmlybXdh cmUuaCIKPiAgICNpbmNsdWRlICJhdG9tLmgiCj4gICAKPiArc3RydWN0IGFtZGdwdV92cmFtX3Jl c2VydmF0aW9uIHsKPiArCXN0cnVjdCBsaXN0X2hlYWQgbm9kZTsKPiArCXN0cnVjdCBkcm1fbW1f bm9kZSBtbV9ub2RlOwo+ICt9Owo+ICsKPiAgIHN0cnVjdCBhbWRncHVfdnJhbV9tZ3Igewo+ICAg CXN0cnVjdCBkcm1fbW0gbW07Cj4gICAJc3BpbmxvY2tfdCBsb2NrOwo+ICsJc3RydWN0IGxpc3Rf aGVhZCByZXNlcnZhdGlvbnNfcGVuZGluZzsKPiArCXN0cnVjdCBsaXN0X2hlYWQgcmVzZXJ2ZWRf cGFnZXM7Cj4gICAJYXRvbWljNjRfdCB1c2FnZTsKPiAgIAlhdG9taWM2NF90IHZpc191c2FnZTsK PiAgIH07Cj4gQEAgLTE3OSw2ICsxODYsOCBAQCBzdGF0aWMgaW50IGFtZGdwdV92cmFtX21ncl9p bml0KHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuLAo+ICAgCj4gICAJZHJtX21tX2lu aXQoJm1nci0+bW0sIDAsIHBfc2l6ZSk7Cj4gICAJc3Bpbl9sb2NrX2luaXQoJm1nci0+bG9jayk7 Cj4gKwlJTklUX0xJU1RfSEVBRCgmbWdyLT5yZXNlcnZhdGlvbnNfcGVuZGluZyk7Cj4gKwlJTklU X0xJU1RfSEVBRCgmbWdyLT5yZXNlcnZlZF9wYWdlcyk7Cj4gICAJbWFuLT5wcml2ID0gbWdyOwo+ ICAgCj4gICAJLyogQWRkIHRoZSB0d28gVlJBTS1yZWxhdGVkIHN5c2ZzIGZpbGVzICovCj4gQEAg LTIwMSw4ICsyMTAsMTggQEAgc3RhdGljIGludCBhbWRncHVfdnJhbV9tZ3JfZmluaShzdHJ1Y3Qg dHRtX21lbV90eXBlX21hbmFnZXIgKm1hbikKPiAgIHsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiA9IGFtZGdwdV90dG1fYWRldihtYW4tPmJkZXYpOwo+ICAgCXN0cnVjdCBhbWRncHVf dnJhbV9tZ3IgKm1nciA9IG1hbi0+cHJpdjsKPiArCXN0cnVjdCBhbWRncHVfdnJhbV9yZXNlcnZh dGlvbiAqcnN2LCAqdGVtcDsKPiAgIAo+ICAgCXNwaW5fbG9jaygmbWdyLT5sb2NrKTsKPiArCj4g KwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocnN2LCB0ZW1wLCAmbWdyLT5yZXNlcnZhdGlvbnNf cGVuZGluZywgbm9kZSkKPiArCQlrZnJlZShyc3YpOwo+ICsKPiArCWxpc3RfZm9yX2VhY2hfZW50 cnlfc2FmZShyc3YsIHRlbXAsICZtZ3ItPnJlc2VydmVkX3BhZ2VzLCBub2RlKSB7Cj4gKwkJZHJt X21tX3JlbW92ZV9ub2RlKCZyc3YtPm1tX25vZGUpOwo+ICsJCWtmcmVlKHJzdik7Cj4gKwl9Cj4g Kwo+ICAgCWRybV9tbV90YWtlZG93bigmbWdyLT5tbSk7Cj4gICAJc3Bpbl91bmxvY2soJm1nci0+ bG9jayk7Cj4gICAJa2ZyZWUobWdyKTsKPiBAQCAtMjYwLDYgKzI3OSwxMDEgQEAgdTY0IGFtZGdw dV92cmFtX21ncl9ib192aXNpYmxlX3NpemUoc3RydWN0IGFtZGdwdV9ibyAqYm8pCj4gICAJcmV0 dXJuIHVzYWdlOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyB2b2lkIGFtZGdwdV92cmFtX21ncl9kb19y ZXNlcnZlKHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuKQo+ICt7Cj4gKwlzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiA9IGFtZGdwdV90dG1fYWRldihtYW4tPmJkZXYpOwo+ICsJc3Ry dWN0IGFtZGdwdV92cmFtX21nciAqbWdyID0gbWFuLT5wcml2Owo+ICsJc3RydWN0IGRybV9tbSAq bW0gPSAmbWdyLT5tbTsKPiArCXN0cnVjdCBhbWRncHVfdnJhbV9yZXNlcnZhdGlvbiAqcnN2LCAq dGVtcDsKPiArCXVpbnQ2NF90IHZpc191c2FnZTsKPiArCj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5 X3NhZmUocnN2LCB0ZW1wLCAmbWdyLT5yZXNlcnZhdGlvbnNfcGVuZGluZywgbm9kZSkgewo+ICsJ CWlmIChkcm1fbW1fcmVzZXJ2ZV9ub2RlKG1tLCAmcnN2LT5tbV9ub2RlKSkKPiArCQkJY29udGlu dWU7Cj4gKwo+ICsJCWRldl9kYmcoYWRldi0+ZGV2LCAiUmVzZXJ2YXRpb24gMHglbGx4IC0gJWxs ZCwgU3VjY2Vzc2VkXG4iLAo+ICsJCQlyc3YtPm1tX25vZGUuc3RhcnQsIHJzdi0+bW1fbm9kZS5z aXplKTsKPiArCj4gKwkJdmlzX3VzYWdlID0gYW1kZ3B1X3ZyYW1fbWdyX3Zpc19zaXplKGFkZXYs ICZyc3YtPm1tX25vZGUpOwo+ICsJCWF0b21pYzY0X2FkZCh2aXNfdXNhZ2UsICZtZ3ItPnZpc191 c2FnZSk7Cj4gKwkJYXRvbWljNjRfYWRkKHJzdi0+bW1fbm9kZS5zaXplIDw8IFBBR0VfU0hJRlQs ICZtZ3ItPnVzYWdlKTsKPiArCQlsaXN0X21vdmUoJnJzdi0+bm9kZSwgJm1nci0+cmVzZXJ2ZWRf cGFnZXMpOwo+ICsJfQo+ICt9Cj4gKwo+ICsvKioKPiArICogYW1kZ3B1X3ZyYW1fbWdyX3Jlc2Vy dmVfcmFuZ2UgLSBSZXNlcnZlIGEgcmFuZ2UgZnJvbSBWUkFNCj4gKyAqCj4gKyAqIEBtYW46IFRU TSBtZW1vcnkgdHlwZSBtYW5hZ2VyCj4gKyAqIEBzdGFydDogc3RhcnQgYWRkcmVzcyBvZiB0aGUg cmFuZ2UgaW4gVlJBTQo+ICsgKiBAc2l6ZTogc2l6ZSBvZiB0aGUgcmFuZ2UKPiArICoKPiArICog UmVzZXJ2ZSBtZW1vcnkgZnJvbSBzdGFydCBhZGRlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIHNpemUg aW4gVlJBTQo+ICsgKi8KPiAraW50IGFtZGdwdV92cmFtX21ncl9yZXNlcnZlX3JhbmdlKHN0cnVj dCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuLAo+ICsJCQkJICB1aW50NjRfdCBzdGFydCwgdWlu dDY0X3Qgc2l6ZSkKPiArewo+ICsJc3RydWN0IGFtZGdwdV92cmFtX21nciAqbWdyID0gbWFuLT5w cml2Owo+ICsJc3RydWN0IGFtZGdwdV92cmFtX3Jlc2VydmF0aW9uICpyc3Y7Cj4gKwo+ICsJcnN2 ID0ga3phbGxvYyhzaXplb2YoKnJzdiksIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFyc3YpCj4gKwkJ cmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsJSU5JVF9MSVNUX0hFQUQoJnJzdi0+bm9kZSk7Cj4gKwly c3YtPm1tX25vZGUuc3RhcnQgPSBzdGFydCA+PiBQQUdFX1NISUZUOwo+ICsJcnN2LT5tbV9ub2Rl LnNpemUgPSBzaXplID4+IFBBR0VfU0hJRlQ7Cj4gKwo+ICsJc3Bpbl9sb2NrKCZtZ3ItPmxvY2sp Owo+ICsJbGlzdF9hZGRfdGFpbCgmbWdyLT5yZXNlcnZhdGlvbnNfcGVuZGluZywgJnJzdi0+bm9k ZSk7Cj4gKwlhbWRncHVfdnJhbV9tZ3JfZG9fcmVzZXJ2ZShtYW4pOwo+ICsJc3Bpbl91bmxvY2so Jm1nci0+bG9jayk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBhbWRn cHVfdnJhbV9tZ3JfcXVlcnlfcGFnZV9zdGF0dXMgLSBxdWVyeSB0aGUgcmVzZXJ2YXRpb24gc3Rh dHVzCj4gKyAqCj4gKyAqIEBtYW46IFRUTSBtZW1vcnkgdHlwZSBtYW5hZ2VyCj4gKyAqIEBzdGFy dDogc3RhcnQgYWRkcmVzcyBvZiBhIHBhZ2UgaW4gVlJBTQo+ICsgKgo+ICsgKiBSZXR1cm5zOgo+ ICsgKgktRUJVU1k6IHRoZSBwYWdlIGlzIHN0aWxsIGhvbGQgYW5kIGluIHBlbmRpbmcgbGlzdAo+ ICsgKgkwOiB0aGUgcGFnZSBoYXMgYmVlbiByZXNlcnZlZAo+ICsgKgktRU5PRU5UOiB0aGUgaW5w dXQgcGFnZSBpcyBub3QgYSByZXNlcnZhdGlvbgo+ICsgKi8KPiAraW50IGFtZGdwdV92cmFtX21n cl9xdWVyeV9wYWdlX3N0YXR1cyhzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiAr CQkJCSAgICAgIHVpbnQ2NF90IHN0YXJ0KQo+ICt7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X3ZyYW1fbWdy ICptZ3IgPSBtYW4tPnByaXY7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X3ZyYW1fcmVzZXJ2YXRpb24gKnJz djsKPiArCWludCByZXQ7Cj4gKwo+ICsJc3Bpbl9sb2NrKCZtZ3ItPmxvY2spOwo+ICsKPiArCWxp c3RfZm9yX2VhY2hfZW50cnkocnN2LCAmbWdyLT5yZXNlcnZhdGlvbnNfcGVuZGluZywgbm9kZSkg ewo+ICsJCWlmICgocnN2LT5tbV9ub2RlLnN0YXJ0IDw9IHN0YXJ0KSAmJgo+ICsJCSAgICAoc3Rh cnQgPCAocnN2LT5tbV9ub2RlLnN0YXJ0ICsgcnN2LT5tbV9ub2RlLnNpemUpKSkgewo+ICsJCQly ZXQgPSAtRUJVU1k7Cj4gKwkJCWdvdG8gb3V0Owo+ICsJCX0KPiArCX0KPiArCj4gKwlsaXN0X2Zv cl9lYWNoX2VudHJ5KHJzdiwgJm1nci0+cmVzZXJ2ZWRfcGFnZXMsIG5vZGUpIHsKPiArCQlpZiAo KHJzdi0+bW1fbm9kZS5zdGFydCA8PSBzdGFydCkgJiYKPiArCQkgICAgKHN0YXJ0IDwgKHJzdi0+ bW1fbm9kZS5zdGFydCArIHJzdi0+bW1fbm9kZS5zaXplKSkpIHsKPiArCQkJcmV0ID0gMDsKPiAr CQkJZ290byBvdXQ7Cj4gKwkJfQo+ICsJfQo+ICsKPiArCXJldCA9IC1FTk9FTlQ7Cj4gK291dDoK PiArCXNwaW5fdW5sb2NrKCZtZ3ItPmxvY2spOwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiAg IC8qKgo+ICAgICogYW1kZ3B1X3ZyYW1fbWdyX3ZpcnRfc3RhcnQgLSB1cGRhdGUgdmlydHVhbCBz dGFydCBhZGRyZXNzCj4gICAgKgo+IEBAIC00MzAsNiArNTQ0LDcgQEAgc3RhdGljIHZvaWQgYW1k Z3B1X3ZyYW1fbWdyX2RlbChzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiAgIAkJ dmlzX3VzYWdlICs9IGFtZGdwdV92cmFtX21ncl92aXNfc2l6ZShhZGV2LCBub2Rlcyk7Cj4gICAJ CSsrbm9kZXM7Cj4gICAJfQo+ICsJYW1kZ3B1X3ZyYW1fbWdyX2RvX3Jlc2VydmUobWFuKTsKPiAg IAlzcGluX3VubG9jaygmbWdyLT5sb2NrKTsKPiAgIAo+ICAgCWF0b21pYzY0X3N1Yih1c2FnZSwg Jm1nci0+dXNhZ2UpOwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==