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=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 6D9DAC49361 for ; Fri, 18 Jun 2021 21:45:14 +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 BBE8A6121D for ; Fri, 18 Jun 2021 21:45:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BBE8A6121D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch 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 728E16EAB1; Fri, 18 Jun 2021 21:45:11 +0000 (UTC) Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by gabe.freedesktop.org (Postfix) with ESMTPS id 497166EAB1 for ; Fri, 18 Jun 2021 21:45:10 +0000 (UTC) Received: by mail-wr1-x436.google.com with SMTP id r9so12214689wrz.10 for ; Fri, 18 Jun 2021 14:45:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ss+LFnKcGJ5vuvfVFFGPPqAeJlikCEoZrl/m4U6LMRw=; b=L0TYh5eNjO3bBlOw+qfm0dAIFyH0pSW2/Y82jXvp+fp0bZIdIiwVH0sjmOtzUJLQP2 zobnV4rHKddP0MCPZHTfW2Dv1zA7XrVvcj3Rib6xPokdP/KBcXpiRSmGxkh6SFbIh2LS 2pF4e4Swjzlna/BX/XV8bisbWwSUjFIDzhIQs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ss+LFnKcGJ5vuvfVFFGPPqAeJlikCEoZrl/m4U6LMRw=; b=JnihiH59Imr4rxJcLRHWAk1Loe8y99zgxaDiyd+vl0i+7ufaIWOJ+05qrVsZUraE6i v9Z4Ro/63QGPmu8YqnGGxO3Pr8btKoftfMqWCFxuQq3nmu24OjN/KsQM2gEQbVI60RMa 0RXF17GPY+qo7hSeUJ8bpklHAmEpNvpHMl6RvcPV3HNRCw+ImvyMdqx5CwrGDksfw95A feGf3ielGOeAH7h4/03oV68Vpp/0Xdd7R7/M+XsT2cb3hnh3q57lSfM+ZpFIUmwyW5/Y BnWbro1/Oku9w+KNshANgPHm2vxlohIMZ/E/AnTL+khnQ+EH4Wd7pzvw7K28Zzo12kOs +iBQ== X-Gm-Message-State: AOAM530M6HScRmE9LMCbQxvsShBdos7IQDW7v44JrAY1+jja0sIZUHYW 7njlaDslJgynA5qSBZjkjAQdlg== X-Google-Smtp-Source: ABdhPJyHNQqJIh/kyvwMAFiH4f8cfBI0Yp6YcdOJaaO10SPVgr3WyRK41gxBwrfIpGuh8LdqIIhrFw== X-Received: by 2002:adf:fd90:: with SMTP id d16mr14761921wrr.35.1624052708769; Fri, 18 Jun 2021 14:45:08 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id q6sm8311350wma.16.2021.06.18.14.45.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 14:45:08 -0700 (PDT) From: Daniel Vetter To: Intel Graphics Development Subject: [PATCH] drm/i915/eb: Fix pagefault disabling in the first slowpath Date: Fri, 18 Jun 2021 23:45:03 +0200 Message-Id: <20210618214503.1773805-1-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.32.0.rc2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , Daniel Vetter , DRI Development , Chris Wilson , Jon Bloomfield , Matthew Auld , Jason Ekstrand , Dave Airlie , Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" In commit ebc0808fa2da0548a78e715858024cb81cd732bc Author: Chris Wilson Date: Tue Oct 18 13:02:51 2016 +0100 drm/i915: Restrict pagefault disabling to just around copy_from_user() we entirely missed that there's a slow path call to eb_relocate_entry (or i915_gem_execbuffer_relocate_entry as it was called back then) which was left fully wrapped by pagefault_disable/enable() calls. Previously any issues with blocking calls where handled by the following code: /* we can't wait for rendering with pagefaults disabled */ if (pagefault_disabled() && !object_is_idle(obj)) return -EFAULT; Now at this point the prefaulting was still around, which means in normal applications it was very hard to hit this bug. No idea why the regressions in igts weren't caught. Now this all changed big time with 2 patches merged closely together. First commit 2889caa9232109afc8881f29a2205abeb5709d0c Author: Chris Wilson Date: Fri Jun 16 15:05:19 2017 +0100 drm/i915: Eliminate lots of iterations over the execobjects array removes the prefaulting from the first relocation path, pushing it into the first slowpath (of which this patch added a total of 3 escalation levels). This would have really quickly uncovered the above bug, were it not for immediate adding a duct-tape on top with commit 7dd4f6729f9243bd7046c6f04c107a456bda38eb Author: Chris Wilson Date: Fri Jun 16 15:05:24 2017 +0100 drm/i915: Async GPU relocation processing by pushing all all the relocation patching to the gpu if the buffer was busy, which avoided all the possible blocking calls. The entire slowpath was then furthermore ditched in commit 7dc8f1143778a35b190f9413f228b3cf28f67f8d Author: Chris Wilson Date: Wed Mar 11 16:03:10 2020 +0000 drm/i915/gem: Drop relocation slowpath and resurrected in commit fd1500fcd4420eee06e2c7f3aa6067b78ac05871 Author: Maarten Lankhorst Date: Wed Aug 19 16:08:43 2020 +0200 Revert "drm/i915/gem: Drop relocation slowpath". but this did not further impact what's going on. Since pagefault_disable/enable is an atomic section, any sleeping in there is prohibited, and we definitely do that without gpu relocations since we have to wait for the gpu usage to finish before we can patch up the relocations. Signed-off-by: Daniel Vetter Cc: Jon Bloomfield Cc: Chris Wilson Cc: Maarten Lankhorst Cc: Joonas Lahtinen Cc: Daniel Vetter Cc: "Thomas Hellström" Cc: Matthew Auld Cc: Lionel Landwerlin Cc: Dave Airlie Cc: Jason Ekstrand --- drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 6539b82dda54..7ff2fc3c0b2c 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -2082,9 +2082,7 @@ static noinline int eb_relocate_parse_slow(struct i915_execbuffer *eb, list_for_each_entry(ev, &eb->relocs, reloc_link) { if (!have_copy) { - pagefault_disable(); err = eb_relocate_vma(eb, ev); - pagefault_enable(); if (err) break; } else { -- 2.32.0.rc2 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=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 22362C48BDF for ; Fri, 18 Jun 2021 21:45:12 +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 91DF76121D for ; Fri, 18 Jun 2021 21:45:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 91DF76121D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3B5786EAB0; Fri, 18 Jun 2021 21:45:11 +0000 (UTC) Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3D1686EAB0 for ; Fri, 18 Jun 2021 21:45:10 +0000 (UTC) Received: by mail-wr1-x42d.google.com with SMTP id c5so12214822wrq.9 for ; Fri, 18 Jun 2021 14:45:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ss+LFnKcGJ5vuvfVFFGPPqAeJlikCEoZrl/m4U6LMRw=; b=L0TYh5eNjO3bBlOw+qfm0dAIFyH0pSW2/Y82jXvp+fp0bZIdIiwVH0sjmOtzUJLQP2 zobnV4rHKddP0MCPZHTfW2Dv1zA7XrVvcj3Rib6xPokdP/KBcXpiRSmGxkh6SFbIh2LS 2pF4e4Swjzlna/BX/XV8bisbWwSUjFIDzhIQs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ss+LFnKcGJ5vuvfVFFGPPqAeJlikCEoZrl/m4U6LMRw=; b=RP4+IGmN+swVUr6zUDJe4JEtgpIRFx6XeosiatcBSThg4GFC9WnU7uQmOEJHQcGt/w +RvclmBaxfFO7kM2Zx+g4Gu7VMJft9zR+OA/FcRiVGilVSgVsjnZXcAOnwX3oO+GpH6E /lE/U+6uCklBrCNeJfjM6YQxi62Cm7aoBwjjpvFDRR9xt/z4B6cGmbdyiLWMjYw7q5F6 CRb54F3EZaL5E+2sFUW8WAdBZ2pztjimf+uRd4hxLdmlZq7ECdSQLLbzJf3CbbS3hYCQ D89+pRYAWXV3koRGwlgbvkrVEOLM9ahzEw0TWnWx+GoFN142MfxO5aDLwQVY9C9XZ0MX YDlQ== X-Gm-Message-State: AOAM531xg5ISTqq8VVDizRaiP1O5+MGK+SqodawaKDgVaNxpg3Q1cbK+ sq09nY/1/mwZEIK2Bct6A8L+VE1TB1UdEQ== X-Google-Smtp-Source: ABdhPJyHNQqJIh/kyvwMAFiH4f8cfBI0Yp6YcdOJaaO10SPVgr3WyRK41gxBwrfIpGuh8LdqIIhrFw== X-Received: by 2002:adf:fd90:: with SMTP id d16mr14761921wrr.35.1624052708769; Fri, 18 Jun 2021 14:45:08 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa]) by smtp.gmail.com with ESMTPSA id q6sm8311350wma.16.2021.06.18.14.45.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 14:45:08 -0700 (PDT) From: Daniel Vetter To: Intel Graphics Development Date: Fri, 18 Jun 2021 23:45:03 +0200 Message-Id: <20210618214503.1773805-1-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.32.0.rc2 MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH] drm/i915/eb: Fix pagefault disabling in the first slowpath X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , Daniel Vetter , DRI Development , Chris Wilson , Matthew Auld , Dave Airlie , Daniel Vetter Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" SW4KCmNvbW1pdCBlYmMwODA4ZmEyZGEwNTQ4YTc4ZTcxNTg1ODAyNGNiODFjZDczMmJjCkF1dGhv cjogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkRhdGU6ICAgVHVlIE9j dCAxOCAxMzowMjo1MSAyMDE2ICswMTAwCgogICAgZHJtL2k5MTU6IFJlc3RyaWN0IHBhZ2VmYXVs dCBkaXNhYmxpbmcgdG8ganVzdCBhcm91bmQgY29weV9mcm9tX3VzZXIoKQoKd2UgZW50aXJlbHkg bWlzc2VkIHRoYXQgdGhlcmUncyBhIHNsb3cgcGF0aCBjYWxsIHRvIGViX3JlbG9jYXRlX2VudHJ5 CihvciBpOTE1X2dlbV9leGVjYnVmZmVyX3JlbG9jYXRlX2VudHJ5IGFzIGl0IHdhcyBjYWxsZWQg YmFjayB0aGVuKQp3aGljaCB3YXMgbGVmdCBmdWxseSB3cmFwcGVkIGJ5IHBhZ2VmYXVsdF9kaXNh YmxlL2VuYWJsZSgpIGNhbGxzLgpQcmV2aW91c2x5IGFueSBpc3N1ZXMgd2l0aCBibG9ja2luZyBj YWxscyB3aGVyZSBoYW5kbGVkIGJ5IHRoZQpmb2xsb3dpbmcgY29kZToKCgkvKiB3ZSBjYW4ndCB3 YWl0IGZvciByZW5kZXJpbmcgd2l0aCBwYWdlZmF1bHRzIGRpc2FibGVkICovCglpZiAocGFnZWZh dWx0X2Rpc2FibGVkKCkgJiYgIW9iamVjdF9pc19pZGxlKG9iaikpCgkJcmV0dXJuIC1FRkFVTFQ7 CgpOb3cgYXQgdGhpcyBwb2ludCB0aGUgcHJlZmF1bHRpbmcgd2FzIHN0aWxsIGFyb3VuZCwgd2hp Y2ggbWVhbnMgaW4Kbm9ybWFsIGFwcGxpY2F0aW9ucyBpdCB3YXMgdmVyeSBoYXJkIHRvIGhpdCB0 aGlzIGJ1Zy4gTm8gaWRlYSB3aHkgdGhlCnJlZ3Jlc3Npb25zIGluIGlndHMgd2VyZW4ndCBjYXVn aHQuCgpOb3cgdGhpcyBhbGwgY2hhbmdlZCBiaWcgdGltZSB3aXRoIDIgcGF0Y2hlcyBtZXJnZWQg Y2xvc2VseSB0b2dldGhlci4KCkZpcnN0Cgpjb21taXQgMjg4OWNhYTkyMzIxMDlhZmM4ODgxZjI5 YTIyMDVhYmViNTcwOWQwYwpBdXRob3I6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29u LmNvLnVrPgpEYXRlOiAgIEZyaSBKdW4gMTYgMTU6MDU6MTkgMjAxNyArMDEwMAoKICAgIGRybS9p OTE1OiBFbGltaW5hdGUgbG90cyBvZiBpdGVyYXRpb25zIG92ZXIgdGhlIGV4ZWNvYmplY3RzIGFy cmF5CgpyZW1vdmVzIHRoZSBwcmVmYXVsdGluZyBmcm9tIHRoZSBmaXJzdCByZWxvY2F0aW9uIHBh dGgsIHB1c2hpbmcgaXQgaW50bwp0aGUgZmlyc3Qgc2xvd3BhdGggKG9mIHdoaWNoIHRoaXMgcGF0 Y2ggYWRkZWQgYSB0b3RhbCBvZiAzIGVzY2FsYXRpb24KbGV2ZWxzKS4gVGhpcyB3b3VsZCBoYXZl IHJlYWxseSBxdWlja2x5IHVuY292ZXJlZCB0aGUgYWJvdmUgYnVnLCB3ZXJlCml0IG5vdCBmb3Ig aW1tZWRpYXRlIGFkZGluZyBhIGR1Y3QtdGFwZSBvbiB0b3Agd2l0aAoKY29tbWl0IDdkZDRmNjcy OWY5MjQzYmQ3MDQ2YzZmMDRjMTA3YTQ1NmJkYTM4ZWIKQXV0aG9yOiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KRGF0ZTogICBGcmkgSnVuIDE2IDE1OjA1OjI0IDIwMTcg KzAxMDAKCiAgICBkcm0vaTkxNTogQXN5bmMgR1BVIHJlbG9jYXRpb24gcHJvY2Vzc2luZwoKYnkg cHVzaGluZyBhbGwgYWxsIHRoZSByZWxvY2F0aW9uIHBhdGNoaW5nIHRvIHRoZSBncHUgaWYgdGhl IGJ1ZmZlcgp3YXMgYnVzeSwgd2hpY2ggYXZvaWRlZCBhbGwgdGhlIHBvc3NpYmxlIGJsb2NraW5n IGNhbGxzLgoKVGhlIGVudGlyZSBzbG93cGF0aCB3YXMgdGhlbiBmdXJ0aGVybW9yZSBkaXRjaGVk IGluCgpjb21taXQgN2RjOGYxMTQzNzc4YTM1YjE5MGY5NDEzZjIyOGIzY2YyOGY2N2Y4ZApBdXRo b3I6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpEYXRlOiAgIFdlZCBN YXIgMTEgMTY6MDM6MTAgMjAyMCArMDAwMAoKICAgICAgICBkcm0vaTkxNS9nZW06IERyb3AgcmVs b2NhdGlvbiBzbG93cGF0aAoKYW5kIHJlc3VycmVjdGVkIGluCgpjb21taXQgZmQxNTAwZmNkNDQy MGVlZTA2ZTJjN2YzYWE2MDY3Yjc4YWMwNTg3MQpBdXRob3I6IE1hYXJ0ZW4gTGFua2hvcnN0IDxt YWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CkRhdGU6ICAgV2VkIEF1ZyAxOSAxNjow ODo0MyAyMDIwICswMjAwCgogICAgICAgIFJldmVydCAiZHJtL2k5MTUvZ2VtOiBEcm9wIHJlbG9j YXRpb24gc2xvd3BhdGgiLgoKYnV0IHRoaXMgZGlkIG5vdCBmdXJ0aGVyIGltcGFjdCB3aGF0J3Mg Z29pbmcgb24uCgpTaW5jZSBwYWdlZmF1bHRfZGlzYWJsZS9lbmFibGUgaXMgYW4gYXRvbWljIHNl Y3Rpb24sIGFueSBzbGVlcGluZyBpbgp0aGVyZSBpcyBwcm9oaWJpdGVkLCBhbmQgd2UgZGVmaW5p dGVseSBkbyB0aGF0IHdpdGhvdXQgZ3B1IHJlbG9jYXRpb25zCnNpbmNlIHdlIGhhdmUgdG8gd2Fp dCBmb3IgdGhlIGdwdSB1c2FnZSB0byBmaW5pc2ggYmVmb3JlIHdlIGNhbiBwYXRjaAp1cCB0aGUg cmVsb2NhdGlvbnMuCgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGludGVsLmNvbT4KQ2M6IEpvbiBCbG9vbWZpZWxkIDxqb24uYmxvb21maWVsZEBpbnRlbC5jb20+ CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IE1hYXJ0ZW4g TGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CkNjOiBKb29uYXMg TGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBEYW5pZWwgVmV0 dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogIlRob21hcyBIZWxsc3Ryw7ZtIiA8dGhv bWFzLmhlbGxzdHJvbUBsaW51eC5pbnRlbC5jb20+CkNjOiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcu YXVsZEBpbnRlbC5jb20+CkNjOiBMaW9uZWwgTGFuZHdlcmxpbiA8bGlvbmVsLmcubGFuZHdlcmxp bkBpbnRlbC5jb20+CkNjOiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgpDYzogSmFz b24gRWtzdHJhbmQgPGphc29uQGpsZWtzdHJhbmQubmV0PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAyIC0tCiAxIGZpbGUgY2hhbmdlZCwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNi dWZmZXIuYwppbmRleCA2NTM5YjgyZGRhNTQuLjdmZjJmYzNjMGIyYyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0yMDgyLDkgKzIwODIs NyBAQCBzdGF0aWMgbm9pbmxpbmUgaW50IGViX3JlbG9jYXRlX3BhcnNlX3Nsb3coc3RydWN0IGk5 MTVfZXhlY2J1ZmZlciAqZWIsCiAKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGV2LCAmZWItPnJlbG9j cywgcmVsb2NfbGluaykgewogCQlpZiAoIWhhdmVfY29weSkgewotCQkJcGFnZWZhdWx0X2Rpc2Fi bGUoKTsKIAkJCWVyciA9IGViX3JlbG9jYXRlX3ZtYShlYiwgZXYpOwotCQkJcGFnZWZhdWx0X2Vu YWJsZSgpOwogCQkJaWYgKGVycikKIAkJCQlicmVhazsKIAkJfSBlbHNlIHsKLS0gCjIuMzIuMC5y YzIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=