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=-6.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 512EFC47E49 for ; Wed, 6 Nov 2019 17:20:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 262E8218AE for ; Wed, 6 Nov 2019 17:20:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="f+rwUzEL" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729429AbfKFRT6 (ORCPT ); Wed, 6 Nov 2019 12:19:58 -0500 Received: from mail-wr1-f68.google.com ([209.85.221.68]:37229 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727572AbfKFRT6 (ORCPT ); Wed, 6 Nov 2019 12:19:58 -0500 Received: by mail-wr1-f68.google.com with SMTP id t1so20931489wrv.4 for ; Wed, 06 Nov 2019 09:19:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=VEFt1uDyCOf9byzc/+I2oUmCLLbN+yoaKtpp3kXStiQ=; b=f+rwUzELPTt1/uRn0Z+NUjCwrKfI2KUgy6g4XjIOGJ7T5sRnNKQBsH/l0W5gHHQ79l KDRyJNWaDGGvaIQhHmtmUqE5m+CYEdkIYUyNM81xIQiIKiOypKsYybX50uGFCxNihVTV YXES3vtJz/ijYeJgc8VkfvdQoordEo2J83rziwHcCmnnyoxoO1SlZKvdeNrUoOJsoac1 0RT5WZIRU7gbRHLeOVnX/RRoX7lTqPIVh4yRRTqJPArPzU3i5WqPNa5fkWjJ4AaRT2b6 yqgksH4yvFJEnPu2jHwcBI7oNAU/PPX7p8/ZWlhIDZMUt+ich7OSagC0J9OcHzAE/18V PN0g== 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=VEFt1uDyCOf9byzc/+I2oUmCLLbN+yoaKtpp3kXStiQ=; b=nL9nP3AKlIDKXhi9b6IzWm02phMbgTF0CruokMTcBU2lm3FqBoIxxxoCsAHfoiYqX7 CP6Jr2LQ7CwmcaAz4t+Fa2Dtj5BMfPlypTTjnXn2Ti08y0WR61TEsleSDsm+BAsls5lK /rLLWa3qqY07qg6NwCv047+etA6VLPsPyXJM8F1GVVWGQLB8LOLZBlHDeegPSNlS2yez eVK7nECpZgmkqUjBB6NSGEyfaFg+TtwBUnysBTgKqg4y1Oqe9evkzAmXr3SWyU8TalDB Dx1KqHfnD/RNzzxrcFv0mk7DSAecnNYoR8fjMHh+qcp+thBeOMnSTXkJ6G4ZnPU+y6mr IsFw== X-Gm-Message-State: APjAAAUi9N6YVwevutHXYlL812yr2feLqeZGEKe6FPlPJpZYblJYRxQ+ Q/WHHUO7ze/KqK+UAiQQNEBaN8fSbfGsHYMuncA= X-Google-Smtp-Source: APXvYqxQDizOvsmqJu2teV0euv/pULrxf7co2fHWEzPJyNf1zIY7VU9n8EzZ9MflQsAg2oZCeCMFZG7HKHm9BnivS10= X-Received: by 2002:a5d:4688:: with SMTP id u8mr3712583wrq.40.1573060796240; Wed, 06 Nov 2019 09:19:56 -0800 (PST) MIME-Version: 1.0 References: <1573031685-25969-1-git-send-email-bianpan2016@163.com> <52555cc3-b8ea-63c0-1c8c-ae8318c4f469@amd.com> In-Reply-To: <52555cc3-b8ea-63c0-1c8c-ae8318c4f469@amd.com> From: Alex Deucher Date: Wed, 6 Nov 2019 12:19:43 -0500 Message-ID: Subject: Re: [PATCH] drm/amdgpu: fix potential double drop fence reference To: "Koenig, Christian" Cc: Pan Bian , "Deucher, Alexander" , "Zhou, David(ChunMing)" , David Airlie , Daniel Vetter , Sam Ravnborg , "dri-devel@lists.freedesktop.org" , "amd-gfx@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 6, 2019 at 4:39 AM Koenig, Christian wrote: > > Am 06.11.19 um 10:14 schrieb Pan Bian: > > The object fence is not set to NULL after its reference is dropped. As = a > > result, its reference may be dropped again if error occurs after that, > > which may lead to a use after free bug. To avoid the issue, fence is > > explicitly set to NULL after dropping its reference. > > > > Signed-off-by: Pan Bian > > Acked-by: Christian K=C3=B6nig Applied. thanks! Alex > > > --- > > drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c b/drivers/gpu/drm= /amd/amdgpu/amdgpu_test.c > > index b66d29d5ffa2..b158230af8db 100644 > > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c > > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c > > @@ -138,6 +138,7 @@ static void amdgpu_do_test_moves(struct amdgpu_devi= ce *adev) > > } > > > > dma_fence_put(fence); > > + fence =3D NULL; > > > > r =3D amdgpu_bo_kmap(vram_obj, &vram_map); > > if (r) { > > @@ -183,6 +184,7 @@ static void amdgpu_do_test_moves(struct amdgpu_devi= ce *adev) > > } > > > > dma_fence_put(fence); > > + fence =3D NULL; > > > > r =3D amdgpu_bo_kmap(gtt_obj[i], >t_map); > > if (r) { > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH] drm/amdgpu: fix potential double drop fence reference Date: Wed, 6 Nov 2019 12:19:43 -0500 Message-ID: References: <1573031685-25969-1-git-send-email-bianpan2016@163.com> <52555cc3-b8ea-63c0-1c8c-ae8318c4f469@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <52555cc3-b8ea-63c0-1c8c-ae8318c4f469@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Koenig, Christian" Cc: David Airlie , Pan Bian , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "amd-gfx@lists.freedesktop.org" , "Deucher, Alexander" , Sam Ravnborg List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBOb3YgNiwgMjAxOSBhdCA0OjM5IEFNIEtvZW5pZywgQ2hyaXN0aWFuCjxDaHJpc3Rp YW4uS29lbmlnQGFtZC5jb20+IHdyb3RlOgo+Cj4gQW0gMDYuMTEuMTkgdW0gMTA6MTQgc2Nocmll YiBQYW4gQmlhbjoKPiA+IFRoZSBvYmplY3QgZmVuY2UgaXMgbm90IHNldCB0byBOVUxMIGFmdGVy IGl0cyByZWZlcmVuY2UgaXMgZHJvcHBlZC4gQXMgYQo+ID4gcmVzdWx0LCBpdHMgcmVmZXJlbmNl IG1heSBiZSBkcm9wcGVkIGFnYWluIGlmIGVycm9yIG9jY3VycyBhZnRlciB0aGF0LAo+ID4gd2hp Y2ggbWF5IGxlYWQgdG8gYSB1c2UgYWZ0ZXIgZnJlZSBidWcuIFRvIGF2b2lkIHRoZSBpc3N1ZSwg ZmVuY2UgaXMKPiA+IGV4cGxpY2l0bHkgc2V0IHRvIE5VTEwgYWZ0ZXIgZHJvcHBpbmcgaXRzIHJl ZmVyZW5jZS4KPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBQYW4gQmlhbiA8YmlhbnBhbjIwMTZAMTYz LmNvbT4KPgo+IEFja2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFt ZC5jb20+CgpBcHBsaWVkLiAgdGhhbmtzIQoKQWxleAoKPgo+ID4gLS0tCj4gPiAgIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90ZXN0LmMgfCAyICsrCj4gPiAgIDEgZmlsZSBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKykKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3Rlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90ZXN0LmMKPiA+IGluZGV4IGI2NmQyOWQ1ZmZhMi4uYjE1ODIzMGFmOGRiIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Rlc3QuYwo+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Rlc3QuYwo+ID4gQEAgLTEzOCw2 ICsxMzgsNyBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZG9fdGVzdF9tb3ZlcyhzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKPiA+ICAgICAgICAgICAgICAgfQo+ID4KPiA+ICAgICAgICAgICAgICAg ZG1hX2ZlbmNlX3B1dChmZW5jZSk7Cj4gPiArICAgICAgICAgICAgIGZlbmNlID0gTlVMTDsKPiA+ Cj4gPiAgICAgICAgICAgICAgIHIgPSBhbWRncHVfYm9fa21hcCh2cmFtX29iaiwgJnZyYW1fbWFw KTsKPiA+ICAgICAgICAgICAgICAgaWYgKHIpIHsKPiA+IEBAIC0xODMsNiArMTg0LDcgQEAgc3Rh dGljIHZvaWQgYW1kZ3B1X2RvX3Rlc3RfbW92ZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYp Cj4gPiAgICAgICAgICAgICAgIH0KPiA+Cj4gPiAgICAgICAgICAgICAgIGRtYV9mZW5jZV9wdXQo ZmVuY2UpOwo+ID4gKyAgICAgICAgICAgICBmZW5jZSA9IE5VTEw7Cj4gPgo+ID4gICAgICAgICAg ICAgICByID0gYW1kZ3B1X2JvX2ttYXAoZ3R0X29ialtpXSwgJmd0dF9tYXApOwo+ID4gICAgICAg ICAgICAgICBpZiAocikgewo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9hbWQtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA== 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=-6.5 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS 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 9C994C5DF64 for ; Wed, 6 Nov 2019 17:20:00 +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 7AC3B217D7 for ; Wed, 6 Nov 2019 17:20:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7AC3B217D7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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 D8CD76EE05; Wed, 6 Nov 2019 17:19:59 +0000 (UTC) Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by gabe.freedesktop.org (Postfix) with ESMTPS id B451C6EDFE; Wed, 6 Nov 2019 17:19:57 +0000 (UTC) Received: by mail-wr1-x442.google.com with SMTP id a15so26845809wrf.9; Wed, 06 Nov 2019 09:19:57 -0800 (PST) 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=VEFt1uDyCOf9byzc/+I2oUmCLLbN+yoaKtpp3kXStiQ=; b=Wq+QRtZQLdnMJtNearmvGc26OApMrCtQsTPl0pNAFpZYSU89GiYWhzworneWOx9GYv zAutlOcMho9KBe8WvS0dr+3mFf2k6J4JeoW3ymaDDZxHQYo3Tv8Q+ShpaayMVy3k+Nxx xt+6iCGSSap+H/lIBc/N/vLy0n+/mbDIcWRqnjGrpEHydJ+BE5jyfc1lCoXFMBKi4tXK SlqQdCFp3ZZVDF5ril0RAjx4EP5h53OaTq79tO6RTIrMkjJwiTUOE/Qrg9EU2UiHHwkF U9v2/+1pwVUa5QN7JUVdsXS7/LP3hT/QONoPcO9jM3CJ7LgfWIIudhIJjz++3ynApeF7 d6rA== X-Gm-Message-State: APjAAAU7psKx8IJOel0uKlQbDC0+PcEeKYWVsdu5pk9Nqe069x/1gEqB JF1khV3E4AUVbH6CaDv4aUvw7klu7aOJg7VsJNDajQ== X-Google-Smtp-Source: APXvYqxQDizOvsmqJu2teV0euv/pULrxf7co2fHWEzPJyNf1zIY7VU9n8EzZ9MflQsAg2oZCeCMFZG7HKHm9BnivS10= X-Received: by 2002:a5d:4688:: with SMTP id u8mr3712583wrq.40.1573060796240; Wed, 06 Nov 2019 09:19:56 -0800 (PST) MIME-Version: 1.0 References: <1573031685-25969-1-git-send-email-bianpan2016@163.com> <52555cc3-b8ea-63c0-1c8c-ae8318c4f469@amd.com> In-Reply-To: <52555cc3-b8ea-63c0-1c8c-ae8318c4f469@amd.com> From: Alex Deucher Date: Wed, 6 Nov 2019 12:19:43 -0500 Message-ID: Subject: Re: [PATCH] drm/amdgpu: fix potential double drop fence reference To: "Koenig, Christian" X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=VEFt1uDyCOf9byzc/+I2oUmCLLbN+yoaKtpp3kXStiQ=; b=f+rwUzELPTt1/uRn0Z+NUjCwrKfI2KUgy6g4XjIOGJ7T5sRnNKQBsH/l0W5gHHQ79l KDRyJNWaDGGvaIQhHmtmUqE5m+CYEdkIYUyNM81xIQiIKiOypKsYybX50uGFCxNihVTV YXES3vtJz/ijYeJgc8VkfvdQoordEo2J83rziwHcCmnnyoxoO1SlZKvdeNrUoOJsoac1 0RT5WZIRU7gbRHLeOVnX/RRoX7lTqPIVh4yRRTqJPArPzU3i5WqPNa5fkWjJ4AaRT2b6 yqgksH4yvFJEnPu2jHwcBI7oNAU/PPX7p8/ZWlhIDZMUt+ich7OSagC0J9OcHzAE/18V PN0g== X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Zhou, David\(ChunMing\)" , David Airlie , Pan Bian , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "amd-gfx@lists.freedesktop.org" , Daniel Vetter , "Deucher, Alexander" , Sam Ravnborg Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" Message-ID: <20191106171943.o5NPnkaerO3HFCT5AeSbBXpsylzdVBiH5DVRrp8UvyY@z> T24gV2VkLCBOb3YgNiwgMjAxOSBhdCA0OjM5IEFNIEtvZW5pZywgQ2hyaXN0aWFuCjxDaHJpc3Rp YW4uS29lbmlnQGFtZC5jb20+IHdyb3RlOgo+Cj4gQW0gMDYuMTEuMTkgdW0gMTA6MTQgc2Nocmll YiBQYW4gQmlhbjoKPiA+IFRoZSBvYmplY3QgZmVuY2UgaXMgbm90IHNldCB0byBOVUxMIGFmdGVy IGl0cyByZWZlcmVuY2UgaXMgZHJvcHBlZC4gQXMgYQo+ID4gcmVzdWx0LCBpdHMgcmVmZXJlbmNl IG1heSBiZSBkcm9wcGVkIGFnYWluIGlmIGVycm9yIG9jY3VycyBhZnRlciB0aGF0LAo+ID4gd2hp Y2ggbWF5IGxlYWQgdG8gYSB1c2UgYWZ0ZXIgZnJlZSBidWcuIFRvIGF2b2lkIHRoZSBpc3N1ZSwg ZmVuY2UgaXMKPiA+IGV4cGxpY2l0bHkgc2V0IHRvIE5VTEwgYWZ0ZXIgZHJvcHBpbmcgaXRzIHJl ZmVyZW5jZS4KPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBQYW4gQmlhbiA8YmlhbnBhbjIwMTZAMTYz LmNvbT4KPgo+IEFja2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFt ZC5jb20+CgpBcHBsaWVkLiAgdGhhbmtzIQoKQWxleAoKPgo+ID4gLS0tCj4gPiAgIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90ZXN0LmMgfCAyICsrCj4gPiAgIDEgZmlsZSBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKykKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3Rlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90ZXN0LmMKPiA+IGluZGV4IGI2NmQyOWQ1ZmZhMi4uYjE1ODIzMGFmOGRiIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Rlc3QuYwo+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Rlc3QuYwo+ID4gQEAgLTEzOCw2 ICsxMzgsNyBAQCBzdGF0aWMgdm9pZCBhbWRncHVfZG9fdGVzdF9tb3ZlcyhzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKPiA+ICAgICAgICAgICAgICAgfQo+ID4KPiA+ICAgICAgICAgICAgICAg ZG1hX2ZlbmNlX3B1dChmZW5jZSk7Cj4gPiArICAgICAgICAgICAgIGZlbmNlID0gTlVMTDsKPiA+ Cj4gPiAgICAgICAgICAgICAgIHIgPSBhbWRncHVfYm9fa21hcCh2cmFtX29iaiwgJnZyYW1fbWFw KTsKPiA+ICAgICAgICAgICAgICAgaWYgKHIpIHsKPiA+IEBAIC0xODMsNiArMTg0LDcgQEAgc3Rh dGljIHZvaWQgYW1kZ3B1X2RvX3Rlc3RfbW92ZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYp Cj4gPiAgICAgICAgICAgICAgIH0KPiA+Cj4gPiAgICAgICAgICAgICAgIGRtYV9mZW5jZV9wdXQo ZmVuY2UpOwo+ID4gKyAgICAgICAgICAgICBmZW5jZSA9IE5VTEw7Cj4gPgo+ID4gICAgICAgICAg ICAgICByID0gYW1kZ3B1X2JvX2ttYXAoZ3R0X29ialtpXSwgJmd0dF9tYXApOwo+ID4gICAgICAg ICAgICAgICBpZiAocikgewo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9hbWQtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==