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=-18.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 D91C5C433C1 for ; Mon, 22 Mar 2021 09:39:05 +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 5EA2E61864 for ; Mon, 22 Mar 2021 09:39:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5EA2E61864 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=qtec.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 8FC1289B98; Mon, 22 Mar 2021 09:39:04 +0000 (UTC) Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) by gabe.freedesktop.org (Postfix) with ESMTPS id E79A4899F0 for ; Mon, 22 Mar 2021 09:39:02 +0000 (UTC) Received: by mail-lf1-x12e.google.com with SMTP id w37so20165650lfu.13 for ; Mon, 22 Mar 2021 02:39:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qtec.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=ksspg3FFMdN1sor13zpqqr5pYbf18hxU1rtoDZmw3jw=; b=IR67x5uiz7K/UFKZjx8OHTjGiCPTJK3FA36dCziBUZV0FkSEa1WXOjpe8/in8RstEi egByR0oOJYhdXH2Q4joYbqSoQBQk53iKQdflKVWBQOF009sADjJOI6NFPEveX4PTnYSM M+GXiUnJNmYMZVJahzg2cHvCAwNhRJAzaiXUxLN/SZdP0X8sldWVLtJeeRsA2EYM2dok Q5Ji39wQ78Ba9GA/qPYNy/q+zyPj9I/AKgKRW1vYlyqRIeay8gIiSufsuo+d1/ELXRMu dnZ1UTtFsPx0Vn4BiKF+YKjy1uHrvGmc5+alR9qh3FkMNHt62Edb13r+H6mlqwzDF0sQ MdEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=ksspg3FFMdN1sor13zpqqr5pYbf18hxU1rtoDZmw3jw=; b=ofwdAB/lnvcmDOJDYTvrwe7zBcWY2QUm+AMr8ddDAA0mZvByhs+HbD1/rr7dQO8sf3 DJ7iNiR6EVXmdvyax6izOMJpooHjMe1oZ66sKLCgUeVp/WbGD+vQ/t13GUN5ai0dicBK Yv9de/9VByxhyQEESmyCBhfCCg0MchYS/EnVt7nlYLAdEbkubyuc0Z1jEy7zbNepsuLb jWliX1d/Ba2SEtJfbQYVezr2GPdR5X32O4UNEdUQ+lQR39LwEEz0mw26+Kp/q7MkctPE ZRF7sD0x1sldZn7YWBmqgbaI4hcNgzNrgR/mNkwlyfxlgHMQJEXLE7/WULlURjUrNkiB NYXw== X-Gm-Message-State: AOAM532GqJ8ecUzL0wgLQcYipSsdcM0fC5Q1fXXhVI6tTHp7eqJB637H Jo5v/ctqvMQClsluK4Bi+Wa9S84XHzeOOBH0Gzz+Tg== X-Google-Smtp-Source: ABdhPJwC/GRLitMizp3CWOi8HAMpF64lBxVzkcMOzcggRv7FJs2W02Bw2O3gZjU1mJ8uP+LFM0G3W7+jBganSv1ucRc= X-Received: by 2002:a19:ec13:: with SMTP id b19mr8963849lfa.238.1616405941273; Mon, 22 Mar 2021 02:39:01 -0700 (PDT) MIME-Version: 1.0 References: <20210318083236.43578-1-daniel@qtec.com> <375f0915-83b3-c729-b95f-939d828d24d0@amd.com> In-Reply-To: <375f0915-83b3-c729-b95f-939d828d24d0@amd.com> From: Daniel Gomez Date: Mon, 22 Mar 2021 10:38:50 +0100 Message-ID: Subject: Re: [PATCH] drm/radeon/ttm: Fix memory leak userptr pages To: Felix Kuehling 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: David Airlie , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "Deucher, Alexander" , "amd-gfx@lists.freedesktop.org" , "Koenig, Christian" , "dagmcr@gmail.com" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gRnJpLCAxOSBNYXIgMjAyMSBhdCAyMToyOSwgRmVsaXggS3VlaGxpbmcgPGZlbGl4Lmt1ZWhs aW5nQGFtZC5jb20+IHdyb3RlOgo+Cj4gVGhpcyBjYXVzZWQgYSByZWdyZXNzaW9uIGluIGtmZHRl c3QgaW4gYSBsYXJnZS1idWZmZXIgc3RyZXNzIHRlc3QgYWZ0ZXIKPiBtZW1vcnkgYWxsb2NhdGlv biBmb3IgdXNlciBwYWdlcyBmYWlsczoKCkknbSBzb3JyeSB0byBoZWFyIHRoYXQuIEJUVywgSSBn dWVzcyB5b3UgbWVhbnQgYW1kZ3B1IGxlYWsgcGF0Y2ggYW5kCm5vdCB0aGlzIG9uZS4KSnVzdCBz b21lIGJhY2tncm91bmQgZm9yIHRoZSBtZW0gbGVhayBwYXRjaCBpZiBoZWxwcyB0byB1bmRlcnN0 YW5kIHRoaXM6ClRoZSBsZWFrIHdhcyBpbnRyb2R1Y2UgaGVyZToKaHR0cHM6Ly9naXQua2VybmVs Lm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L2NvbW1pdC8/ aWQ9MGI5ODhjYTFjN2M0YzczOTgzYjRlYTk2ZWY3YzJhZjIyNjNjODdlYgp3aGVyZSB0aGUgYm91 bmQgc3RhdHVzIHdhcyBpbnRyb2R1Y2VkIGZvciBhbGwgZHJtIGRyaXZlcnMgaW5jbHVkaW5nCnJh ZGVvbiBhbmQgYW1kZ3B1LiBTbyB0aGlzIHBhdGNoIGp1c3QgcmV2ZXJ0cyB0aGUgbG9naWMgdG8g dGhlCm9yaWdpbmFsIGNvZGUgYnV0IGtlZXBpbmcgdGhlIGJvdW5kIHN0YXR1cy4gSW4gbXkgY2Fz ZSwgdGhlIGJpbmRpbmcKY29kZSBhbGxvY2F0ZXMgdGhlIHVzZXIgcGFnZXMgbWVtb3J5IGFuZCBy ZXR1cm5zIHdpdGhvdXQgYm91bmRpbmcgKGF0CmFtZGdwdV9ndHRfbWdyX2hhc19nYXJ0X2FkZHIp LiBTbywKd2hlbiB0aGUgdW5iaW5kaW5nIGhhcHBlbnMsIHRoZSBtZW1vcnkgbmVlZHMgdG8gYmUg Y2xlYXJlZCB0byBwcmV2ZW50IHRoZSBsZWFrLgoKPgo+IFsxNzM1OS41MzYzMDNdIGFtZGdwdTog aW5pdF91c2VyX3BhZ2VzOiBGYWlsZWQgdG8gZ2V0IHVzZXIgcGFnZXM6IC0xNgo+IFsxNzM1OS41 NDM3NDZdIEJVRzoga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSwgYWRkcmVzczogMDAw MDAwMDAwMDAwMDAwMAo+IFsxNzM1OS41NTE0OTRdICNQRjogc3VwZXJ2aXNvciByZWFkIGFjY2Vz cyBpbiBrZXJuZWwgbW9kZQo+IFsxNzM1OS41NTczNzVdICNQRjogZXJyb3JfY29kZSgweDAwMDAp IC0gbm90LXByZXNlbnQgcGFnZQo+IFsxNzM1OS41NjMyNDddIFBHRCAwIFA0RCAwCj4gWzE3MzU5 LjU2NjUxNF0gT29wczogMDAwMCBbIzFdIFNNUCBQVEkKPiBbMTczNTkuNTcwNzI4XSBDUFU6IDgg UElEOiA1OTQ0IENvbW06IGtmZHRlc3QgTm90IHRhaW50ZWQgNS4xMS4wLWtmZC1ma3VlaGxpbiAj MTkzCj4gWzE3MzU5LjU3ODc2MF0gSGFyZHdhcmUgbmFtZTogQVNVUyBBbGwgU2VyaWVzL1g5OS1F IFdTL1VTQiAzLjEsIEJJT1MgMzIwMSAwNi8xNy8yMDE2Cj4gWzE3MzU5LjU4Njk3MV0gUklQOiAw MDEwOmFtZGdwdV90dG1fYmFja2VuZF91bmJpbmQrMHg1Mi8weDExMCBbYW1kZ3B1XQo+IFsxNzM1 OS41OTQwNzVdIENvZGU6IDQ4IDM5IGM2IDc0IDFiIDhiIDUzIDBjIDQ4IDhkIGJkIDgwIGExIGZm IGZmIGU4IDI0IDYyIDAwIDAwIDg1IGMwIDBmIDg1IGFiIDAwIDAwIDAwIGM2IDQzIDU0IDAwIDVi IDVkIGMzIDQ4IDhiIDQ2IDEwIDhiIDRlIDUwIDw0OD4gOGIgMzAgNDggODUgZjYgNzQgYmEgOGIg NTAgMGMgNDggOGIgYmYgODAgYTEgZmYgZmYgODMgZTEgMDEgNDUKPiBbMTczNTkuNjE0MzQwXSBS U1A6IDAwMTg6ZmZmZmE0NzY0OTcxZmM5OCBFRkxBR1M6IDAwMDEwMjA2Cj4gWzE3MzU5LjYyMDMx NV0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjk1MGU4ZDRlZGYwMCBSQ1g6IDAwMDAw MDAwMDAwMDAwMDAKPiBbMTczNTkuNjI4MjA0XSBSRFg6IDAwMDAwMDAwMDAwMDAwMDAgUlNJOiBm ZmZmOTUwZThkNGVkZjAwIFJESTogZmZmZjk1MGVhZGVjNWU4MAo+IFsxNzM1OS42MzYwODRdIFJC UDogZmZmZjk1MGVhZGVjNWU4MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwMDAwMDAw MDAwMDAwCj4gWzE3MzU5LjY0Mzk1OF0gUjEwOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMTogMDAwMDAw MDAwMDAwMDAwMSBSMTI6IGZmZmY5NTBjMDMzNzc4MDAKPiBbMTczNTkuNjUxODMzXSBSMTM6IGZm ZmY5NTBlYWRlYzVlODAgUjE0OiBmZmZmOTUwYzAzMzc3ODU4IFIxNTogMDAwMDAwMDAwMDAwMDAw MAo+IFsxNzM1OS42NTk3MDFdIEZTOiAgMDAwMDdmZWJiMjBjYjc0MCgwMDAwKSBHUzpmZmZmOTUw ZWJmYzAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKPiBbMTczNTkuNjY4NTI4XSBD UzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCj4gWzE3MzU5 LjY3NTAxMl0gQ1IyOiAwMDAwMDAwMDAwMDAwMDAwIENSMzogMDAwMDAwMDZkNzAwZTAwNSBDUjQ6 IDAwMDAwMDAwMDAxNzA2ZTAKPiBbMTczNTkuNjgyODgzXSBDYWxsIFRyYWNlOgo+IFsxNzM1OS42 ODYwNjNdICBhbWRncHVfdHRtX2JhY2tlbmRfZGVzdHJveSsweDEyLzB4NzAgW2FtZGdwdV0KPiBb MTczNTkuNjkyMzQ5XSAgdHRtX2JvX2NsZWFudXBfbWVtdHlwZV91c2UrMHgzNy8weDYwIFt0dG1d Cj4gWzE3MzU5LjY5ODMwN10gIHR0bV9ib19yZWxlYXNlKzB4Mjc4LzB4NWUwIFt0dG1dCj4gWzE3 MzU5LjcwMzM4NV0gIGFtZGdwdV9ib191bnJlZisweDFhLzB4MzAgW2FtZGdwdV0KPiBbMTczNTku NzA4NzAxXSAgYW1kZ3B1X2FtZGtmZF9ncHV2bV9hbGxvY19tZW1vcnlfb2ZfZ3B1KzB4N2U1LzB4 OTEwIFthbWRncHVdCj4gWzE3MzU5LjcxNjMwN10gIGtmZF9pb2N0bF9hbGxvY19tZW1vcnlfb2Zf Z3B1KzB4MTFhLzB4MjIwIFthbWRncHVdCj4gWzE3MzU5LjcyMzAzNl0gIGtmZF9pb2N0bCsweDIy My8weDQwMCBbYW1kZ3B1XQo+IFsxNzM1OS43MjgwMTddICA/IGtmZF9kZXZfaXNfbGFyZ2VfYmFy KzB4OTAvMHg5MCBbYW1kZ3B1XQo+IFsxNzM1OS43MzQxNTJdICBfX3g2NF9zeXNfaW9jdGwrMHg4 Yi8weGQwCj4gWzE3MzU5LjczODc5Nl0gIGRvX3N5c2NhbGxfNjQrMHgyZC8weDQwCj4gWzE3MzU5 Ljc0MzI1OV0gIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkKPiBbMTcz NTkuNzQ5MjA1XSBSSVA6IDAwMzM6MHg3ZmViYjA4M2I2ZDcKPiBbMTczNTkuNzUzNjgxXSBDb2Rl OiBiMyA2NiA5MCA0OCA4YiAwNSBiMSA0NyAyZCAwMCA2NCBjNyAwMCAyNiAwMCAwMCAwMCA0OCBj NyBjMCBmZiBmZiBmZiBmZiBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCBiOCAxMCAw MCAwMCAwMCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDczIDAxIGMzIDQ4IDhiIDBkIDgxIDQ3 IDJkIDAwIGY3IGQ4IDY0IDg5IDAxIDQ4Cj4gWzE3MzU5Ljc3NDM0MF0gUlNQOiAwMDJiOjAwMDA3 ZmZkYjU1MjJjZDggRUZMQUdTOiAwMDAwMDIwMiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAxMAo+ IFsxNzM1OS43ODI2NjhdIFJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAw MDEgUkNYOiAwMDAwN2ZlYmIwODNiNmQ3Cj4gWzE3MzU5Ljc5MDU2Nl0gUkRYOiAwMDAwN2ZmZGI1 NTIyZDYwIFJTSTogMDAwMDAwMDBjMDI4NGIxNiBSREk6IDAwMDAwMDAwMDAwMDAwMDMKPiBbMTcz NTkuNzk4NDU5XSBSQlA6IDAwMDA3ZmZkYjU1MjJkMTAgUjA4OiAwMDAwN2ZmZGI1NTIyZGQwIFIw OTogMDAwMDAwMDBjNDAwMDAwNAo+IFsxNzM1OS44MDYzNTJdIFIxMDogMDAwMDAwMDAwMDAwMDAw MCBSMTE6IDAwMDAwMDAwMDAwMDAyMDIgUjEyOiAwMDAwNTU5NDE2ZTRlMmFhCj4gWzE3MzU5Ljgx NDI1MV0gUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogMDAwMDAwMDAwMDAwMDAyMSBSMTU6IDAw MDAwMDAwMDAwMDAwMDAKPiBbMTczNTkuODIyMTQwXSBNb2R1bGVzIGxpbmtlZCBpbjogaXA2dGFi bGVfZmlsdGVyIGlwNl90YWJsZXMgaXB0YWJsZV9maWx0ZXIgYW1kZ3B1IHg4Nl9wa2dfdGVtcF90 aGVybWFsIGRybV90dG1faGVscGVyIHR0bSBpb21tdV92MiBncHVfc2NoZWQgaXBfdGFibGVzIHhf dGFibGVzCj4gWzE3MzU5LjgzNzc3Nl0gQ1IyOiAwMDAwMDAwMDAwMDAwMDAwCj4gWzE3MzU5Ljg0 MTg4OF0gLS0tWyBlbmQgdHJhY2UgYTZmMjdkNjQ0NzViMjhjOCBdLS0tCj4gWzE3MzU5Ljg0NzMx OF0gUklQOiAwMDEwOmFtZGdwdV90dG1fYmFja2VuZF91bmJpbmQrMHg1Mi8weDExMCBbYW1kZ3B1 XQo+IFsxNzM1OS44NTQ0NzldIENvZGU6IDQ4IDM5IGM2IDc0IDFiIDhiIDUzIDBjIDQ4IDhkIGJk IDgwIGExIGZmIGZmIGU4IDI0IDYyIDAwIDAwIDg1IGMwIDBmIDg1IGFiIDAwIDAwIDAwIGM2IDQz IDU0IDAwIDViIDVkIGMzIDQ4IDhiIDQ2IDEwIDhiIDRlIDUwIDw0OD4gOGIgMzAgNDggODUgZjYg NzQgYmEgOGIgNTAgMGMgNDggOGIgYmYgODAgYTEgZmYgZmYgODMgZTEgMDEgNDUKPiBbMTczNTku ODc0OTI5XSBSU1A6IDAwMTg6ZmZmZmE0NzY0OTcxZmM5OCBFRkxBR1M6IDAwMDEwMjA2Cj4gWzE3 MzU5Ljg4MTAxNF0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjk1MGU4ZDRlZGYwMCBS Q1g6IDAwMDAwMDAwMDAwMDAwMDAKPiBbMTczNTkuODg5MDA3XSBSRFg6IDAwMDAwMDAwMDAwMDAw MDAgUlNJOiBmZmZmOTUwZThkNGVkZjAwIFJESTogZmZmZjk1MGVhZGVjNWU4MAo+IFsxNzM1OS44 OTcwMDhdIFJCUDogZmZmZjk1MGVhZGVjNWU4MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAw MDAwMDAwMDAwMDAwMDAwCj4gWzE3MzU5LjkwNTAyMF0gUjEwOiAwMDAwMDAwMDAwMDAwMjQ2IFIx MTogMDAwMDAwMDAwMDAwMDAwMSBSMTI6IGZmZmY5NTBjMDMzNzc4MDAKPiBbMTczNTkuOTEzMDM0 XSBSMTM6IGZmZmY5NTBlYWRlYzVlODAgUjE0OiBmZmZmOTUwYzAzMzc3ODU4IFIxNTogMDAwMDAw MDAwMDAwMDAwMAo+IFsxNzM1OS45MjEwNTBdIEZTOiAgMDAwMDdmZWJiMjBjYjc0MCgwMDAwKSBH UzpmZmZmOTUwZWJmYzAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKPiBbMTczNTku OTMwMDQ3XSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMz Cj4gWzE3MzU5LjkzNjY3NF0gQ1IyOiAwMDAwMDAwMDAwMDAwMDAwIENSMzogMDAwMDAwMDZkNzAw ZTAwNSBDUjQ6IDAwMDAwMDAwMDAxNzA2ZTAKCkZyb20gd2hhdCBJIHVuZGVyc3RhbmQsIHRoZSBp bml0X3VzZXJfcGFnZXMgZmFpbHMgKHJldHVybnMgRUJVU1kpIGFuZAp0aGUgY29kZSBnb2VzIHRv IGFsbG9jYXRlX2luaXRfdXNlcl9wYWdlc19mYWlsZWQgd2hlcmUgdGhlIHVuYmluZCBhbmQKdGhl IHVzZXJwdHIgY2xlYXIgb2NjdXJzLgpDYW4gd2UgcHJldmVudCB0aGlzIGlmIHdlIHNhdmUgdGhl IGJvdW5kaW5nIHN0YXR1cyArIHVzZXJwdHIgYWxsb2M/IHNvCnRoZSBmdW5jdGlvbiBhbWRncHVf dHRtX2JhY2tlbmRfdW5iaW5kIHJldHVybnMgd2l0aG91dCB0cnlpbmcgdG8gY2xlYXIKdGhlIHVz ZXJwdHIgbWVtb3J5PwoKU29tZXRoaW5nIGxpa2U6CgphbWRncHVfdHRtX2JhY2tlbmRfYmluZDoK ICAgIGlmIChndHQtPnVzZXJwdHIpIHsKICAgICAgICByID0gYW1kZ3B1X3R0bV90dF9waW5fdXNl cnB0cihiZGV2LCB0dG0pOwogICAgICAgIGlmIChyKSAuLi4KICAgICAgIGd0dC0+c2dfdGFibGUg PSB0cnVlOwogICB9CgphbWRncHVfdHRtX2JhY2tlbmRfdW5iaW5kOgppZiAoZ3R0LT5zZ190YWJs ZSkgewogICAgICAgIGlmIChndHQtPnVzZXJfcHRyKSAuLi4KfQoKSWYgeW91IGFncmVlLCBJJ2xs IHNlbmQgYSB2MiBwYXRjaC4gT3RoZXJ3aXNlLCBtYXliZSB3ZSBjb3VsZCByZXR1cm4Kd2l0aGlu IGFtZGdwdV90dG1fdHRfdW5waW5fdXNlcnB0ciBpZiBtZW1vcnkgaGFzbid0IGJlZW4gYWxsb2Nh dGVkLgoKQW55IG90aGVyIGlkZWFzPwoKUmVnYXJkcywKRGFuaWVsCgo+Cj4gUmV2ZXJ0aW5nIHRo aXMgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0gZm9yIG1lLgo+Cj4gUmVnYXJkcywKPiAgICBGZWxp eAo+Cj4gT24gMjAyMS0wMy0xOCAxMDo1NyBwLm0uLCBBbGV4IERldWNoZXIgd3JvdGU6Cj4gPiBB cHBsaWVkLiAgVGhhbmtzIQo+ID4KPiA+IEFsZXgKPiA+Cj4gPiBPbiBUaHUsIE1hciAxOCwgMjAy MSBhdCA1OjAwIEFNIEtvZW5pZywgQ2hyaXN0aWFuCj4gPiA8Q2hyaXN0aWFuLktvZW5pZ0BhbWQu Y29tPiB3cm90ZToKPiA+PiBSZXZpZXdlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFu LmtvZW5pZ0BhbWQuY29tPgo+ID4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g Pj4gVm9uOiBEYW5pZWwgR29tZXogPGRhbmllbEBxdGVjLmNvbT4KPiA+PiBHZXNlbmRldDogRG9u bmVyc3RhZywgMTguIE3DpHJ6IDIwMjEgMDk6MzIKPiA+PiBDYzogZGFnbWNyQGdtYWlsLmNvbSA8 ZGFnbWNyQGdtYWlsLmNvbT47IERhbmllbCBHb21leiA8ZGFuaWVsQHF0ZWMuY29tPjsgRGV1Y2hl ciwgQWxleGFuZGVyIDxBbGV4YW5kZXIuRGV1Y2hlckBhbWQuY29tPjsgS29lbmlnLCBDaHJpc3Rp YW4gPENocmlzdGlhbi5Lb2VuaWdAYW1kLmNvbT47IERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51 eC5pZT47IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD47IGFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnIDxhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz47IGRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcgPGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc+OyBs aW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIDxsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3Jn Pgo+ID4+IEJldHJlZmY6IFtQQVRDSF0gZHJtL3JhZGVvbi90dG06IEZpeCBtZW1vcnkgbGVhayB1 c2VycHRyIHBhZ2VzCj4gPj4KPiA+PiBJZiB1c2VycHRyIHBhZ2VzIGhhdmUgYmVlbiBwaW5uZWQg YnV0IG5vdCBib3VuZGVkLAo+ID4+IHRoZXkgcmVtYWluIHVuY2xlYXJlZC4KPiA+Pgo+ID4+IFNp Z25lZC1vZmYtYnk6IERhbmllbCBHb21leiA8ZGFuaWVsQHF0ZWMuY29tPgo+ID4+IC0tLQo+ID4+ ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdHRtLmMgfCA1ICsrKy0tCj4gPj4gICAx IGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4+Cj4gPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fdHRtLmMKPiA+PiBpbmRleCBlOGM2NmQxMDQ3OGYuLmJi Y2M2MjY0ZDQ4ZiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVv bl90dG0uYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jCj4g Pj4gQEAgLTQ4NSwxMyArNDg1LDE0IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl90dG1fYmFja2VuZF91 bmJpbmQoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHN0cnVjdCB0dG1fdHQKPiA+PiAgICAg ICAgICAgc3RydWN0IHJhZGVvbl90dG1fdHQgKmd0dCA9ICh2b2lkICopdHRtOwo+ID4+ICAgICAg ICAgICBzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IHJhZGVvbl9nZXRfcmRldihiZGV2KTsK PiA+Pgo+ID4+ICsgICAgICAgaWYgKGd0dC0+dXNlcnB0cikKPiA+PiArICAgICAgICAgICAgICAg cmFkZW9uX3R0bV90dF91bnBpbl91c2VycHRyKGJkZXYsIHR0bSk7Cj4gPj4gKwo+ID4+ICAgICAg ICAgICBpZiAoIWd0dC0+Ym91bmQpCj4gPj4gICAgICAgICAgICAgICAgICAgcmV0dXJuOwo+ID4+ Cj4gPj4gICAgICAgICAgIHJhZGVvbl9nYXJ0X3VuYmluZChyZGV2LCBndHQtPm9mZnNldCwgdHRt LT5udW1fcGFnZXMpOwo+ID4+Cj4gPj4gLSAgICAgICBpZiAoZ3R0LT51c2VycHRyKQo+ID4+IC0g ICAgICAgICAgICAgICByYWRlb25fdHRtX3R0X3VucGluX3VzZXJwdHIoYmRldiwgdHRtKTsKPiA+ PiAgICAgICAgICAgZ3R0LT5ib3VuZCA9IGZhbHNlOwo+ID4+ICAgfQo+ID4+Cj4gPj4gLS0KPiA+ PiAyLjMwLjIKPiA+Pgo+ID4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gPj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+ID4+IGRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPiA+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiA+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+IGRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=