From nobody Wed Apr 15 19:23:55 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AA15AC4332F for ; Thu, 17 Nov 2022 16:53:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234864AbiKQQxX (ORCPT ); Thu, 17 Nov 2022 11:53:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57590 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234292AbiKQQxV (ORCPT ); Thu, 17 Nov 2022 11:53:21 -0500 Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D5573331 for ; Thu, 17 Nov 2022 08:53:19 -0800 (PST) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id 989633201B69; Thu, 17 Nov 2022 11:53:15 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Thu, 17 Nov 2022 11:53:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-type:date:date:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to; s=fm2; t= 1668703995; x=1668790395; bh=FbzlDkkhhsRtKSZiUm2xWhCcXLtVXKnc1W3 izJLploc=; b=Q/266Oy+xDLeuIV4Kf5CL1NHL7bAxNsInYyW4KsyQ3HCpNw9cHE dGhwAppw14wJKRPMUhL3OCzPc4MHEajCb5+7UHkc4XUvHtLWHFYmyMVc8nKnF2jH TA/jE/wJirFQ4yctUTYNyW9c7JbP4rx/rpWmzpiUubEG/o8xtXt037To+G/QqBra 009fhxDNboiMNF0A3vvEfzZ95B3jk2ZqSnOxdXNY1XJSOF8cF/g/7n3o64qprOGJ YEELav7az3jiUO2w5VLF6RcNkjMvpewKeB7Ix1ySwFDvdxKHhbe+68fhfIxn8NNj hHQYCqAE89CoZjk7qf1vuoZYMlwIr0OlZtg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:message-id:mime-version :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1668703995; x= 1668790395; bh=FbzlDkkhhsRtKSZiUm2xWhCcXLtVXKnc1W3izJLploc=; b=w kH5BeJJ0sxtl3xiySYdhYXXot1xbFrHsakf599nx+1VS0Wp9N8XtcwZSZDeHebpv 5iO113iphsejg6/oZRiQnUjznHRBwLZv17HRs35gFEg9WkGZDBqO8FvE43lyNeoY +U+VxaO+8J07/4hvimbbyHK7r6cmOxdVsXHIr1OpwUSRgr9oX9xPM5L9l/SNMDkC bNok6KkBXuu8bwNxhGDU7qkdI3EKOinFSSNSmEIKq71hisZ6i6drfzUG5D8Imt96 oD0zj022aw0D2/CWrI0eMT5SFohIcDSmaU84y312vSytcyWSOMAPkzuRgQKne23h 9WW1y5ufVgJHT5G8l8GWw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrgeekgdelvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvvefukfggtggusehgtderredttddvnecuhfhrohhmpeforgigihhmvgcu tfhiphgrrhguuceomhgrgihimhgvsegtvghrnhhordhtvggthheqnecuggftrfgrthhtvg hrnhepteeifeeigeetgfffgedufeefheekgfevuefgtdehffefheelleejveeviefhgfek necuffhomhgrihhnpehfrhgvvgguvghskhhtohhprdhorhhgpdgsohhothhlihhnrdgtoh hmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgr gihimhgvsegtvghrnhhordhtvggthh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 17 Nov 2022 11:53:14 -0500 (EST) Date: Thu, 17 Nov 2022 17:53:11 +0100 From: Maxime Ripard To: Daniel Vetter , David Airlie , Maarten Lankhorst , Thomas Zimmermann , Maxime Ripard , Greg Kroah-Hartman , "Rafael J. Wysocki" Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: DRM-managed resources / devm_drm_dev_alloc leaking resources Message-ID: <20221117165311.vovrc7usy4efiytl@houat> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="xbb4rrcandpnbw3a" Content-Disposition: inline Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --xbb4rrcandpnbw3a Content-Disposition: inline MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksCgpBZnRlciB0cnlpbmcgdG8gZ2V0IG1vcmUga3VuaXQgdGVzdHMgZm9yIEtNUywgSSBmb3Vu ZCBvdXQgdGhhdCB0aGUKcmVjZW50IGt1bml0IGhlbHBlcnMgd2UgbWVyZ2VkIHRvIGNyZWF0ZSBh IERSTSBkZXZpY2UgWzFdIGFyZSBicm9rZW4gYW5kCndvbid0IGZyZWUgdGhlaXIgZGV2aWNlLW1h bmFnZWQgYW5kIERSTS1tYW5hZ2VkIHJlc291cmNlcy4KCldpdGggc29tZSBoZWxwIGZyb20gVGhv bWFzLCB3ZSd2ZSBkdWcgaW50byB0aGlzIGFuZCBpdCB0dXJucyBvdXQgdGhhdCBpZgp3ZSBhbGxv Y2F0ZSBhIGRldmljZSB3aXRoIHJvb3RfZGV2aWNlX3JlZ2lzdGVyLCBpbml0aWFsaXNlIG91ciBk cm0KZGV2aWNlIHdpdGggZGV2bV9kcm1fZGV2X2FsbG9jKCksIHJlZ2lzdGVyIGl0IHVzaW5nIGRy bV9kZXZfcmVnaXN0ZXIoKSwKdW5yZWdpc3RlciBpdCB1c2luZyBkcm1fZGV2X3VucmVnaXN0ZXIv ZHJtX2Rldl91bnBsdWcgYW5kIHRoZW4gcmVtb3ZlCnRoZSBwYXJlbnQgZGV2aWNlLCBuZWl0aGVy IHRoZSBkZXZpY2UgbWFuYWdlZCBub3IgdGhlIERSTSBtYW5hZ2VkCmFjdGlvbnMgYXJlIHJ1bi4K CnJvb3RfZGV2aWNlX3JlZ2lzdGVyIGluaXRpYWxpemVzIHRoZSBkZXZpY2UgYnkgZXZlbnR1YWxs eSBjYWxsaW5nCmRldmljZV9pbml0aWFsaXplKCkgd2hpY2ggc2V0cyB0aGUgaW5pdGlhbCByZWZl cmVuY2UgY291bnQgb2YgdGhlIHJvb3QKZGV2aWNlIHRvIDEgWzJdLiBkZXZtX2RybV9kZXZfYWxs b2MoKSB0aGVuIGNvbWVzIGluLCBkcm1fZGV2X2luaXQoKSB3aWxsCmluY3JlYXNlIHRoZSByb290 IGRldmljZSByZWZjb3VudCBbM10gYW5kIGluaXRpYWxpemUgb3VyIERSTSBkZXZpY2UgdG8gMQpb NF0uIGRybV9kZXZfcmVnaXN0ZXIoKSwgdGhyb3VnaCBkcm1fbWlub3JfcmVnaXN0ZXIoKSBhbmQg ZGV2aWNlX2FkZCgpLAp3aWxsIGluY3JlYXNlIHRoZSByb290IGRldmljZSByZWZjb3VudCBbNV0u CgpXaGVuIHVucm9sbGluZyB0aGluZ3MsIGRybV9kZXZfdW5yZWdpc3RlcigpLCB0aHJvdWdoCmRy bV9taW5vcl91bnJlZ2lzdGVyKCkgYW5kIGRldmljZV9kZWwoKSwgd2lsbCBnaXZlIHVwIGl0cyBy ZWZlcmVuY2UgWzZdLgpyb290X2RldmljZV91bnJlZ2lzdGVyKCksIHRocm91Z2ggZGV2aWNlX3Vu cmVnaXN0ZXIoKSwgd2lsbCBhbHNvIGdpdmUgdXAKaXRzIG93biBbN10uCgpTbyB3ZSBlbmQgdXAg d2l0aCB0aGlzIGZvciB0aGUgcmVmZXJlbmNlIGNvdW50czoKCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rCnwgICAgICAgICBmdW5jcyAgICAgICAg ICB8IHJvb3QgZGV2aWNlIHwgRFJNIGRldmljZSB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rCnwgcm9vdF9kZXZpY2VfcmVnaXN0ZXIgICB8ICAg ICAgICAgICAxIHwgTi9BICAgICAgICB8CnwgZGV2bV9kcm1fZGV2X2FsbG9jICAgICB8ICAgICAg ICAgICAyIHwgMSAgICAgICAgICB8CnwgZHJtX2Rldl9yZWdpc3RlciAgICAgICB8ICAgICAgICAg ICAzIHwgMSAgICAgICAgICB8CnwgZHJtX2Rldl91bnJlZ2lzdGVyICAgICB8ICAgICAgICAgICAy IHwgMSAgICAgICAgICB8Cnwgcm9vdF9kZXZpY2VfdW5yZWdpc3RlciB8ICAgICAgICAgICAxIHwg MSAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rCgpJZiB3ZSBnbyBiYWNrIHRvIHRoZSBsaXN0IG9mIHJlZmVyZW5jZSB0YWtlbiwg dGhlIHJvb3QgZGV2aWNlIHJlZmVyZW5jZQphbmQgdGhlIGluaXRpYWwgZHJtX2RldmljZSByZWZl cmVuY2UsIGJvdGggdGFrZW4gYnkgZGV2bV9kcm1fZGV2X2FsbG9jKCkKdGhyb3VnaCBkcm1fZGV2 X2luaXQoKSwgaGF2ZW4ndCBiZWVuIHB1dCBiYWNrLgoKSWYgd2UgbG9vayBhdCB0aGUgZHJtX2Rl dl9pbml0IGNvZGUoKSwgd2UgY2FuIHNlZSB0aGF0IGl0IHNldHMgdXAgYQpEUk0tbWFuYWdlZCBh Y3Rpb24gWzhdIHRoYXQgd2lsbCBwdXQgYmFjayB0aGUgZGV2aWNlIHJlZmVyZW5jZSBbOV0uIFRo ZQpEUk0tbWFuYWdlZCBjb2RlIGlzIGV4ZWN1dGVkIGJ5IHRoZSBkcm1fbWFuYWdlZF9jbGVhbnVw KCkgZnVuY3Rpb24sIHRoYXQKaXMgZXhlY3V0ZWQgYXMgcGFydCBvZiBhIHJlbGVhc2UgaG9vayBb MTBdIGV4ZWN1dGVkIG9uY2Ugd2UgZ2l2ZSB1cCB0aGUKZmluYWwgcmVmZXJlbmNlIHRvIHRoZSBE Uk0gZGV2aWNlIFsxMV0uCgpJZiB3ZSBnbyBiYWNrIGEgbGl0dGxlLCB0aGUgZmluYWwgcmVmZXJl bmNlIHRvIHRoZSBEUk0gZGV2aWNlIGlzCmFjdHVhbGx5IHRoZSBpbml0aWFsIG9uZSBzZXR1cCBi eSBkZXZtX2RybV9kZXZfYWxsb2MoKS4gVGhpcyBmdW5jdGlvbgpoYXMgc3VwZXJzZWRlZCBkcm1f ZGV2X2FsbG9jKCksIHdpdGggdGhlIGRvY3VtZW50YXRpb24gdGhhdCB3ZSBkbyBuZWVkIGEKZmlu YWwgZHJtX2Rldl9wdXQoKSB0byBwdXQgYmFjayBvdXIgZmluYWwgcmVmZXJlbmNlIFsxMl0uCgpk ZXZtX2RybV9kZXZfYWxsb2MoKSBpcyBhIG1vcmUgY29udmVuaWVudCB2YXJpYW50IHRoYXQgaGFz IGJlZW4KaW50cm9kdWNlZCBleHBsaWNpdGx5IHRvIG5vdCByZXF1aXJlIHRoYXQgZHJtX2Rldl9w dXQoKSwgYW5kIHN0YXRlcyBpdAphcyBzdWNoIGluIHRoZSBkb2N1bWVudGF0aW9uIFsxM10uIEl0 IGRvZXMgc28gYnkgYWRkaW5nIGEgZGV2aWNlLW1hbmFnZWQKYWN0aW9uIHRoYXQgd2lsbCBjYWxs IGRybV9kZXZfcHV0KCkgWzE0XS4KCkRldmljZS1tYW5hZ2VkIGFjdGlvbnMgYXJlIHJhbiBhcyBw YXJ0IGRldnJlc19yZWxlYXNlX2FsbCgpIHRoYXQgaXMKY2FsbGVkIGJ5IGRldmljZV9yZWxlYXNl KCkgWzE1XSwgaXRzZWxmIGJlaW5nIHJ1biB3aGVuIHRoZSBsYXN0CnJlZmVyZW5jZSBvbiB0aGUg ZGV2aWNlIGlzIHB1dCBiYWNrIFsxNl1bMTddWzE4XS4KClNvIGlmIHdlIHN1bSB0aGluZ3MgdXAs IHRoZSBEUk0gZGV2aWNlIHdpbGwgb25seSBnaXZlIGl0cyBsYXN0IHJvb3QKZGV2aWNlIHJlZmVy ZW5jZSB3aGVuIHRoZSBsYXN0IERSTSBkZXZpY2UgcmVmZXJlbmNlIHdpbGwgYmUgcHV0IGJhY2ss CmFuZCB0aGUgbGFzdCBEUk0gZGV2aWNlIHJlZmVyZW5jZSB3aWxsIGJlIHB1dCBiYWNrIHdoZW4g dGhlIGxhc3QgZGV2aWNlCnJlZmVyZW5jZSB3aWxsIGJlIHB1dCBiYWNrLCB3aGljaCBzb3VuZHMg dmVyeSBjaXJjdWxhciB0byBtZSwgd2l0aCBib3RoCmVuZGluZyB1cCBpbiBhIGRlYWRsb2NrIHNj ZW5hcmlvLgoKSSd2ZSBhZGRlZCB0d28ga3VuaXQgdGVzdHMgdGhhdCBkZW1vbnN0cmF0ZSB0aGUg aXNzdWU6IHdlIHJlZ2lzdGVyIGEKZGV2aWNlLCBhbGxvY2F0ZSBhbmQgcmVnaXN0ZXIgYSBEUk0g ZGV2aWNlLCByZWdpc3RlciBhIERSTS1tYW5hZ2VkCmFjdGlvbiwgcmVtb3ZlIHRoZSBEUk0gZGV2 aWNlIGFuZCB0aGUgcGFyZW50IGRldmljZSwgYW5kIHdhaXQgZm9yIHRoZQphY3Rpb24gdG8gZXhl Y3V0ZS4gZHJtX3JlZ2lzdGVyX3VucmVnaXN0ZXJfd2l0aF9kZXZtX3Rlc3QoKSB1c2VzIHRoZQpi cm9rZW4oPykgZGV2bV9kcm1fZGV2X2FsbG9jIGFuZCBpcyBmYWlsaW5nLgpkcm1fcmVnaXN0ZXJf dW5yZWdpc3Rlcl90ZXN0IHVzZXMgdGhlIGRlcHJlY2F0ZWQgZHJtX2Rldl9hbGxvYygpIHRoYXQK cmVxdWlyZXMgYW4gZXhwbGljaXQgY2FsbCB0byBkcm1fZGV2X3B1dCgpIHdoaWNoIHdvcmtzIGZp bmUuCgpJdCdzIGFsc28gd29ydGggbm90aW5nIHRoYXQgVGhvbWFzIHRlc3RlZCB3aXRoIHNpbXBs ZWRybSBhbmQgaXQgc2VlbXMgdG8Kd29yayBmaW5lLiBVc2luZyBhIHBsYXRmb3JtX2RldmljZSBp bnN0ZWFkIG9mIHRoZSByb290X2RldmljZSBkb2Vzbid0CmNoYW5nZSBhbnl0aGluZyB0byB0aGUg b3V0Y29tZSBpbiBteSB0ZXN0cywgc28gdGhlcmUgbWlnaHQgYmUgYSBtb3JlCnN1YnRsZSBiZWhh dmlvdXIgaW52b2x2ZWQuCgpUaGFua3MsCk1heGltZQoKLS0tLS0tLS0tIDg8IC0tLS0tLS0tLS0t CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVzdHMvZHJtX3JlZ2lzdGVyX3Rlc3QuYyBi L2RyaXZlcnMvZ3B1L2RybS90ZT0Kc3RzL2RybV9yZWdpc3Rlcl90ZXN0LmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zMjU2YjUzZDA4ZjIKLS0tIC9kZXYvbnVsbAor KysgYi9kcml2ZXJzL2dwdS9kcm0vdGVzdHMvZHJtX3JlZ2lzdGVyX3Rlc3QuYwpAQCAtMCwwICsx LDExNyBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKworI2luY2x1ZGUg PGRybS9kcm1fZHJ2Lmg+CisjaW5jbHVkZSA8ZHJtL2RybV9tYW5hZ2VkLmg+CisKKyNpbmNsdWRl IDxrdW5pdC9yZXNvdXJjZS5oPgorCisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVk ZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlICJkcm1fa3VuaXRfaGVscGVy cy5oIgorCitzdHJ1Y3QgdGVzdF9wcml2IHsKKwlib29sIHJlbGVhc2VfZG9uZTsKKwl3YWl0X3F1 ZXVlX2hlYWRfdCByZWxlYXNlX3dxOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fbW9k ZV9jb25maWdfZnVuY3MgZHJtX21vZGVfY29uZmlnX2Z1bmNzID0zRCB7Cit9OworCitzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9kcml2ZXIgZHJtX2RyaXZlciA9M0QgeworCS5kcml2ZXJfZmVhdHVy ZXMgPTNEIERSSVZFUl9NT0RFU0VULAorfTsKKworc3RhdGljIHZvaWQgZHJtX3JlbGVhc2Uoc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgdm9pZCAqcHRyKQoreworCXN0cnVjdCB0ZXN0X3ByaXYgKnBy aXYgPTNEIHB0cjsKKworCXByaXYtPnJlbGVhc2VfZG9uZSA9M0QgdHJ1ZTsKKwl3YWtlX3VwX2lu dGVycnVwdGlibGUoJnByaXYtPnJlbGVhc2Vfd3EpOworfQorCisjZGVmaW5lIFJFTEVBU0VfVElN RU9VVF9NUwk1MDAKKworc3RhdGljIHZvaWQgZHJtX3JlZ2lzdGVyX3VucmVnaXN0ZXJfdGVzdChz dHJ1Y3Qga3VuaXQgKnRlc3QpCit7CisJc3RydWN0IHRlc3RfcHJpdiAqcHJpdjsKKwlzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtOworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlpbnQgcmV0OworCisJcHJp diA9M0Qga3VuaXRfa3phbGxvYyh0ZXN0LCBzaXplb2YoKnByaXYpLCBHRlBfS0VSTkVMKTsKKwlL VU5JVF9BU1NFUlRfTk9UX0VSUl9PUl9OVUxMKHRlc3QsIHByaXYpOworCWluaXRfd2FpdHF1ZXVl X2hlYWQoJnByaXYtPnJlbGVhc2Vfd3EpOworCisJZGV2ID0zRCByb290X2RldmljZV9yZWdpc3Rl cigidGVzdCIpOworCUtVTklUX0FTU0VSVF9OT1RfRVJSX09SX05VTEwodGVzdCwgZGV2KTsKKwor CWRybSA9M0QgZHJtX2Rldl9hbGxvYygmZHJtX2RyaXZlciwgZGV2KTsKKwlLVU5JVF9BU1NFUlRf Tk9UX0VSUl9PUl9OVUxMKHRlc3QsIGRybSk7CisKKwlkcm0tPm1vZGVfY29uZmlnLmZ1bmNzID0z RCAmZHJtX21vZGVfY29uZmlnX2Z1bmNzOworCXJldCA9M0QgZHJtbV9tb2RlX2NvbmZpZ19pbml0 KGRybSk7CisJS1VOSVRfQVNTRVJUX0VRKHRlc3QsIHJldCwgMCk7CisKKwlyZXQgPTNEIGRybW1f YWRkX2FjdGlvbl9vcl9yZXNldChkcm0sIGRybV9yZWxlYXNlLCBwcml2KTsKKwlLVU5JVF9BU1NF UlRfRVEodGVzdCwgcmV0LCAwKTsKKworCXJldCA9M0QgZHJtX2Rldl9yZWdpc3Rlcihkcm0sIDAp OworCUtVTklUX0FTU0VSVF9FUSh0ZXN0LCByZXQsIDApOworCisJZHJtX2Rldl91bnJlZ2lzdGVy KGRybSk7CisJZHJtX2Rldl9wdXQoZHJtKTsKKwlyb290X2RldmljZV91bnJlZ2lzdGVyKGRldik7 CisKKwlyZXQgPTNEIHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZV90aW1lb3V0KHByaXYtPnJlbGVh c2Vfd3EsIHByaXYtPnJlbGVhc2VfPQpkb25lLAorCQkJCQkgICAgICAgbXNlY3NfdG9famlmZmll cyhSRUxFQVNFX1RJTUVPVVRfTVMpKTsKKwlLVU5JVF9FWFBFQ1RfR1QodGVzdCwgcmV0LCAwKTsK K30KKworc3RhdGljIHZvaWQgZHJtX3JlZ2lzdGVyX3VucmVnaXN0ZXJfd2l0aF9kZXZtX3Rlc3Qo c3RydWN0IGt1bml0ICp0ZXN0KQoreworCXN0cnVjdCB0ZXN0X3ByaXYgKnByaXY7CisJc3RydWN0 IGRybV9kZXZpY2UgKmRybTsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJaW50IHJldDsKKworCXBy aXYgPTNEIGt1bml0X2t6YWxsb2ModGVzdCwgc2l6ZW9mKCpwcml2KSwgR0ZQX0tFUk5FTCk7CisJ S1VOSVRfQVNTRVJUX05PVF9FUlJfT1JfTlVMTCh0ZXN0LCBwcml2KTsKKwlpbml0X3dhaXRxdWV1 ZV9oZWFkKCZwcml2LT5yZWxlYXNlX3dxKTsKKworCWRldiA9M0Qgcm9vdF9kZXZpY2VfcmVnaXN0 ZXIoInRlc3QiKTsKKwlLVU5JVF9BU1NFUlRfTk9UX0VSUl9PUl9OVUxMKHRlc3QsIGRldik7CisK Kwlkcm0gPTNEIF9fZGV2bV9kcm1fZGV2X2FsbG9jKGRldiwgJmRybV9kcml2ZXIsIHNpemVvZigq ZHJtKSwgMCk7CisJS1VOSVRfQVNTRVJUX05PVF9FUlJfT1JfTlVMTCh0ZXN0LCBkcm0pOworCisJ ZHJtLT5tb2RlX2NvbmZpZy5mdW5jcyA9M0QgJmRybV9tb2RlX2NvbmZpZ19mdW5jczsKKwlyZXQg PTNEIGRybW1fbW9kZV9jb25maWdfaW5pdChkcm0pOworCUtVTklUX0FTU0VSVF9FUSh0ZXN0LCBy ZXQsIDApOworCisJcmV0ID0zRCBkcm1tX2FkZF9hY3Rpb25fb3JfcmVzZXQoZHJtLCBkcm1fcmVs ZWFzZSwgcHJpdik7CisJS1VOSVRfQVNTRVJUX0VRKHRlc3QsIHJldCwgMCk7CisKKwlyZXQgPTNE IGRybV9kZXZfcmVnaXN0ZXIoZHJtLCAwKTsKKwlLVU5JVF9BU1NFUlRfRVEodGVzdCwgcmV0LCAw KTsKKworCWRybV9kZXZfdW5yZWdpc3Rlcihkcm0pOworCXJvb3RfZGV2aWNlX3VucmVnaXN0ZXIo ZGV2KTsKKworCXJldCA9M0Qgd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQocHJpdi0+ cmVsZWFzZV93cSwgcHJpdi0+cmVsZWFzZV89CmRvbmUsCisJCQkJCSAgICAgICBtc2Vjc190b19q aWZmaWVzKFJFTEVBU0VfVElNRU9VVF9NUykpOworCUtVTklUX0VYUEVDVF9HVCh0ZXN0LCByZXQs IDApOworfQorCitzdGF0aWMgc3RydWN0IGt1bml0X2Nhc2UgZHJtX3JlZ2lzdGVyX3Rlc3RzW10g PTNEIHsKKwlLVU5JVF9DQVNFKGRybV9yZWdpc3Rlcl91bnJlZ2lzdGVyX3Rlc3QpLAorCUtVTklU X0NBU0UoZHJtX3JlZ2lzdGVyX3VucmVnaXN0ZXJfd2l0aF9kZXZtX3Rlc3QpLAorCXt9Cit9Owor CitzdGF0aWMgc3RydWN0IGt1bml0X3N1aXRlIGRybV9yZWdpc3Rlcl90ZXN0X3N1aXRlID0zRCB7 CisJLm5hbWUgPTNEICJkcm0tdGVzdC1yZWdpc3RlciIsCisJLnRlc3RfY2FzZXMgPTNEIGRybV9y ZWdpc3Rlcl90ZXN0cworfTsKKwora3VuaXRfdGVzdF9zdWl0ZShkcm1fcmVnaXN0ZXJfdGVzdF9z dWl0ZSk7Ci0tLS0tLS0tLSA4PCAtLS0tLS0tLS0tLQoKMTogaHR0cHM6Ly9jZ2l0LmZyZWVkZXNr dG9wLm9yZy9kcm0tbWlzYy90cmVlL2RyaXZlcnMvZ3B1L2RybS90ZXN0cy9kcm1fa3VuPQppdF9o ZWxwZXJzLmMKMjogaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvbGF0ZXN0L3NvdXJj ZS9kcml2ZXJzL2Jhc2UvY29yZS5jI0wyOTc5CjM6IGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29t L2xpbnV4L2xhdGVzdC9zb3VyY2UvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYz0KI0w1OTcKNDog aHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvbGF0ZXN0L3NvdXJjZS9kcml2ZXJzL2dw dS9kcm0vZHJtX2Rydi5jPQojTDU5Ngo1OiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51 eC9sYXRlc3Qvc291cmNlL2RyaXZlcnMvYmFzZS9jb3JlLmMjTDM0MzcKNjogaHR0cHM6Ly9lbGl4 aXIuYm9vdGxpbi5jb20vbGludXgvbGF0ZXN0L3NvdXJjZS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Ry di5jPQojTDIwMQo3OiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC9sYXRlc3Qvc291 cmNlL2RyaXZlcnMvYmFzZS9jb3JlLmMjTDM3MzcKODogaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5j b20vbGludXgvbGF0ZXN0L3NvdXJjZS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jPQojTDYxOAo5 OiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC9sYXRlc3Qvc291cmNlL2RyaXZlcnMv Z3B1L2RybS9kcm1fZHJ2LmM9CiNMNTcwCjEwOiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9s aW51eC9sYXRlc3Qvc291cmNlL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2Lj0KYyNMNzUxCjExOiBo dHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC9sYXRlc3Qvc291cmNlL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZHJ2Lj0KYyNMNzg1CjEyOiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51 eC9sYXRlc3Qvc291cmNlL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2Lj0KYyNMMjU5CjEzOiBodHRw czovL2VsaXhpci5ib290bGluLmNvbS9saW51eC9sYXRlc3Qvc291cmNlL2luY2x1ZGUvZHJtL2Ry bV9kcnYuaCNMNT0KMDUKMTQ6IGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L2xhdGVz dC9zb3VyY2UvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuPQpjI0w2ODIKMTU6IGh0dHBzOi8vZWxp eGlyLmJvb3RsaW4uY29tL2xpbnV4L2xhdGVzdC9zb3VyY2UvZHJpdmVycy9iYXNlL2NvcmUuYyNM MjMyMQoxNjogaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvbGF0ZXN0L3NvdXJjZS9k cml2ZXJzL2Jhc2UvY29yZS5jI0wyMzU3CjE3OiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9s aW51eC9sYXRlc3Qvc291cmNlL2xpYi9rb2JqZWN0LmMjTDcyMQoxODogaHR0cHM6Ly9lbGl4aXIu Ym9vdGxpbi5jb20vbGludXgvbGF0ZXN0L3NvdXJjZS9saWIva29iamVjdC5jI0w2NDc= --xbb4rrcandpnbw3a Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCY3Zm9wAKCRDj7w1vZxhR xRDZAQCq3cO0Zmh91tOdX7YViOkpir2812yiXd53XNvG1W2sjgD+Klv+TpHUfmx6 lhJE2B1mOqhyh4biafZ6e/YsWNcMSgc= =roui -----END PGP SIGNATURE----- --xbb4rrcandpnbw3a--