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.1 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, USER_AGENT_SANE_1 autolearn=unavailable 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 A2F22C433E0 for ; Tue, 19 Jan 2021 18:53:23 +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 5E4CE20706 for ; Tue, 19 Jan 2021 18:53:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5E4CE20706 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 7274F6E038; Tue, 19 Jan 2021 18:53:19 +0000 (UTC) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2086.outbound.protection.outlook.com [40.107.237.86]) by gabe.freedesktop.org (Postfix) with ESMTPS id BAE626E038; Tue, 19 Jan 2021 18:53:17 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R4r103Mh5QLTCyZVe+0Xbrvvy8mbMtVzpE3X6BHJc4Gj3twJeRLUhv5q+7FzPH5HsjF2vHi0r2yOfXE2Hr/rkUvFqTj9KR/eQhGnHARG6nxVa9Hp4hdVzwMqhzqstMLJ/l5w9dHdFSqqnPN2SQd0m+qDGph0NjL2GMQa0Hh/PAsD+o6KqaWply8+j6V30JMZUUS9vuf3ccv4BT3K+DyTwv2srg5NUXEcinJeI1uYTmiLKzzMExkH4QSozHggKDJaRXQ/9sjZM6lOmy/UVpiLQqbYO8+AzaKKO/FMMFVXgCryflq80jSZgE8WGMbIu0hjUDI4n+7oTCAIGnePyEavyA== 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=bR29ZFNCVTPb/kcNzSRSbMH11F7FQv7uho+Ncr6Jeao=; b=RTpMsDJQ89mP5K/RniEptu6wztj1BqDpN3r2sidTGv32yc2Rl7M09rciyP0M48JF+7vMQjeHBHBsL1aGZYFDIyZkvLW82fgZAuvjJt+P+g5bvmKW1eVBY4Su7cC0RMLf4zldZ9IWXvJ23SD1POCXPDvsK9X8UnjMls2jpshEJsCRWX0e0ZI/7lzOWBNJOhsqFgP7VzoWABYCPlIQOf9EPPnYyC7/IbC/FOOdXtPBZ3rRcbJF9J8bczm8bwWFNntBsNYdd7rjHBYW/gy6GAJdEN6KLNxhckAGR43AbFuVTsEI902JxV0WZ5Uepqpdr/2VN3lk/mvPAIadG2lFfewk7Q== 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=bR29ZFNCVTPb/kcNzSRSbMH11F7FQv7uho+Ncr6Jeao=; b=E/eVX1xYdDZbU2ZDfukJaaVXLMGdWYnEkJDQ+iQiulfgwJo2GPtC8XhaZKry3Ijz4U7guZTjTCNgvqYs4jnjw5vQ5XOzE7UfEoXYcZ4ND0XAU2NXlMvEWviOHkR+swAIb51IGkDOf1d2jXO5f8dccsXzyzhYPAfLR7E0eSWpZPY= Authentication-Results: collabora.com; dkim=none (message not signed) header.d=none;collabora.com; dmarc=none action=none header.from=amd.com; Received: from BY5PR12MB3764.namprd12.prod.outlook.com (2603:10b6:a03:1ac::17) by BYAPR12MB2615.namprd12.prod.outlook.com (2603:10b6:a03:61::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.13; Tue, 19 Jan 2021 18:53:14 +0000 Received: from BY5PR12MB3764.namprd12.prod.outlook.com ([fe80::5927:a80d:11c4:529a]) by BY5PR12MB3764.namprd12.prod.outlook.com ([fe80::5927:a80d:11c4:529a%7]) with mapi id 15.20.3763.014; Tue, 19 Jan 2021 18:53:14 +0000 Subject: Re: [PATCH v4 12/14] drm/scheduler: Job timeout handler returns status To: Luben Tuikov , Andrey Grodzovsky , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, ckoenig.leichtzumerken@gmail.com, daniel.vetter@ffwll.ch, robh@kernel.org, l.stach@pengutronix.de, yuq825@gmail.com, eric@anholt.net References: <1611003683-3534-1-git-send-email-andrey.grodzovsky@amd.com> <1611003683-3534-13-git-send-email-andrey.grodzovsky@amd.com> <337f5f7d-d728-41d1-724b-6a62500f1f06@amd.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <0c7583c9-c437-a035-b213-8548d4ec0a95@amd.com> Date: Tue, 19 Jan 2021 19:53:05 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: Content-Language: en-US X-Originating-IP: [2a02:908:1252:fb60:be8a:bd56:1f94:86e7] X-ClientProxiedBy: AM0PR04CA0094.eurprd04.prod.outlook.com (2603:10a6:208:be::35) To BY5PR12MB3764.namprd12.prod.outlook.com (2603:10b6:a03:1ac::17) 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 AM0PR04CA0094.eurprd04.prod.outlook.com (2603:10a6:208:be::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.10 via Frontend Transport; Tue, 19 Jan 2021 18:53:10 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 327f4877-0a89-4023-1926-08d8bcab79f2 X-MS-TrafficTypeDiagnostic: BYAPR12MB2615: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2331; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1RqYdGQHdZCbMFQSavDulKE9Y1IWz41+BhVkZkzpZr2bzwo26ycbutrhqkgvOSG5nWug2yOdFcObJ/whel0xh34FZK4f9SkQnSaQPIgdu4OtHgduAlQfJNla98iMmREP+te0oTu9N6GB0NpqQDR2GYqsiSoYektPhbmlLej+yd+0DNGQLFEjtdR8zgBBWvFcsCGf1cHCUBSpz7/+KxQz3x/Y6riOkxTmXoKwo+YlQntSXRoUC3zZFb7cIZYImkraJii/tyknaa2j/YkN5xsMvLLg0R3GD6Zg7bCPx9vZKQDfgJOQ6QvcPb2b3L1yuX04I38L1zR3YN2ptk3W6nWaxYRG6w3Undm7IBwxMAt/kRAGmCDv3FVStlur94z2jRzho3sQ6F0Il7W5N12KEoobgYDux6KHxbRbqi5+y8G6gCdcMYsDKB2gO0lrcr9urNj5cn20We+nJQ8gr8U4sWykLKTH3pjkkYnsG7Pc7wJGm5sRvdFzwQLS6rarIg9OxOOJ X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR12MB3764.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(376002)(136003)(366004)(39840400004)(346002)(53546011)(36756003)(2616005)(186003)(2906002)(16526019)(7416002)(4326008)(478600001)(52116002)(316002)(54906003)(31696002)(8936002)(8676002)(5660300002)(110136005)(83380400001)(66556008)(6486002)(31686004)(921005)(86362001)(66946007)(66476007)(6666004)(30864003)(66574015)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?ZURhT0d4dnFIRytVd1ZhdXB0WmdkRFdkWE9ZYWpwcWVqNDNOSFNYRjNqR2g1?= =?utf-8?B?QXBzUVBVbVN5eEZLcENhd0lMNVFaTDlJRWZjSjBYSmxuRnd6bThRMkdadFFx?= =?utf-8?B?dUpxdE9oNFFkYk1BY3o1WVVzazdFai9MQmUwS21IUDIya2dxcno2azE4QUJk?= =?utf-8?B?NXNvemkzNUlDWFhTQnplcXdRc0dGaXFEMEVNbSt5UGM3SWZRSVZVSXc2Vjd0?= =?utf-8?B?WWFPWGdaZHFLQmlKNVVWKzJRRndUdDBRUXJpS2VTTmg2MG15SFo3TkVZMjJy?= =?utf-8?B?ZzdVSnJLK0QzSEhxYVI3UW5FR29SeHo4Tk02YzJ6MG5OYnE1N0x3eFBIdkNv?= =?utf-8?B?bVpoY1oxNVlKWUtEVmJrckQxb0Jnd0FsUk5MZXNrUEFtU3h6K0txYnltaHlk?= =?utf-8?B?YmlQYk0ySGRHNjExUG5mUEc1ck9zNXhMRzRsVmdKRzBjYmRzYmtPb3hvb2Rq?= =?utf-8?B?OGo3QXJHeERPc1RnazlnSkJOclNGaW5KSHRXU1lhcWU4ZkY2aE1FclRLbTBO?= =?utf-8?B?MkxDRGdlUS9GWFkvTXBIR2R6NG9uWWY3VzVwY3llc1RSZ01sZytqdFhqWnNz?= =?utf-8?B?cDlSYzRyV2F1QTRPVkRxM0kyT1pmdk5XdmhhQjh2T1BaVll3eU1MRUJsMmVJ?= =?utf-8?B?Ylc5MkhaUWp2WWY0S0VLaStDRG1Ha2FOdDhRMVM4SVcyT2xMamljblVYcjNk?= =?utf-8?B?ZWg3YzlKNUc5WmFpUnNBNTg1cDI2Y054cnJmREh1U1I1ZXhEWHhZOVN5eERM?= =?utf-8?B?U3pYdGwyTi93THRIZU9jcHArUWpMelNLT0twS1lFcTFmdUtYQlIzWDAvVnNw?= =?utf-8?B?SUxOU2lhTVhJaWNaekpYaUJzdDFVcFZZS2x2dE0ybi9GbDhMSGhsVlpsTzZN?= =?utf-8?B?ZjBQZk4rNmZrMEg0OStoeUtaVUp5eTF5WTRONFNHZElYbUNEYXhDdGhFMHVV?= =?utf-8?B?Vlo2NHlNUGd0bEptMGlHd0VWQ01Mb1VEZWV4UTBZUSsvcmR4SERxZENXZ0Jk?= =?utf-8?B?ZEhIN1BCakJESE8yaFpQQm5vYlZVbWl6Y056SzNIL2x6VzI5R2VXWFUyVGJQ?= =?utf-8?B?d1hDYWZDOTVKWGQyb2FUVExKczZRVG9nTll0OUxnbWRXT0s1YXBNN1k3NE9Z?= =?utf-8?B?aWRma3N0b2NyU3A5UDdGTTNYdVd2RGJwMWZkNkRLYWxUU0pNK2RXZVZkYUZk?= =?utf-8?B?MWFYWE5OeFdlL00yNDVFeGg0Yjk5VmRjdXRQRElCbFd4ZVU4Qms2M3I4L2pn?= =?utf-8?B?eDVTVlh4MVVOL0dpL0tQcVdtMG8wZzJaRzkzTCt4TGZiQTk3NnlpNWxkR3dv?= =?utf-8?B?clQrYyswdHRqQUtiNEEvd3pINWlwL3F6UEttc1JMYldhN1Y5eksyU2o1YUMr?= =?utf-8?B?ZU93cldQWExOdHlCQ05CNDJKbVQ5bVkvemw2M202QUt2ektjeEpONWxpYXdt?= =?utf-8?Q?mXC8WP6l?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 327f4877-0a89-4023-1926-08d8bcab79f2 X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB3764.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2021 18:53:14.6222 (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: ivgFDNWA7VCDgM4RX75aPwp+IbIZvHESzxJb6PLVCaiV9DEF48zrx0oxoWjqCUBm X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB2615 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: Tomeu Vizoso , gregkh@linuxfoundation.org, Steven Price , Alyssa Rosenzweig , Russell King , Alexander.Deucher@amd.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" QW0gMTkuMDEuMjEgdW0gMTg6NDcgc2NocmllYiBMdWJlbiBUdWlrb3Y6Cj4gT24gMjAyMS0wMS0x OSAyOjUzIGEubS4sIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4+IEFtIDE4LjAxLjIxIHVtIDIy OjAxIHNjaHJpZWIgQW5kcmV5IEdyb2R6b3Zza3k6Cj4+PiBGcm9tOiBMdWJlbiBUdWlrb3YgPGx1 YmVuLnR1aWtvdkBhbWQuY29tPgo+Pj4KPj4+IFRoaXMgcGF0Y2ggZG9lcyBub3QgY2hhbmdlIGN1 cnJlbnQgYmVoYXZpb3VyLgo+Pj4KPj4+IFRoZSBkcml2ZXIncyBqb2IgdGltZW91dCBoYW5kbGVy IG5vdyByZXR1cm5zCj4+PiBzdGF0dXMgaW5kaWNhdGluZyBiYWNrIHRvIHRoZSBEUk0gbGF5ZXIg d2hldGhlcgo+Pj4gdGhlIHRhc2sgKGpvYikgd2FzIHN1Y2Nlc3NmdWxseSBhYm9ydGVkIG9yIHdo ZXRoZXIKPj4+IG1vcmUgdGltZSBzaG91bGQgYmUgZ2l2ZW4gdG8gdGhlIHRhc2sgdG8gY29tcGxl dGUuCj4+Pgo+Pj4gRGVmYXVsdCBiZWhhdmlvdXIgYXMgb2YgdGhpcyBwYXRjaCwgaXMgcHJlc2Vy dmVkLAo+Pj4gZXhjZXB0IGluIG9idmlvdXMtYnktY29tbWVudCBjYXNlIGluIHRoZSBQYW5mcm9z dAo+Pj4gZHJpdmVyLCBhcyBkb2N1bWVudGVkIGJlbG93Lgo+Pj4KPj4+IEFsbCBkcml2ZXJzIHdo aWNoIG1ha2UgdXNlIG9mIHRoZQo+Pj4gZHJtX3NjaGVkX2JhY2tlbmRfb3BzJyAudGltZWRvdXRf am9iKCkgY2FsbGJhY2sKPj4+IGhhdmUgYmVlbiBhY2NvcmRpbmdseSByZW5hbWVkIGFuZCByZXR1 cm4gdGhlCj4+PiB3b3VsZCd2ZS1iZWVuIGRlZmF1bHQgdmFsdWUgb2YKPj4+IERSTV9UQVNLX1NU QVRVU19BTElWRSB0byByZXN0YXJ0IHRoZSB0YXNrJ3MKPj4+IHRpbWVvdXQgdGltZXItLXRoaXMg aXMgdGhlIG9sZCBiZWhhdmlvdXIsIGFuZAo+Pj4gaXMgcHJlc2VydmVkIGJ5IHRoaXMgcGF0Y2gu Cj4+Pgo+Pj4gSW4gdGhlIGNhc2Ugb2YgdGhlIFBhbmZyb3N0IGRyaXZlciwgaXRzIHRpbWVkb3V0 Cj4+PiBjYWxsYmFjayBjb3JyZWN0bHkgZmlyc3QgY2hlY2tzIGlmIHRoZSBqb2IgaGFkCj4+PiBj b21wbGV0ZWQgaW4gZHVlIHRpbWUgYW5kIGlmIHNvLCBpdCBub3cgcmV0dXJucwo+Pj4gRFJNX1RB U0tfU1RBVFVTX0NPTVBMRVRFIHRvIG5vdGlmeSB0aGUgRFJNIGxheWVyCj4+PiB0aGF0IHRoZSB0 YXNrIGNhbiBiZSBtb3ZlZCB0byB0aGUgZG9uZSBsaXN0LCB0byBiZQo+Pj4gZnJlZWQgbGF0ZXIu IEluIHRoZSBvdGhlciB0d28gc3Vic2VxdWVudCBjaGVja3MsCj4+PiB0aGUgdmFsdWUgb2YgRFJN X1RBU0tfU1RBVFVTX0FMSVZFIGlzIHJldHVybmVkLCBhcwo+Pj4gcGVyIHRoZSBkZWZhdWx0IGJl aGF2aW91ci4KPj4+Cj4+PiBBIG1vcmUgaW52b2x2ZWQgZHJpdmVyJ3Mgc29sdXRpb25zIGNhbiBi ZSBoYWQKPj4+IGluIHN1YmVxdWVudCBwYXRjaGVzLgo+Pj4KPj4+IHYyOiBVc2UgZW51bSBhcyB0 aGUgc3RhdHVzIG9mIGEgZHJpdmVyJ3Mgam9iCj4+PiAgICAgICB0aW1lb3V0IGNhbGxiYWNrIG1l dGhvZC4KPj4+Cj4+PiB2NDogKEJ5IEFuZHJleSBHcm9kem92c2t5KQo+Pj4gUmVwbGFjZSBEUk1f VEFTS19TVEFUVVNfQ09NUExFVEUgd2l0aCBEUk1fVEFTS19TVEFUVVNfRU5PREVWCj4+PiB0byBl bmFibGUgYSBoaW50IHRvIHRoZSBzY2hkdWxlciBmb3Igd2hlbiBOT1QgdG8gcmVhcm0gdGhlCj4+ PiB0aW1lb3V0IHRpbWVyLgo+PiBBcyBMdWthcyBwb2ludGVkIG91dCByZXR1cm5pbmcgdGhlIGpv YiAob3IgdGFzaykgc3RhdHVzIGRvZXNuJ3QgbWFrZQo+PiBtdWNoIHNlbnNlLgo+Pgo+PiBXaGF0 IHdlIHJldHVybiBoZXJlIGlzIHRoZSBzdGF0dXMgb2YgdGhlIHNjaGVkdWxlci4KPj4KPj4gSSB3 b3VsZCBlaXRoZXIgcmVuYW1lIHRoZSBlbnVtIG9yIGNvbXBsZXRlbHkgZHJvcCBpdCBhbmQgcmV0 dXJuIGEKPj4gbmVnYXRpdmUgZXJyb3Igc3RhdHVzLgo+IFllcywgdGhhdCBjb3VsZCBiZSBoYWQu Cj4KPiBBbHRob3VnaCwgZHJvcHBpbmcgdGhlIGVudW0gYW5kIHJldHVybmluZyBbLTEsIDBdLCBt aWdodAo+IG1ha2UgdGhlIHJldHVybiBzdGF0dXMgbWVhbmluZyB2YWd1ZS4gVXNpbmcgYW4gZW51 bSB3aXRoIGFuIGFwcHJvcHJpYXRlCj4gbmFtZSwgbWFrZXMgdGhlIGludGVudGlvbiBjbGVhciB0 byB0aGUgbmV4dCBwcm9ncmFtbWVyLgoKQ29tcGxldGVseSBhZ3JlZSwgYnV0IC1FTk9ERVYgYW5k IDAgY291bGQgd29yay4KCk9uIHRoZSBvdGhlciBoYW5kIHVzaW5nIERSTV9TQ0hFRF8qIGlzIHBl cmZlY3RseSBmaW5lIHdpdGggbWUgYXMgd2VsbC4KCkNocmlzdGlhbi4KCj4KPiBOb3csIEFuZHJl eSBkaWQgcmVuYW1lIG9uZSBvZiB0aGUgZW51bWVyYXRlZCB2YWx1ZXMgdG8KPiBEUk1fVEFTS19T VEFUVVNfRU5PREVWLCBwZXJoYXBzIHRoZSBzYW1lIGJ1dCB3aXRoOgo+Cj4gZW51bSBkcm1fc2No ZWRfc3RhdHVzIHsKPiAgwqDCoMKgIERSTV9TQ0hFRF9TVEFUX05PTkUsIC8qIFJlc2VydmUgMCAq Lwo+ICDCoMKgwqAgRFJNX1NDSEVEX1NUQVRfTk9NSU5BTCwKPiAgwqDCoMKgIERSTV9TQ0hFRF9T VEFUX0VOT0RFViwKPiB9Owo+Cj4gYW5kIGFsc28gcmVuYW1pbmcgdGhlIGVudW0gdG8gdGhlIGFi b3ZlIHdvdWxkIGJlIGFjY2VwdGFibGU/Cj4KPiBSZWdhcmRzLAo+IEx1YmVuCj4KPj4gQXBhcnQg ZnJvbSB0aGF0IGxvb2tzIGZpbmUgdG8gbWUsCj4+IENocmlzdGlhbi4KPj4KPj4KPj4+IENjOiBB bGV4YW5kZXIgRGV1Y2hlciA8QWxleGFuZGVyLkRldWNoZXJAYW1kLmNvbT4KPj4+IENjOiBBbmRy ZXkgR3JvZHpvdnNreSA8QW5kcmV5Lkdyb2R6b3Zza3lAYW1kLmNvbT4KPj4+IENjOiBDaHJpc3Rp YW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4+PiBDYzogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPj4+IENjOiBMdWNhcyBTdGFjaCA8bC5zdGFjaEBw ZW5ndXRyb25peC5kZT4KPj4+IENjOiBSdXNzZWxsIEtpbmcgPGxpbnV4K2V0bmF2aXZAYXJtbGlu dXgub3JnLnVrPgo+Pj4gQ2M6IENocmlzdGlhbiBHbWVpbmVyIDxjaHJpc3RpYW4uZ21laW5lckBn bWFpbC5jb20+Cj4+PiBDYzogUWlhbmcgWXUgPHl1cTgyNUBnbWFpbC5jb20+Cj4+PiBDYzogUm9i IEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz4KPj4+IENjOiBUb21ldSBWaXpvc28gPHRvbWV1LnZp em9zb0Bjb2xsYWJvcmEuY29tPgo+Pj4gQ2M6IFN0ZXZlbiBQcmljZSA8c3RldmVuLnByaWNlQGFy bS5jb20+Cj4+PiBDYzogQWx5c3NhIFJvc2VuendlaWcgPGFseXNzYS5yb3Nlbnp3ZWlnQGNvbGxh Ym9yYS5jb20+Cj4+PiBDYzogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KPj4+IFJlcG9y dGVkLWJ5OiBrZXJuZWwgdGVzdCByb2JvdCA8bGtwQGludGVsLmNvbT4KPj4+IFNpZ25lZC1vZmYt Ynk6IEx1YmVuIFR1aWtvdiA8bHViZW4udHVpa292QGFtZC5jb20+Cj4+PiBTaWduZWQtb2ZmLWJ5 OiBBbmRyZXkgR3JvZHpvdnNreSA8YW5kcmV5Lmdyb2R6b3Zza3lAYW1kLmNvbT4KPj4+IC0tLQo+ Pj4gICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2pvYi5jIHwgIDYgKysrKy0t Cj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X3NjaGVkLmMgfCAxMCArKysr KysrKystCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vbGltYS9saW1hX3NjaGVkLmMgICAgICAgfCAg NCArKystCj4+PiAgICBkcml2ZXJzL2dwdS9kcm0vcGFuZnJvc3QvcGFuZnJvc3Rfam9iLmMgfCAg OSArKysrKystLS0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5j ICB8ICA0ICstLS0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS92M2QvdjNkX3NjaGVkLmMgICAgICAg ICB8IDMyICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCj4+PiAgICBpbmNsdWRlL2Ry bS9ncHVfc2NoZWR1bGVyLmggICAgICAgICAgICAgfCAxNyArKysrKysrKysrKysrKy0tLQo+Pj4g ICAgNyBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKPj4+ Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2pvYi5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2pvYi5jCj4+PiBpbmRleCBmZjQ4 MTAxLi5hMTExMzI2IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2pvYi5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf am9iLmMKPj4+IEBAIC0yOCw3ICsyOCw3IEBACj4+PiAgICAjaW5jbHVkZSAiYW1kZ3B1LmgiCj4+ PiAgICAjaW5jbHVkZSAiYW1kZ3B1X3RyYWNlLmgiCj4+PiAgICAKPj4+IC1zdGF0aWMgdm9pZCBh bWRncHVfam9iX3RpbWVkb3V0KHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYikKPj4+ICtzdGF0 aWMgZW51bSBkcm1fdGFza19zdGF0dXMgYW1kZ3B1X2pvYl90aW1lZG91dChzdHJ1Y3QgZHJtX3Nj aGVkX2pvYiAqc19qb2IpCj4+PiAgICB7Cj4+PiAgICAJc3RydWN0IGFtZGdwdV9yaW5nICpyaW5n ID0gdG9fYW1kZ3B1X3Jpbmcoc19qb2ItPnNjaGVkKTsKPj4+ICAgIAlzdHJ1Y3QgYW1kZ3B1X2pv YiAqam9iID0gdG9fYW1kZ3B1X2pvYihzX2pvYik7Cj4+PiBAQCAtNDEsNyArNDEsNyBAQCBzdGF0 aWMgdm9pZCBhbWRncHVfam9iX3RpbWVkb3V0KHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pvYikK Pj4+ICAgIAkgICAgYW1kZ3B1X3Jpbmdfc29mdF9yZWNvdmVyeShyaW5nLCBqb2ItPnZtaWQsIHNf am9iLT5zX2ZlbmNlLT5wYXJlbnQpKSB7Cj4+PiAgICAJCURSTV9FUlJPUigicmluZyAlcyB0aW1l b3V0LCBidXQgc29mdCByZWNvdmVyZWRcbiIsCj4+PiAgICAJCQkgIHNfam9iLT5zY2hlZC0+bmFt ZSk7Cj4+PiAtCQlyZXR1cm47Cj4+PiArCQlyZXR1cm4gRFJNX1RBU0tfU1RBVFVTX0FMSVZFOwo+ Pj4gICAgCX0KPj4+ICAgIAo+Pj4gICAgCWFtZGdwdV92bV9nZXRfdGFza19pbmZvKHJpbmctPmFk ZXYsIGpvYi0+cGFzaWQsICZ0aSk7Cj4+PiBAQCAtNTMsMTAgKzUzLDEyIEBAIHN0YXRpYyB2b2lk IGFtZGdwdV9qb2JfdGltZWRvdXQoc3RydWN0IGRybV9zY2hlZF9qb2IgKnNfam9iKQo+Pj4gICAg Cj4+PiAgICAJaWYgKGFtZGdwdV9kZXZpY2Vfc2hvdWxkX3JlY292ZXJfZ3B1KHJpbmctPmFkZXYp KSB7Cj4+PiAgICAJCWFtZGdwdV9kZXZpY2VfZ3B1X3JlY292ZXIocmluZy0+YWRldiwgam9iKTsK Pj4+ICsJCXJldHVybiBEUk1fVEFTS19TVEFUVVNfQUxJVkU7Cj4+PiAgICAJfSBlbHNlIHsKPj4+ ICAgIAkJZHJtX3NjaGVkX3N1c3BlbmRfdGltZW91dCgmcmluZy0+c2NoZWQpOwo+Pj4gICAgCQlp ZiAoYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKQo+Pj4gICAgCQkJYWRldi0+dmlydC50ZHJfZGVidWcg PSB0cnVlOwo+Pj4gKwkJcmV0dXJuIERSTV9UQVNLX1NUQVRVU19BTElWRTsKPj4+ICAgIAl9Cj4+ PiAgICB9Cj4+PiAgICAKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9l dG5hdml2X3NjaGVkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X3NjaGVkLmMK Pj4+IGluZGV4IGNkNDZjODguLmM0OTUxNjkgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZXRuYXZpdi9ldG5hdml2X3NjaGVkLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5h dml2L2V0bmF2aXZfc2NoZWQuYwo+Pj4gQEAgLTgyLDcgKzgyLDggQEAgc3RhdGljIHN0cnVjdCBk bWFfZmVuY2UgKmV0bmF2aXZfc2NoZWRfcnVuX2pvYihzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2No ZWRfam9iKQo+Pj4gICAgCXJldHVybiBmZW5jZTsKPj4+ICAgIH0KPj4+ICAgIAo+Pj4gLXN0YXRp YyB2b2lkIGV0bmF2aXZfc2NoZWRfdGltZWRvdXRfam9iKHN0cnVjdCBkcm1fc2NoZWRfam9iICpz Y2hlZF9qb2IpCj4+PiArc3RhdGljIGVudW0gZHJtX3Rhc2tfc3RhdHVzIGV0bmF2aXZfc2NoZWRf dGltZWRvdXRfam9iKHN0cnVjdCBkcm1fc2NoZWRfam9iCj4+PiArCQkJCQkJICAgICAgICpzY2hl ZF9qb2IpCj4+PiAgICB7Cj4+PiAgICAJc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0 ID0gdG9fZXRuYXZpdl9zdWJtaXQoc2NoZWRfam9iKTsKPj4+ICAgIAlzdHJ1Y3QgZXRuYXZpdl9n cHUgKmdwdSA9IHN1Ym1pdC0+Z3B1Owo+Pj4gQEAgLTEyMCw5ICsxMjEsMTYgQEAgc3RhdGljIHZv aWQgZXRuYXZpdl9zY2hlZF90aW1lZG91dF9qb2Ioc3RydWN0IGRybV9zY2hlZF9qb2IgKnNjaGVk X2pvYikKPj4+ICAgIAo+Pj4gICAgCWRybV9zY2hlZF9yZXN1Ym1pdF9qb2JzKCZncHUtPnNjaGVk KTsKPj4+ICAgIAo+Pj4gKwkvKiBUZWxsIHRoZSBEUk0gc2NoZWR1bGVyIHRoYXQgdGhpcyB0YXNr IG5lZWRzCj4+PiArCSAqIG1vcmUgdGltZS4KPj4+ICsJICovCj4+PiArCWRybV9zY2hlZF9zdGFy dCgmZ3B1LT5zY2hlZCwgdHJ1ZSk7Cj4+PiArCXJldHVybiBEUk1fVEFTS19TVEFUVVNfQUxJVkU7 Cj4+PiArCj4+PiAgICBvdXRfbm9fdGltZW91dDoKPj4+ICAgIAkvKiByZXN0YXJ0IHNjaGVkdWxl ciBhZnRlciBHUFUgaXMgdXNhYmxlIGFnYWluICovCj4+PiAgICAJZHJtX3NjaGVkX3N0YXJ0KCZn cHUtPnNjaGVkLCB0cnVlKTsKPj4+ICsJcmV0dXJuIERSTV9UQVNLX1NUQVRVU19BTElWRTsKPj4+ ICAgIH0KPj4+ICAgIAo+Pj4gICAgc3RhdGljIHZvaWQgZXRuYXZpdl9zY2hlZF9mcmVlX2pvYihz dHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRfam9iKQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9saW1hL2xpbWFfc2NoZWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9saW1hL2xpbWFfc2No ZWQuYwo+Pj4gaW5kZXggNjNiNGM1Ni4uNjZkOTIzNiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9saW1hL2xpbWFfc2NoZWQuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2xpbWEv bGltYV9zY2hlZC5jCj4+PiBAQCAtNDE1LDcgKzQxNSw3IEBAIHN0YXRpYyB2b2lkIGxpbWFfc2No ZWRfYnVpbGRfZXJyb3JfdGFza19saXN0KHN0cnVjdCBsaW1hX3NjaGVkX3Rhc2sgKnRhc2spCj4+ PiAgICAJbXV0ZXhfdW5sb2NrKCZkZXYtPmVycm9yX3Rhc2tfbGlzdF9sb2NrKTsKPj4+ICAgIH0K Pj4+ICAgIAo+Pj4gLXN0YXRpYyB2b2lkIGxpbWFfc2NoZWRfdGltZWRvdXRfam9iKHN0cnVjdCBk cm1fc2NoZWRfam9iICpqb2IpCj4+PiArc3RhdGljIGVudW0gZHJtX3Rhc2tfc3RhdHVzIGxpbWFf c2NoZWRfdGltZWRvdXRfam9iKHN0cnVjdCBkcm1fc2NoZWRfam9iICpqb2IpCj4+PiAgICB7Cj4+ PiAgICAJc3RydWN0IGxpbWFfc2NoZWRfcGlwZSAqcGlwZSA9IHRvX2xpbWFfcGlwZShqb2ItPnNj aGVkKTsKPj4+ICAgIAlzdHJ1Y3QgbGltYV9zY2hlZF90YXNrICp0YXNrID0gdG9fbGltYV90YXNr KGpvYik7Cj4+PiBAQCAtNDQ5LDYgKzQ0OSw4IEBAIHN0YXRpYyB2b2lkIGxpbWFfc2NoZWRfdGlt ZWRvdXRfam9iKHN0cnVjdCBkcm1fc2NoZWRfam9iICpqb2IpCj4+PiAgICAKPj4+ICAgIAlkcm1f c2NoZWRfcmVzdWJtaXRfam9icygmcGlwZS0+YmFzZSk7Cj4+PiAgICAJZHJtX3NjaGVkX3N0YXJ0 KCZwaXBlLT5iYXNlLCB0cnVlKTsKPj4+ICsKPj4+ICsJcmV0dXJuIERSTV9UQVNLX1NUQVRVU19B TElWRTsKPj4+ICAgIH0KPj4+ICAgIAo+Pj4gICAgc3RhdGljIHZvaWQgbGltYV9zY2hlZF9mcmVl X2pvYihzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9iKQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9qb2IuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9z dC9wYW5mcm9zdF9qb2IuYwo+Pj4gaW5kZXggMDRlNmY2Zi4uMTBkNDFhYyAxMDA2NDQKPj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9qb2IuYwo+Pj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2pvYi5jCj4+PiBAQCAtNDMyLDcgKzQzMiw4 IEBAIHN0YXRpYyB2b2lkIHBhbmZyb3N0X3NjaGVkdWxlcl9zdGFydChzdHJ1Y3QgcGFuZnJvc3Rf cXVldWVfc3RhdGUgKnF1ZXVlKQo+Pj4gICAgCW11dGV4X3VubG9jaygmcXVldWUtPmxvY2spOwo+ Pj4gICAgfQo+Pj4gICAgCj4+PiAtc3RhdGljIHZvaWQgcGFuZnJvc3Rfam9iX3RpbWVkb3V0KHN0 cnVjdCBkcm1fc2NoZWRfam9iICpzY2hlZF9qb2IpCj4+PiArc3RhdGljIGVudW0gZHJtX3Rhc2tf c3RhdHVzIHBhbmZyb3N0X2pvYl90aW1lZG91dChzdHJ1Y3QgZHJtX3NjaGVkX2pvYgo+Pj4gKwkJ CQkJCSAgKnNjaGVkX2pvYikKPj4+ICAgIHsKPj4+ICAgIAlzdHJ1Y3QgcGFuZnJvc3Rfam9iICpq b2IgPSB0b19wYW5mcm9zdF9qb2Ioc2NoZWRfam9iKTsKPj4+ICAgIAlzdHJ1Y3QgcGFuZnJvc3Rf ZGV2aWNlICpwZmRldiA9IGpvYi0+cGZkZXY7Cj4+PiBAQCAtNDQzLDcgKzQ0NCw3IEBAIHN0YXRp YyB2b2lkIHBhbmZyb3N0X2pvYl90aW1lZG91dChzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRf am9iKQo+Pj4gICAgCSAqIHNwdXJpb3VzLiBCYWlsIG91dC4KPj4+ICAgIAkgKi8KPj4+ICAgIAlp ZiAoZG1hX2ZlbmNlX2lzX3NpZ25hbGVkKGpvYi0+ZG9uZV9mZW5jZSkpCj4+PiAtCQlyZXR1cm47 Cj4+PiArCQlyZXR1cm4gRFJNX1RBU0tfU1RBVFVTX0FMSVZFOwo+Pj4gICAgCj4+PiAgICAJZGV2 X2VycihwZmRldi0+ZGV2LCAiZ3B1IHNjaGVkIHRpbWVvdXQsIGpzPSVkLCBjb25maWc9MHgleCwg c3RhdHVzPTB4JXgsIGhlYWQ9MHgleCwgdGFpbD0weCV4LCBzY2hlZF9qb2I9JXAiLAo+Pj4gICAg CQlqcywKPj4+IEBAIC00NTUsMTEgKzQ1NiwxMyBAQCBzdGF0aWMgdm9pZCBwYW5mcm9zdF9qb2Jf dGltZWRvdXQoc3RydWN0IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYikKPj4+ICAgIAo+Pj4gICAg CS8qIFNjaGVkdWxlciBpcyBhbHJlYWR5IHN0b3BwZWQsIG5vdGhpbmcgdG8gZG8uICovCj4+PiAg ICAJaWYgKCFwYW5mcm9zdF9zY2hlZHVsZXJfc3RvcCgmcGZkZXYtPmpzLT5xdWV1ZVtqc10sIHNj aGVkX2pvYikpCj4+PiAtCQlyZXR1cm47Cj4+PiArCQlyZXR1cm4gRFJNX1RBU0tfU1RBVFVTX0FM SVZFOwo+Pj4gICAgCj4+PiAgICAJLyogU2NoZWR1bGUgYSByZXNldCBpZiB0aGVyZSdzIG5vIHJl c2V0IGluIHByb2dyZXNzLiAqLwo+Pj4gICAgCWlmICghYXRvbWljX3hjaGcoJnBmZGV2LT5yZXNl dC5wZW5kaW5nLCAxKSkKPj4+ICAgIAkJc2NoZWR1bGVfd29yaygmcGZkZXYtPnJlc2V0Lndvcmsp Owo+Pj4gKwo+Pj4gKwlyZXR1cm4gRFJNX1RBU0tfU1RBVFVTX0FMSVZFOwo+Pj4gICAgfQo+Pj4g ICAgCj4+PiAgICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9zY2hlZF9iYWNrZW5kX29wcyBwYW5m cm9zdF9zY2hlZF9vcHMgPSB7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NjaGVk dWxlci9zY2hlZF9tYWluLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4u Ywo+Pj4gaW5kZXggOTI2MzdiNy4uNzNmY2NjNSAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc2No ZWR1bGVyL3NjaGVkX21haW4uYwo+Pj4gQEAgLTUyNyw3ICs1MjcsNyBAQCB2b2lkIGRybV9zY2hl ZF9zdGFydChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLCBib29sIGZ1bGxfcmVjb3Zl cnkpCj4+PiAgICBFWFBPUlRfU1lNQk9MKGRybV9zY2hlZF9zdGFydCk7Cj4+PiAgICAKPj4+ICAg IC8qKgo+Pj4gLSAqIGRybV9zY2hlZF9yZXN1Ym1pdF9qb2JzIC0gaGVscGVyIHRvIHJlbHVuY2gg am9iIGZyb20gcGVuZGluZyByaW5nIGxpc3QKPj4+ICsgKiBkcm1fc2NoZWRfcmVzdWJtaXRfam9i cyAtIGhlbHBlciB0byByZWxhdW5jaCBqb2JzIGZyb20gdGhlIHBlbmRpbmcgbGlzdAo+Pj4gICAg ICoKPj4+ICAgICAqIEBzY2hlZDogc2NoZWR1bGVyIGluc3RhbmNlCj4+PiAgICAgKgo+Pj4gQEAg LTU2MSw4ICs1NjEsNiBAQCB2b2lkIGRybV9zY2hlZF9yZXN1Ym1pdF9qb2JzKHN0cnVjdCBkcm1f Z3B1X3NjaGVkdWxlciAqc2NoZWQpCj4+PiAgICAJCX0gZWxzZSB7Cj4+PiAgICAJCQlzX2pvYi0+ c19mZW5jZS0+cGFyZW50ID0gZmVuY2U7Cj4+PiAgICAJCX0KPj4+IC0KPj4+IC0KPj4+ICAgIAl9 Cj4+PiAgICB9Cj4+PiAgICBFWFBPUlRfU1lNQk9MKGRybV9zY2hlZF9yZXN1Ym1pdF9qb2JzKTsK Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9zY2hlZC5jIGIvZHJpdmVy cy9ncHUvZHJtL3YzZC92M2Rfc2NoZWQuYwo+Pj4gaW5kZXggNDUyNjgyZS4uMzc0MDY2NWUgMTAw NjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9zY2hlZC5jCj4+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9zY2hlZC5jCj4+PiBAQCAtMjU5LDcgKzI1OSw3IEBAIHYz ZF9jYWNoZV9jbGVhbl9qb2JfcnVuKHN0cnVjdCBkcm1fc2NoZWRfam9iICpzY2hlZF9qb2IpCj4+ PiAgICAJcmV0dXJuIE5VTEw7Cj4+PiAgICB9Cj4+PiAgICAKPj4+IC1zdGF0aWMgdm9pZAo+Pj4g K3N0YXRpYyBlbnVtIGRybV90YXNrX3N0YXR1cwo+Pj4gICAgdjNkX2dwdV9yZXNldF9mb3JfdGlt ZW91dChzdHJ1Y3QgdjNkX2RldiAqdjNkLCBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRfam9i KQo+Pj4gICAgewo+Pj4gICAgCWVudW0gdjNkX3F1ZXVlIHE7Cj4+PiBAQCAtMjg1LDYgKzI4NSw4 IEBAIHYzZF9ncHVfcmVzZXRfZm9yX3RpbWVvdXQoc3RydWN0IHYzZF9kZXYgKnYzZCwgc3RydWN0 IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYikKPj4+ICAgIAl9Cj4+PiAgICAKPj4+ICAgIAltdXRl eF91bmxvY2soJnYzZC0+cmVzZXRfbG9jayk7Cj4+PiArCj4+PiArCXJldHVybiBEUk1fVEFTS19T VEFUVVNfQUxJVkU7Cj4+PiAgICB9Cj4+PiAgICAKPj4+ICAgIC8qIElmIHRoZSBjdXJyZW50IGFk ZHJlc3Mgb3IgcmV0dXJuIGFkZHJlc3MgaGF2ZSBjaGFuZ2VkLCB0aGVuIHRoZSBHUFUKPj4+IEBA IC0yOTIsNyArMjk0LDcgQEAgdjNkX2dwdV9yZXNldF9mb3JfdGltZW91dChzdHJ1Y3QgdjNkX2Rl diAqdjNkLCBzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRfam9iKQo+Pj4gICAgICogY291bGQg ZmFpbCBpZiB0aGUgR1BVIGdvdCBpbiBhbiBpbmZpbml0ZSBsb29wIGluIHRoZSBDTCwgYnV0IHRo YXQKPj4+ICAgICAqIGlzIHByZXR0eSB1bmxpa2VseSBvdXRzaWRlIG9mIGFuIGktZy10IHRlc3Rj YXNlLgo+Pj4gICAgICovCj4+PiAtc3RhdGljIHZvaWQKPj4+ICtzdGF0aWMgZW51bSBkcm1fdGFz a19zdGF0dXMKPj4+ICAgIHYzZF9jbF9qb2JfdGltZWRvdXQoc3RydWN0IGRybV9zY2hlZF9qb2Ig KnNjaGVkX2pvYiwgZW51bSB2M2RfcXVldWUgcSwKPj4+ICAgIAkJICAgIHUzMiAqdGltZWRvdXRf Y3RjYSwgdTMyICp0aW1lZG91dF9jdHJhKQo+Pj4gICAgewo+Pj4gQEAgLTMwNCwzOSArMzA2LDM5 IEBAIHYzZF9jbF9qb2JfdGltZWRvdXQoc3RydWN0IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYiwg ZW51bSB2M2RfcXVldWUgcSwKPj4+ICAgIAlpZiAoKnRpbWVkb3V0X2N0Y2EgIT0gY3RjYSB8fCAq dGltZWRvdXRfY3RyYSAhPSBjdHJhKSB7Cj4+PiAgICAJCSp0aW1lZG91dF9jdGNhID0gY3RjYTsK Pj4+ICAgIAkJKnRpbWVkb3V0X2N0cmEgPSBjdHJhOwo+Pj4gLQkJcmV0dXJuOwo+Pj4gKwkJcmV0 dXJuIERSTV9UQVNLX1NUQVRVU19BTElWRTsKPj4+ICAgIAl9Cj4+PiAgICAKPj4+IC0JdjNkX2dw dV9yZXNldF9mb3JfdGltZW91dCh2M2QsIHNjaGVkX2pvYik7Cj4+PiArCXJldHVybiB2M2RfZ3B1 X3Jlc2V0X2Zvcl90aW1lb3V0KHYzZCwgc2NoZWRfam9iKTsKPj4+ICAgIH0KPj4+ICAgIAo+Pj4g LXN0YXRpYyB2b2lkCj4+PiArc3RhdGljIGVudW0gZHJtX3Rhc2tfc3RhdHVzCj4+PiAgICB2M2Rf YmluX2pvYl90aW1lZG91dChzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRfam9iKQo+Pj4gICAg ewo+Pj4gICAgCXN0cnVjdCB2M2RfYmluX2pvYiAqam9iID0gdG9fYmluX2pvYihzY2hlZF9qb2Ip Owo+Pj4gICAgCj4+PiAtCXYzZF9jbF9qb2JfdGltZWRvdXQoc2NoZWRfam9iLCBWM0RfQklOLAo+ Pj4gLQkJCSAgICAmam9iLT50aW1lZG91dF9jdGNhLCAmam9iLT50aW1lZG91dF9jdHJhKTsKPj4+ ICsJcmV0dXJuIHYzZF9jbF9qb2JfdGltZWRvdXQoc2NoZWRfam9iLCBWM0RfQklOLAo+Pj4gKwkJ CQkgICAmam9iLT50aW1lZG91dF9jdGNhLCAmam9iLT50aW1lZG91dF9jdHJhKTsKPj4+ICAgIH0K Pj4+ICAgIAo+Pj4gLXN0YXRpYyB2b2lkCj4+PiArc3RhdGljIGVudW0gZHJtX3Rhc2tfc3RhdHVz Cj4+PiAgICB2M2RfcmVuZGVyX2pvYl90aW1lZG91dChzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2No ZWRfam9iKQo+Pj4gICAgewo+Pj4gICAgCXN0cnVjdCB2M2RfcmVuZGVyX2pvYiAqam9iID0gdG9f cmVuZGVyX2pvYihzY2hlZF9qb2IpOwo+Pj4gICAgCj4+PiAtCXYzZF9jbF9qb2JfdGltZWRvdXQo c2NoZWRfam9iLCBWM0RfUkVOREVSLAo+Pj4gLQkJCSAgICAmam9iLT50aW1lZG91dF9jdGNhLCAm am9iLT50aW1lZG91dF9jdHJhKTsKPj4+ICsJcmV0dXJuIHYzZF9jbF9qb2JfdGltZWRvdXQoc2No ZWRfam9iLCBWM0RfUkVOREVSLAo+Pj4gKwkJCQkgICAmam9iLT50aW1lZG91dF9jdGNhLCAmam9i LT50aW1lZG91dF9jdHJhKTsKPj4+ICAgIH0KPj4+ICAgIAo+Pj4gLXN0YXRpYyB2b2lkCj4+PiAr c3RhdGljIGVudW0gZHJtX3Rhc2tfc3RhdHVzCj4+PiAgICB2M2RfZ2VuZXJpY19qb2JfdGltZWRv dXQoc3RydWN0IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYikKPj4+ICAgIHsKPj4+ICAgIAlzdHJ1 Y3QgdjNkX2pvYiAqam9iID0gdG9fdjNkX2pvYihzY2hlZF9qb2IpOwo+Pj4gICAgCj4+PiAtCXYz ZF9ncHVfcmVzZXRfZm9yX3RpbWVvdXQoam9iLT52M2QsIHNjaGVkX2pvYik7Cj4+PiArCXJldHVy biB2M2RfZ3B1X3Jlc2V0X2Zvcl90aW1lb3V0KGpvYi0+djNkLCBzY2hlZF9qb2IpOwo+Pj4gICAg fQo+Pj4gICAgCj4+PiAtc3RhdGljIHZvaWQKPj4+ICtzdGF0aWMgZW51bSBkcm1fdGFza19zdGF0 dXMKPj4+ICAgIHYzZF9jc2Rfam9iX3RpbWVkb3V0KHN0cnVjdCBkcm1fc2NoZWRfam9iICpzY2hl ZF9qb2IpCj4+PiAgICB7Cj4+PiAgICAJc3RydWN0IHYzZF9jc2Rfam9iICpqb2IgPSB0b19jc2Rf am9iKHNjaGVkX2pvYik7Cj4+PiBAQCAtMzQ4LDEwICszNTAsMTAgQEAgdjNkX2NzZF9qb2JfdGlt ZWRvdXQoc3RydWN0IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYikKPj4+ICAgIAkgKi8KPj4+ICAg IAlpZiAoam9iLT50aW1lZG91dF9iYXRjaGVzICE9IGJhdGNoZXMpIHsKPj4+ICAgIAkJam9iLT50 aW1lZG91dF9iYXRjaGVzID0gYmF0Y2hlczsKPj4+IC0JCXJldHVybjsKPj4+ICsJCXJldHVybiBE Uk1fVEFTS19TVEFUVVNfQUxJVkU7Cj4+PiAgICAJfQo+Pj4gICAgCj4+PiAtCXYzZF9ncHVfcmVz ZXRfZm9yX3RpbWVvdXQodjNkLCBzY2hlZF9qb2IpOwo+Pj4gKwlyZXR1cm4gdjNkX2dwdV9yZXNl dF9mb3JfdGltZW91dCh2M2QsIHNjaGVkX2pvYik7Cj4+PiAgICB9Cj4+PiAgICAKPj4+ICAgIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3NjaGVkX2JhY2tlbmRfb3BzIHYzZF9iaW5fc2NoZWRfb3Bz ID0gewo+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaCBiL2luY2x1 ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaAo+Pj4gaW5kZXggOTc1ZThhNi4uM2JhMzZiYyAxMDA2NDQK Pj4+IC0tLSBhL2luY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaAo+Pj4gKysrIGIvaW5jbHVkZS9k cm0vZ3B1X3NjaGVkdWxlci5oCj4+PiBAQCAtMjA2LDYgKzIwNiwxMSBAQCBzdGF0aWMgaW5saW5l IGJvb2wgZHJtX3NjaGVkX2ludmFsaWRhdGVfam9iKHN0cnVjdCBkcm1fc2NoZWRfam9iICpzX2pv YiwKPj4+ICAgIAlyZXR1cm4gc19qb2IgJiYgYXRvbWljX2luY19yZXR1cm4oJnNfam9iLT5rYXJt YSkgPiB0aHJlc2hvbGQ7Cj4+PiAgICB9Cj4+PiAgICAKPj4+ICtlbnVtIGRybV90YXNrX3N0YXR1 cyB7Cj4+PiArCURSTV9UQVNLX1NUQVRVU19FTk9ERVYsCj4+PiArCURSTV9UQVNLX1NUQVRVU19B TElWRQo+Pj4gK307Cj4+PiArCj4+PiAgICAvKioKPj4+ICAgICAqIHN0cnVjdCBkcm1fc2NoZWRf YmFja2VuZF9vcHMKPj4+ICAgICAqCj4+PiBAQCAtMjMwLDEwICsyMzUsMTYgQEAgc3RydWN0IGRy bV9zY2hlZF9iYWNrZW5kX29wcyB7Cj4+PiAgICAJc3RydWN0IGRtYV9mZW5jZSAqKCpydW5fam9i KShzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRfam9iKTsKPj4+ICAgIAo+Pj4gICAgCS8qKgo+ Pj4gLSAgICAgICAgICogQHRpbWVkb3V0X2pvYjogQ2FsbGVkIHdoZW4gYSBqb2IgaGFzIHRha2Vu IHRvbyBsb25nIHRvIGV4ZWN1dGUsCj4+PiAtICAgICAgICAgKiB0byB0cmlnZ2VyIEdQVSByZWNv dmVyeS4KPj4+ICsJICogQHRpbWVkb3V0X2pvYjogQ2FsbGVkIHdoZW4gYSBqb2IgaGFzIHRha2Vu IHRvbyBsb25nIHRvIGV4ZWN1dGUsCj4+PiArCSAqIHRvIHRyaWdnZXIgR1BVIHJlY292ZXJ5Lgo+ Pj4gKwkgKgo+Pj4gKwkgKiBSZXR1cm4gRFJNX1RBU0tfU1RBVFVTX0FMSVZFLCBpZiB0aGUgdGFz ayAoam9iKSBpcyBoZWFsdGh5Cj4+PiArCSAqIGFuZCBleGVjdXRpbmcgaW4gdGhlIGhhcmR3YXJl LCBpLmUuIGl0IG5lZWRzIG1vcmUgdGltZS4KPj4+ICsJICoKPj4+ICsJICogUmV0dXJuIERSTV9U QVNLX1NUQVRVU19FTk9ERVYsIGlmIHRoZSB0YXNrIChqb2IpIGhhcwo+Pj4gKwkgKiBiZWVuIGFi b3J0ZWQuCj4+PiAgICAJICovCj4+PiAtCXZvaWQgKCp0aW1lZG91dF9qb2IpKHN0cnVjdCBkcm1f c2NoZWRfam9iICpzY2hlZF9qb2IpOwo+Pj4gKwllbnVtIGRybV90YXNrX3N0YXR1cyAoKnRpbWVk b3V0X2pvYikoc3RydWN0IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYik7Cj4+PiAgICAKPj4+ICAg IAkvKioKPj4+ICAgICAgICAgICAgICogQGZyZWVfam9iOiBDYWxsZWQgb25jZSB0aGUgam9iJ3Mg ZmluaXNoZWQgZmVuY2UgaGFzIGJlZW4gc2lnbmFsZWQKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=