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=-15.4 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,NICE_REPLY_A,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 362BEC433E0 for ; Fri, 5 Feb 2021 08:28:51 +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 878BC64E05 for ; Fri, 5 Feb 2021 08:28:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 878BC64E05 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D6A6A6E21D; Fri, 5 Feb 2021 08:28:49 +0000 (UTC) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2073.outbound.protection.outlook.com [40.107.223.73]) by gabe.freedesktop.org (Postfix) with ESMTPS id 912B56E21D for ; Fri, 5 Feb 2021 08:28:48 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gaSdwLpVxQZVb6ptEcXHBuFaQBoObnYNkRw/8Z4bE0ahRi7jnvF947TofScnkwwiHT0f8BCsJuoHSdRxRe4IVawLsCf2T+LIVm2p5eQjNdNU1AK7UQZij/baQlLiQof/Td1H+Z4hRlQ00jvEV1l3OZJRfwfB0oJvTLoMe8JNZxRTUuQu+m9uzfsZbSQM3YAClMaOeOViQicctXIVhlFbBSCFHlRAe6U0KNIDcUp8emnh2naghzB4jNzPkas0OYmp3ZWXkifEkryqXjuJiu2NnHz3/e5CjCLUpGE5ooN4n5cuWuk9ZWs9Sm0uI5miPznNcYk51F23acrY/Y1U7wHRoA== 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=QzINmfy8dPo2ojH3jon8BRNtk7Db/nPHGeuPcQm8H0Y=; b=TN4RJTt1QDSXuyR48dWFNiwqs16WAcmAErC+tZmiL12FV7dIW60Rb+owxhzZF4qfzD+dO/lqmyOSNglYhAbGK7X3j8unyLu18JrnfqQh70FxFXv1AvPSM0DPx1ol8IuOXz2hQ5sINKjy+U7KhQVF8vvYczdmqy/ZF7YkyhUte0zBFLenlSaXnrE2j6c3IU/PjehR3pw6p1WI1+IuB3f6O0hcidLV1DbdLByVrGY6YOdCiHTe/LvPiAVQOcK8U6nrjSkD+Uw+h7un8pdb7sCX4z0Jqphp9oPSBCY8WojwbOdNF213Co/2OJD1Ghkwwqoz8ngMDnTsnp45FTwW11tn1Q== 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=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QzINmfy8dPo2ojH3jon8BRNtk7Db/nPHGeuPcQm8H0Y=; b=FRzda2g/Y0sxFC0SHMWbZtklJ/COWHECPbGXx0b35PuHbJKrDRa9TP5H/qz03WIYr4iKvo8GiLToObl3KfgEZkJHlGbNwdvg6XTwVrTxfa5LrbjLErL8LTRy71G9uDDVMDkrcPutZuYKi/tahY71uxoHUKJYf8V3OUWgdPT3nvA= Authentication-Results: lists.freedesktop.org; dkim=none (message not signed) header.d=none; lists.freedesktop.org; dmarc=none action=none header.from=amd.com; Received: from MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) by BL0PR12MB2579.namprd12.prod.outlook.com (2603:10b6:207:4d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.24; Fri, 5 Feb 2021 08:28:46 +0000 Received: from MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::c1ff:dcf1:9536:a1f2]) by MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::c1ff:dcf1:9536:a1f2%2]) with mapi id 15.20.3825.023; Fri, 5 Feb 2021 08:28:46 +0000 Subject: Re: [RFC][PATCH v6 3/7] drm: ttm_pool: Rework ttm_pool_free_page to allow us to use it as a function pointer To: John Stultz , lkml References: <20210205080621.3102035-1-john.stultz@linaro.org> <20210205080621.3102035-4-john.stultz@linaro.org> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <8a4cacb7-3042-53c7-02fe-de18cc49fc0e@amd.com> Date: Fri, 5 Feb 2021 09:28:39 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: <20210205080621.3102035-4-john.stultz@linaro.org> Content-Language: en-US X-Originating-IP: [2a02:908:1252:fb60:be8a:bd56:1f94:86e7] X-ClientProxiedBy: AM0PR06CA0106.eurprd06.prod.outlook.com (2603:10a6:208:fa::47) 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 AM0PR06CA0106.eurprd06.prod.outlook.com (2603:10a6:208:fa::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3825.20 via Frontend Transport; Fri, 5 Feb 2021 08:28:43 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 8a9fdd33-e6e3-41dc-bbf5-08d8c9b00e2b X-MS-TrafficTypeDiagnostic: BL0PR12MB2579: 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: vSYazm+AQ/0On5BHguGWNX6BUAXq0x/76vHw9L8qaOB2rtaRoyGDyFufVYh/gmxVGEE3m/sXFRAtgaSsyVPlpp/FRzMm6MUfZFZHuKMQa0qVUVhSbvn9fOfZThba0NnS2iEFTV641ronut7/KVWLaC8BpQEnbq8BvBGpGtrpjvdHbTSMQFKrF6MwXmslc+lKzNr66m8cZw5XtukeObpgynIBg15YoMDJ7xa4xo53cztUc66CjQv0svPdZWOgXc2UwXQ27R4IQlO71QxBPsJrQ9nJ/yenOh/5oc1Ych54x9sOMZW0qwGnYqxKi/BTeJYq4W1lLhIl1FsyGF11Snm/Usn12gRo49iKlXI3PjlcdDvAYY3wJGbK81vk+VztbWdYWkxxY3IWJuuf1jwiqVAOeB1HrNTVZp3BtiY7yROf5Zx9bIUM3jcE8fbgD7PrT5VBSWDsfxUusC8T6NfU3JGQjgL20Z0OJ1Dv0YAdRcIBhhUaS0GFRE2BSVPU2thdM+TC/2fFmjl2zB2tDXGXjLW4QSXSJI+BCkG+hurmJmLHFuxEnC6UJ2tzBvmPx0qmhfeiLBad1HgyzRAKy/gPz478hu1U5exCxrn0F0SslBSJuXY= 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)(39860400002)(366004)(396003)(346002)(136003)(376002)(66556008)(66946007)(36756003)(6486002)(7416002)(86362001)(186003)(16526019)(6666004)(478600001)(2616005)(4326008)(2906002)(31686004)(110136005)(83380400001)(54906003)(66476007)(5660300002)(8676002)(316002)(52116002)(8936002)(31696002)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?U2hDQ2ZmTm5vcGZFd0pPOElyb1dIbnJUTytLdHBBTm5nelRYcXVUai8wV3BP?= =?utf-8?B?M1RaVzhyQUZqSzh6NFVhTFBGclhoSGJ6cWRpM2Y1clFTWFhqaTJFbmczSUh2?= =?utf-8?B?MWxwbTR4L2IvVHdmTTVySmpBcTBUV2ZYS0pEaVhWTXFSNVczR1UvdUNFRGZs?= =?utf-8?B?bTRucTFGamZrb2I5dE9ZZU5zVzk2Y0Z5MHhSL1lsdUJ3bFlTUStPVWFza0RF?= =?utf-8?B?Z2pqUy9xWHJPdkM5RlNlMkphM3lWbUlMblcyUnYwMjdjN1AyZXp6SURSUlVk?= =?utf-8?B?SFJndXRqSTJtLzBlMGI1ZkJuZEEyQ0tqREtCcU5yZ3A3K1V2T2p2S2lBTjQ2?= =?utf-8?B?OWZUN1F4aldZaHhLakFCV2h3MmRnaGtwWmVKcmZYMlJqbm1aMnVVVGZaa21n?= =?utf-8?B?cng2aDFaQjkxUVhjcW93UnprMkVtU3ozYW5RYjlNenRQQ2lkeFpJSVBkZVIw?= =?utf-8?B?ajAzLzV3SzJrdzhSNlV1cS9OZXVJaEFSTzg1am1MU0J0NmJsZlRXQm5nNlpo?= =?utf-8?B?c1NBanJXanZGUDd6VGlMZjZhS2FTOXhRemdqWkg0anpnc3VqWmpPR1JSRGRP?= =?utf-8?B?YzFPSGFjZW14OEVXR0xxM2RkbzF1RWtUM0lQTHQxbUZFQ3hIMTNRdTBSQi9W?= =?utf-8?B?YnBrTTZ4Yy9IemJ0czJDREJNc3oyR29WYXlqb1dNRFFUOXAxSHBLeW4yaXlq?= =?utf-8?B?ZmxNVTJvOEErL1FPeHVFUEYwaHBkT0RZeW93dTVVeEJrb1Baelg1SXNXNUlv?= =?utf-8?B?MCtTNXh4NExzc01LVk10M2JQdUg3b1QwRVB5RDJHR0hWN0VmNlowQStRUng3?= =?utf-8?B?RzJDWDJuWjZsaDB3TU9ESVZESE9LOUFkcjVVUU12Qy8xWnhnWjN3Z0VFNmU5?= =?utf-8?B?U1FpMDZYMVV2aVFhdDZSaGErZFlVWUpyN1FtWmdKYk5EM1V3UjBmYTY5S0o4?= =?utf-8?B?OG5aTmxZaUtTdkJ1RTFKdmdOZTBnMHdsaDAzUEZHbVR3MTVWb1YxT0lpT1Ur?= =?utf-8?B?ZmFrR1lia0dac0VDaEQzZnl4TTZPcEZBcDZYVS9IUFpvNThuU0dJZDZTK1FU?= =?utf-8?B?akloWkRWcjMvTHVDVWE3MzRHb2l5ZzRSZldhS1NWampReDNaY1ZJbUlCUkVv?= =?utf-8?B?YnZHRERLbDRGd2VsTU5idmVoTFQzcURKWG1Ddkg2NnR0aklKNWVvdkY1UXdp?= =?utf-8?B?Y3N0VjM4ZkZlanFodG9WUFhacGQwUEZmaXBETUFpYXQ4dVhZZHNzbUpGMjg3?= =?utf-8?B?RFYxakJaNFcyb05IcHhqVHFhUEVmT0tHeitBYjMzdWhTQXRRbW5YNUZjYzhE?= =?utf-8?B?VGd3bW5iUnNtQkVBWWQzbWo3alhUZEE3WFU0WkVOendPOHp3WW14MHhXVnFk?= =?utf-8?B?SEpNUGF2RTVtRkdGMnNoa08wUkdkWmlQYW9MeXpaKzJkb1dYMVM1R3VRQUpm?= =?utf-8?B?OXltTGxkeVl6Skp4RG1FY3RDejgwUDdGNjNmVU94RnpiTE5HYXk3MGxQUmZD?= =?utf-8?B?bXQyVmM0RHVYRjA5ZUgyQUJnMXQrK2lnWS9XaGJFUHNUWEkzNThacVl3d21U?= =?utf-8?B?ODU5akRtbkZ5dmNrRFoyQ0hlYWd4QXJLczNBYmQxdDlFUDFvZXdMWTlRSm5E?= =?utf-8?B?cWJaTWc2OEtvUHhXRUNKWWhZaG1YZE54S05ERUV5eHRIa3F5K3VvMExoRWtJ?= =?utf-8?B?UWRYM0hEbTZtYVdBRFE4S1AwNVB4clIzQkhSSm9VaVBVenJwejB1ZFJRMTc5?= =?utf-8?B?aHJxbCs1RXlzbHFhSXJLV1RHd1U2dllTeUVIRFNMc0liTzBIV09NU1BwMEF3?= =?utf-8?B?U0FYQ0tkQVlXQ0hlZmR2YzdTMFVwajZhTkZUSHVUK3EwU0ZSZnl4OXpaV0tz?= =?utf-8?Q?GFbdPHKag4I9B?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8a9fdd33-e6e3-41dc-bbf5-08d8c9b00e2b X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3775.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2021 08:28:46.4737 (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: XslRLQjy+h+YdUKGSKtTQKuhs/4qpOz5lTOquBhC544IJr9qTTxzXW/LJPFY+0pj X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB2579 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dri-devel@lists.freedesktop.org, Sandeep Patil , Chris Goldsworthy , Ezequiel Garcia , Robin Murphy , James Jones , Liam Mark , Laura Abbott , Hridya Valsaraju , =?UTF-8?Q?=c3=98rjan_Eide?= , linux-media@vger.kernel.org, Suren Baghdasaryan , Daniel Mentz Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" QW0gMDUuMDIuMjEgdW0gMDk6MDYgc2NocmllYiBKb2huIFN0dWx0ejoKPiBUaGlzIHJlZmFjdG9y cyB0dG1fcG9vbF9mcmVlX3BhZ2UoKSwgYW5kIGJ5IGFkZGluZyBleHRyYSBlbnRyaWVzCj4gdG8g dHRtX3Bvb2xfcGFnZV9kYXQsIHdlIHRoZW4gdXNlIGl0IGZvciBhbGwgYWxsb2NhdGlvbnMsIHdo aWNoCj4gYWxsb3dzIHVzIHRvIHNpbXBsaWZ5IHRoZSBhcmd1bWVudHMgbmVlZGVkIHRvIGJlIHBh c3NlZCB0bwo+IHR0bV9wb29sX2ZyZWVfcGFnZSgpLgoKVGhpcyBpcyBhIGNsZWFyIE5BSyBzaW5j ZSB0aGUgcGVlciBwYWdlIGRhdGEgaXMganVzdCBhIHdvcmthcm91bmQgZm9yIAp0aGUgRE1BLUFQ SSBoYWNrIHRvIGdyYWIgcGFnZXMgZnJvbSB0aGVyZS4KCkFkZGluZyB0aGlzIHRvIGFsbCBwYWdl cyB3b3VsZCBpbmNyZWFzZSB0aGUgbWVtb3J5IGZvb3RwcmludCBkcmFzdGljYWxseS4KCmNocmlz dGlhbi4KCj4KPiBUaGlzIGlzIGNyaXRpY2FsIGZvciBhbGxvd2luZyB0aGUgZnJlZSBmdW5jdGlv biB0byBiZSBjYWxsZWQKPiBieSB0aGUgc2hhcmFibGUgZHJtX3BhZ2VfcG9vbCBsb2dpYy4KPgo+ IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+Cj4gQ2M6IENocmlzdGlhbiBLb2Vu aWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiBDYzogU3VtaXQgU2Vtd2FsIDxzdW1pdC5z ZW13YWxAbGluYXJvLm9yZz4KPiBDYzogTGlhbSBNYXJrIDxsbWFya0Bjb2RlYXVyb3JhLm9yZz4K PiBDYzogQ2hyaXMgR29sZHN3b3J0aHkgPGNnb2xkc3dvQGNvZGVhdXJvcmEub3JnPgo+IENjOiBM YXVyYSBBYmJvdHQgPGxhYmJvdHRAa2VybmVsLm9yZz4KPiBDYzogQnJpYW4gU3RhcmtleSA8QnJp YW4uU3RhcmtleUBhcm0uY29tPgo+IENjOiBIcmlkeWEgVmFsc2FyYWp1IDxocmlkeWFAZ29vZ2xl LmNvbT4KPiBDYzogU3VyZW4gQmFnaGRhc2FyeWFuIDxzdXJlbmJAZ29vZ2xlLmNvbT4KPiBDYzog U2FuZGVlcCBQYXRpbCA8c3NwYXRpbEBnb29nbGUuY29tPgo+IENjOiBEYW5pZWwgTWVudHogPGRh bmllbG1lbnR6QGdvb2dsZS5jb20+Cj4gQ2M6IMOYcmphbiBFaWRlIDxvcmphbi5laWRlQGFybS5j b20+Cj4gQ2M6IFJvYmluIE11cnBoeSA8cm9iaW4ubXVycGh5QGFybS5jb20+Cj4gQ2M6IEV6ZXF1 aWVsIEdhcmNpYSA8ZXplcXVpZWxAY29sbGFib3JhLmNvbT4KPiBDYzogU2ltb24gU2VyIDxjb250 YWN0QGVtZXJzaW9uLmZyPgo+IENjOiBKYW1lcyBKb25lcyA8amFqb25lc0BudmlkaWEuY29tPgo+ IENjOiBsaW51eC1tZWRpYUB2Z2VyLmtlcm5lbC5vcmcKPiBDYzogZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+IFNpZ25lZC1vZmYtYnk6IEpvaG4gU3R1bHR6IDxqb2huLnN0dWx0ekBs aW5hcm8ub3JnPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fcG9vbC5jIHwgNjAg KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDMy IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS90dG0vdHRtX3Bvb2wuYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3Bvb2wuYwo+ IGluZGV4IGMwMjc0ZTI1NmJlMy4uZWNhMzY2NzhmOTY3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS90dG0vdHRtX3Bvb2wuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3Bv b2wuYwo+IEBAIC00NCwxMCArNDQsMTQgQEAKPiAgIC8qKgo+ICAgICogc3RydWN0IHR0bV9wb29s X3BhZ2VfZGF0IC0gSGVscGVyIG9iamVjdCBmb3IgY29oZXJlbnQgRE1BIG1hcHBpbmdzCj4gICAg Kgo+ICsgKiBAcG9vbDogdHRtX3Bvb2wgcG9pbnRlciB0aGUgcGFnZSB3YXMgYWxsb2NhdGVkIGJ5 Cj4gKyAqIEBjYWNoaW5nOiB0aGUgY2FjaGluZyB2YWx1ZSB0aGUgYWxsb2NhdGVkIHBhZ2Ugd2Fz IGNvbmZpZ3VyZWQgZm9yCj4gICAgKiBAYWRkcjogb3JpZ2luYWwgRE1BIGFkZHJlc3MgcmV0dXJu ZWQgZm9yIHRoZSBtYXBwaW5nCj4gICAgKiBAdmFkZHI6IG9yaWdpbmFsIHZhZGRyIHJldHVybiBm b3IgdGhlIG1hcHBpbmcgYW5kIG9yZGVyIGluIHRoZSBsb3dlciBiaXRzCj4gICAgKi8KPiAgIHN0 cnVjdCB0dG1fcG9vbF9wYWdlX2RhdCB7Cj4gKwlzdHJ1Y3QgdHRtX3Bvb2wgKnBvb2w7Cj4gKwll bnVtIHR0bV9jYWNoaW5nIGNhY2hpbmc7Cj4gICAJZG1hX2FkZHJfdCBhZGRyOwo+ICAgCXVuc2ln bmVkIGxvbmcgdmFkZHI7Cj4gICB9Owo+IEBAIC03MSwxMyArNzUsMjAgQEAgc3RhdGljIHN0cnVj dCBzaHJpbmtlciBtbV9zaHJpbmtlcjsKPiAgIAo+ICAgLyogQWxsb2NhdGUgcGFnZXMgb2Ygc2l6 ZSAxIDw8IG9yZGVyIHdpdGggdGhlIGdpdmVuIGdmcF9mbGFncyAqLwo+ICAgc3RhdGljIHN0cnVj dCBwYWdlICp0dG1fcG9vbF9hbGxvY19wYWdlKHN0cnVjdCB0dG1fcG9vbCAqcG9vbCwgZ2ZwX3Qg Z2ZwX2ZsYWdzLAo+IC0JCQkJCXVuc2lnbmVkIGludCBvcmRlcikKPiArCQkJCQl1bnNpZ25lZCBp bnQgb3JkZXIsIGVudW0gdHRtX2NhY2hpbmcgY2FjaGluZykKPiAgIHsKPiAgIAl1bnNpZ25lZCBs b25nIGF0dHIgPSBETUFfQVRUUl9GT1JDRV9DT05USUdVT1VTOwo+ICAgCXN0cnVjdCB0dG1fcG9v bF9wYWdlX2RhdCAqZGF0Owo+ICAgCXN0cnVjdCBwYWdlICpwOwo+ICAgCXZvaWQgKnZhZGRyOwo+ ICAgCj4gKwlkYXQgPSBrbWFsbG9jKHNpemVvZigqZGF0KSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAo IWRhdCkKPiArCQlyZXR1cm4gTlVMTDsKPiArCj4gKwlkYXQtPnBvb2wgPSBwb29sOwo+ICsJZGF0 LT5jYWNoaW5nID0gY2FjaGluZzsKPiArCj4gICAJLyogRG9uJ3Qgc2V0IHRoZSBfX0dGUF9DT01Q IGZsYWcgZm9yIGhpZ2hlciBvcmRlciBhbGxvY2F0aW9ucy4KPiAgIAkgKiBNYXBwaW5nIHBhZ2Vz IGRpcmVjdGx5IGludG8gYW4gdXNlcnNwYWNlIHByb2Nlc3MgYW5kIGNhbGxpbmcKPiAgIAkgKiBw dXRfcGFnZSgpIG9uIGEgVFRNIGFsbG9jYXRlZCBwYWdlIGlzIGlsbGVnYWwuCj4gQEAgLTg4LDE1 ICs5OSwxMyBAQCBzdGF0aWMgc3RydWN0IHBhZ2UgKnR0bV9wb29sX2FsbG9jX3BhZ2Uoc3RydWN0 IHR0bV9wb29sICpwb29sLCBnZnBfdCBnZnBfZmxhZ3MsCj4gICAKPiAgIAlpZiAoIXBvb2wtPnVz ZV9kbWFfYWxsb2MpIHsKPiAgIAkJcCA9IGFsbG9jX3BhZ2VzKGdmcF9mbGFncywgb3JkZXIpOwo+ IC0JCWlmIChwKQo+IC0JCQlwLT5wcml2YXRlID0gb3JkZXI7Cj4gKwkJaWYgKCFwKQo+ICsJCQln b3RvIGVycm9yX2ZyZWU7Cj4gKwkJZGF0LT52YWRkciA9IG9yZGVyOwo+ICsJCXAtPnByaXZhdGUg PSAodW5zaWduZWQgbG9uZylkYXQ7Cj4gICAJCXJldHVybiBwOwo+ICAgCX0KPiAgIAo+IC0JZGF0 ID0ga21hbGxvYyhzaXplb2YoKmRhdCksIEdGUF9LRVJORUwpOwo+IC0JaWYgKCFkYXQpCj4gLQkJ cmV0dXJuIE5VTEw7Cj4gLQo+ICAgCWlmIChvcmRlcikKPiAgIAkJYXR0ciB8PSBETUFfQVRUUl9O T19XQVJOOwo+ICAgCj4gQEAgLTEyMywzNCArMTMyLDM0IEBAIHN0YXRpYyBzdHJ1Y3QgcGFnZSAq dHRtX3Bvb2xfYWxsb2NfcGFnZShzdHJ1Y3QgdHRtX3Bvb2wgKnBvb2wsIGdmcF90IGdmcF9mbGFn cywKPiAgIH0KPiAgIAo+ICAgLyogUmVzZXQgdGhlIGNhY2hpbmcgYW5kIHBhZ2VzIG9mIHNpemUg MSA8PCBvcmRlciAqLwo+IC1zdGF0aWMgdm9pZCB0dG1fcG9vbF9mcmVlX3BhZ2Uoc3RydWN0IHR0 bV9wb29sICpwb29sLCBlbnVtIHR0bV9jYWNoaW5nIGNhY2hpbmcsCj4gLQkJCSAgICAgICB1bnNp Z25lZCBpbnQgb3JkZXIsIHN0cnVjdCBwYWdlICpwKQo+ICtzdGF0aWMgaW50IHR0bV9wb29sX2Zy ZWVfcGFnZShzdHJ1Y3QgcGFnZSAqcCwgdW5zaWduZWQgaW50IG9yZGVyKQo+ICAgewo+ICAgCXVu c2lnbmVkIGxvbmcgYXR0ciA9IERNQV9BVFRSX0ZPUkNFX0NPTlRJR1VPVVM7Cj4gLQlzdHJ1Y3Qg dHRtX3Bvb2xfcGFnZV9kYXQgKmRhdDsKPiArCXN0cnVjdCB0dG1fcG9vbF9wYWdlX2RhdCAqZGF0 ID0gKHZvaWQgKilwLT5wcml2YXRlOwo+ICAgCXZvaWQgKnZhZGRyOwo+ICAgCj4gICAjaWZkZWYg Q09ORklHX1g4Ngo+ICAgCS8qIFdlIGRvbid0IGNhcmUgdGhhdCBzZXRfcGFnZXNfd2IgaXMgaW5l ZmZpY2llbnQgaGVyZS4gVGhpcyBpcyBvbmx5Cj4gICAJICogdXNlZCB3aGVuIHdlIGhhdmUgdG8g c2hyaW5rIGFuZCBDUFUgb3ZlcmhlYWQgaXMgaXJyZWxldmFudCB0aGVuLgo+ICAgCSAqLwo+IC0J aWYgKGNhY2hpbmcgIT0gdHRtX2NhY2hlZCAmJiAhUGFnZUhpZ2hNZW0ocCkpCj4gKwlpZiAoZGF0 LT5jYWNoaW5nICE9IHR0bV9jYWNoZWQgJiYgIVBhZ2VIaWdoTWVtKHApKQo+ICAgCQlzZXRfcGFn ZXNfd2IocCwgMSA8PCBvcmRlcik7Cj4gICAjZW5kaWYKPiAgIAo+IC0JaWYgKCFwb29sIHx8ICFw b29sLT51c2VfZG1hX2FsbG9jKSB7Cj4gKwlpZiAoIWRhdC0+cG9vbCB8fCAhZGF0LT5wb29sLT51 c2VfZG1hX2FsbG9jKSB7Cj4gICAJCV9fZnJlZV9wYWdlcyhwLCBvcmRlcik7Cj4gLQkJcmV0dXJu Owo+ICsJCWdvdG8gb3V0Owo+ICAgCX0KPiAgIAo+ICAgCWlmIChvcmRlcikKPiAgIAkJYXR0ciB8 PSBETUFfQVRUUl9OT19XQVJOOwo+ICAgCj4gLQlkYXQgPSAodm9pZCAqKXAtPnByaXZhdGU7Cj4g ICAJdmFkZHIgPSAodm9pZCAqKShkYXQtPnZhZGRyICYgUEFHRV9NQVNLKTsKPiAtCWRtYV9mcmVl X2F0dHJzKHBvb2wtPmRldiwgKDFVTCA8PCBvcmRlcikgKiBQQUdFX1NJWkUsIHZhZGRyLCBkYXQt PmFkZHIsCj4gKwlkbWFfZnJlZV9hdHRycyhkYXQtPnBvb2wtPmRldiwgKDFVTCA8PCBvcmRlcikg KiBQQUdFX1NJWkUsIHZhZGRyLCBkYXQtPmFkZHIsCj4gICAJCSAgICAgICBhdHRyKTsKPiArb3V0 Ogo+ICAgCWtmcmVlKGRhdCk7Cj4gKwlyZXR1cm4gMSA8PCBvcmRlcjsKPiAgIH0KPiAgIAo+ICAg LyogQXBwbHkgYSBuZXcgY2FjaGluZyB0byBhbiBhcnJheSBvZiBwYWdlcyAqLwo+IEBAIC0yNjQs NyArMjczLDcgQEAgc3RhdGljIHZvaWQgdHRtX3Bvb2xfdHlwZV9maW5pKHN0cnVjdCB0dG1fcG9v bF90eXBlICpwdCkKPiAgIAltdXRleF91bmxvY2soJnNocmlua2VyX2xvY2spOwo+ICAgCj4gICAJ bGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHAsIHRtcCwgJnB0LT5wYWdlcywgbHJ1KQo+IC0JCXR0 bV9wb29sX2ZyZWVfcGFnZShwdC0+cG9vbCwgcHQtPmNhY2hpbmcsIHB0LT5vcmRlciwgcCk7Cj4g KwkJdHRtX3Bvb2xfZnJlZV9wYWdlKHAsIHB0LT5vcmRlcik7Cj4gICB9Cj4gICAKPiAgIC8qIFJl dHVybiB0aGUgcG9vbF90eXBlIHRvIHVzZSBmb3IgdGhlIGdpdmVuIGNhY2hpbmcgYW5kIG9yZGVy ICovCj4gQEAgLTMwNyw3ICszMTYsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHR0bV9wb29sX3No cmluayh2b2lkKQo+ICAgCj4gICAJcCA9IHR0bV9wb29sX3R5cGVfdGFrZShwdCk7Cj4gICAJaWYg KHApIHsKPiAtCQl0dG1fcG9vbF9mcmVlX3BhZ2UocHQtPnBvb2wsIHB0LT5jYWNoaW5nLCBwdC0+ b3JkZXIsIHApOwo+ICsJCXR0bV9wb29sX2ZyZWVfcGFnZShwLCBwdC0+b3JkZXIpOwo+ICAgCQlu dW1fZnJlZWQgPSAxIDw8IHB0LT5vcmRlcjsKPiAgIAl9IGVsc2Ugewo+ICAgCQludW1fZnJlZWQg PSAwOwo+IEBAIC0zMjIsMTMgKzMzMSw5IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgdHRtX3Bvb2xf c2hyaW5rKHZvaWQpCj4gICAvKiBSZXR1cm4gdGhlIGFsbG9jYXRpb24gb3JkZXIgYmFzZWQgZm9y IGEgcGFnZSAqLwo+ICAgc3RhdGljIHVuc2lnbmVkIGludCB0dG1fcG9vbF9wYWdlX29yZGVyKHN0 cnVjdCB0dG1fcG9vbCAqcG9vbCwgc3RydWN0IHBhZ2UgKnApCj4gICB7Cj4gLQlpZiAocG9vbC0+ dXNlX2RtYV9hbGxvYykgewo+IC0JCXN0cnVjdCB0dG1fcG9vbF9wYWdlX2RhdCAqZGF0ID0gKHZv aWQgKilwLT5wcml2YXRlOwo+IC0KPiAtCQlyZXR1cm4gZGF0LT52YWRkciAmIH5QQUdFX01BU0s7 Cj4gLQl9Cj4gKwlzdHJ1Y3QgdHRtX3Bvb2xfcGFnZV9kYXQgKmRhdCA9ICh2b2lkICopcC0+cHJp dmF0ZTsKPiAgIAo+IC0JcmV0dXJuIHAtPnByaXZhdGU7Cj4gKwlyZXR1cm4gZGF0LT52YWRkciAm IH5QQUdFX01BU0s7Cj4gICB9Cj4gICAKPiAgIC8qKgo+IEBAIC0zNzksNyArMzg0LDcgQEAgaW50 IHR0bV9wb29sX2FsbG9jKHN0cnVjdCB0dG1fcG9vbCAqcG9vbCwgc3RydWN0IHR0bV90dCAqdHQs Cj4gICAJCWlmIChwKSB7Cj4gICAJCQlhcHBseV9jYWNoaW5nID0gdHJ1ZTsKPiAgIAkJfSBlbHNl IHsKPiAtCQkJcCA9IHR0bV9wb29sX2FsbG9jX3BhZ2UocG9vbCwgZ2ZwX2ZsYWdzLCBvcmRlcik7 Cj4gKwkJCXAgPSB0dG1fcG9vbF9hbGxvY19wYWdlKHBvb2wsIGdmcF9mbGFncywgb3JkZXIsIHR0 LT5jYWNoaW5nKTsKPiAgIAkJCWlmIChwICYmIFBhZ2VIaWdoTWVtKHApKQo+ICAgCQkJCWFwcGx5 X2NhY2hpbmcgPSB0cnVlOwo+ICAgCQl9Cj4gQEAgLTQyOCwxMyArNDMzLDEzIEBAIGludCB0dG1f cG9vbF9hbGxvYyhzdHJ1Y3QgdHRtX3Bvb2wgKnBvb2wsIHN0cnVjdCB0dG1fdHQgKnR0LAo+ICAg CXR0bV9tZW1fZ2xvYmFsX2ZyZWVfcGFnZSgmdHRtX21lbV9nbG9iLCBwLCAoMSA8PCBvcmRlcikg KiBQQUdFX1NJWkUpOwo+ICAgCj4gICBlcnJvcl9mcmVlX3BhZ2U6Cj4gLQl0dG1fcG9vbF9mcmVl X3BhZ2UocG9vbCwgdHQtPmNhY2hpbmcsIG9yZGVyLCBwKTsKPiArCXR0bV9wb29sX2ZyZWVfcGFn ZShwLCBvcmRlcik7Cj4gICAKPiAgIGVycm9yX2ZyZWVfYWxsOgo+ICAgCW51bV9wYWdlcyA9IHR0 LT5udW1fcGFnZXMgLSBudW1fcGFnZXM7Cj4gICAJZm9yIChpID0gMDsgaSA8IG51bV9wYWdlczsg KSB7Cj4gICAJCW9yZGVyID0gdHRtX3Bvb2xfcGFnZV9vcmRlcihwb29sLCB0dC0+cGFnZXNbaV0p Owo+IC0JCXR0bV9wb29sX2ZyZWVfcGFnZShwb29sLCB0dC0+Y2FjaGluZywgb3JkZXIsIHR0LT5w YWdlc1tpXSk7Cj4gKwkJdHRtX3Bvb2xfZnJlZV9wYWdlKHR0LT5wYWdlc1tpXSwgb3JkZXIpOwo+ ICAgCQlpICs9IDEgPDwgb3JkZXI7Cj4gICAJfQo+ICAgCj4gQEAgLTQ3MCw4ICs0NzUsNyBAQCB2 b2lkIHR0bV9wb29sX2ZyZWUoc3RydWN0IHR0bV9wb29sICpwb29sLCBzdHJ1Y3QgdHRtX3R0ICp0 dCkKPiAgIAkJaWYgKHB0KQo+ICAgCQkJdHRtX3Bvb2xfdHlwZV9naXZlKHB0LCB0dC0+cGFnZXNb aV0pOwo+ICAgCQllbHNlCj4gLQkJCXR0bV9wb29sX2ZyZWVfcGFnZShwb29sLCB0dC0+Y2FjaGlu Zywgb3JkZXIsCj4gLQkJCQkJICAgdHQtPnBhZ2VzW2ldKTsKPiArCQkJdHRtX3Bvb2xfZnJlZV9w YWdlKHR0LT5wYWdlc1tpXSwgb3JkZXIpOwo+ICAgCj4gICAJCWkgKz0gbnVtX3BhZ2VzOwo+ICAg CX0KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=