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.5 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 BF78EC433DB for ; Fri, 5 Feb 2021 08:06:38 +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 7032264F3F for ; Fri, 5 Feb 2021 08:06:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7032264F3F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org 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 098316F40A; Fri, 5 Feb 2021 08:06:36 +0000 (UTC) Received: from mail-pg1-x529.google.com (mail-pg1-x529.google.com [IPv6:2607:f8b0:4864:20::529]) by gabe.freedesktop.org (Postfix) with ESMTPS id 808476F40A for ; Fri, 5 Feb 2021 08:06:35 +0000 (UTC) Received: by mail-pg1-x529.google.com with SMTP id o63so3995470pgo.6 for ; Fri, 05 Feb 2021 00:06:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yMZdJ0QWB5DNKnFHigbppJEmTH0pjOtMvlOhSROm3JY=; b=nfLDuNHQ7ZcZflve1/8UmLWBj8jyZiNGQlPhmo+1M1jX2NTBI5msB5R/I8HxVPvfEI WKRNzypQ5JSVIarCR0s4fQN/IatdOed8ouHCkOv5gnJM7RYP9W8B47g7dv5V4KZg+kWu rvjx1QjHKBK6rKaqoDNT0MIqxOA2I2egeRQ6X1Um7QegAUGtC599EjWM8q2plzF+nc0X gIs1aKuT1Oov7b+3Gs5c+egn5SRmRYjkoygmqGB0FQf6MWRb1piXXBO1+X8LuBjehmw/ fJY7hqdHEsT4ATXu44P8446oCj5ppp3yvb4LVoLe/6MU3tjtB6oe6XCYkUA7kD91vnMl dsUA== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=yMZdJ0QWB5DNKnFHigbppJEmTH0pjOtMvlOhSROm3JY=; b=t/lFaV3PjwGmXi3+FLSBYTJ/iHxgAmW8EQonCuaphQRMqRS7ZXBoTVlE7aa0k7cwuV Z3bT1p8vKj6XSRHa3LLzgbezWjL/e7O7HQm1dFCaVWoeUHzx/AGE8sOXh4ylqDBuCtZO lYSzzHlVEvAZ9HYgURi1xqjxuZWQLhh667vr+LCvg8HwUppG4F3qzc5YpaoxxOClqa5b AXfPboaiFMDNwx36Z8lVzsFeZ6+fNOQbYoXsZisW1a1Fc4GXMA1jhE4uLlNhA8L/kJvA qtve0FTkgjl+llN7uJLOf/9YSicXa/us4SVuJqOvr59qzYjOEbiY+EpGQvkyTE0LGA97 gbsw== X-Gm-Message-State: AOAM532coFxFqaZabR3bTAMm/y4iwa2uS4PWHsRRDpRqA0K+R5s+AuMF f1me2LnK3usyeY5N4w71H5JN+w== X-Google-Smtp-Source: ABdhPJy1ZrVvZuAN8XXMihWVOe0E6t1BYjetV+cMvLtvHpEEF+0vQTnbj3TeYmWqXnNUyDsbUz3aMg== X-Received: by 2002:a62:7b90:0:b029:1be:9e89:1db5 with SMTP id w138-20020a627b900000b02901be9e891db5mr3367319pfc.35.1612512395009; Fri, 05 Feb 2021 00:06:35 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:692:26ff:feda:3a81]) by smtp.gmail.com with ESMTPSA id 32sm9520070pgq.80.2021.02.05.00.06.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Feb 2021 00:06:34 -0800 (PST) From: John Stultz To: lkml Subject: [RFC][PATCH v6 5/7] dma-buf: heaps: Add deferred-free-helper library code Date: Fri, 5 Feb 2021 08:06:19 +0000 Message-Id: <20210205080621.3102035-6-john.stultz@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210205080621.3102035-1-john.stultz@linaro.org> References: <20210205080621.3102035-1-john.stultz@linaro.org> MIME-Version: 1.0 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: dri-devel@lists.freedesktop.org, Sandeep Patil , Ezequiel Garcia , Robin Murphy , James Jones , Liam Mark , Laura Abbott , Chris Goldsworthy , Hridya Valsaraju , =?UTF-8?q?=C3=98rjan=20Eide?= , linux-media@vger.kernel.org, Suren Baghdasaryan , Christian Koenig , Daniel Mentz Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" VGhpcyBwYXRjaCBwcm92aWRlcyBpbmZyYXN0cnVjdHVyZSBmb3IgZGVmZXJyaW5nIGJ1ZmZlciBm cmVlcy4KClRoaXMgaXMgYSBmZWF0dXJlIElPTiBwcm92aWRlZCB3aGljaCB3aGVuIHVzZWQgd2l0 aCBzb21lIGZvcm0Kb2YgYSBwYWdlIHBvb2wsIHByb3ZpZGVzIGEgbmljZSBwZXJmb3JtYW5jZSBi b29zdCBpbiBhbgphbGxvY2F0aW9uIG1pY3JvYmVuY2htYXJrLiBUaGUgcmVhc29uIGl0IGhlbHBz IGlzIGl0IGFsbG93cyB0aGUKcGFnZS16ZXJvaW5nIHRvIGJlIGRvbmUgb3V0IG9mIHRoZSBub3Jt YWwgYWxsb2NhdGlvbi9mcmVlIHBhdGgsCmFuZCBwdXNoZWQgb2ZmIHRvIGEga3RocmVhZC4KCkFz IG5vdCBhbGwgaGVhcHMgd2lsbCBmaW5kIHRoaXMgdXNlZnVsLCBpdHMgaW1wbGVtZW50ZWQgYXMK YSBvcHRpb25hbCBoZWxwZXIgbGlicmFyeSB0aGF0IGhlYXBzIGNhbiB1dGlsaXplLgoKQ2M6IERh bmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KQ2M6IENocmlzdGlhbiBLb2VuaWcgPGNocmlz dGlhbi5rb2VuaWdAYW1kLmNvbT4KQ2M6IFN1bWl0IFNlbXdhbCA8c3VtaXQuc2Vtd2FsQGxpbmFy by5vcmc+CkNjOiBMaWFtIE1hcmsgPGxtYXJrQGNvZGVhdXJvcmEub3JnPgpDYzogQ2hyaXMgR29s ZHN3b3J0aHkgPGNnb2xkc3dvQGNvZGVhdXJvcmEub3JnPgpDYzogTGF1cmEgQWJib3R0IDxsYWJi b3R0QGtlcm5lbC5vcmc+CkNjOiBCcmlhbiBTdGFya2V5IDxCcmlhbi5TdGFya2V5QGFybS5jb20+ CkNjOiBIcmlkeWEgVmFsc2FyYWp1IDxocmlkeWFAZ29vZ2xlLmNvbT4KQ2M6IFN1cmVuIEJhZ2hk YXNhcnlhbiA8c3VyZW5iQGdvb2dsZS5jb20+CkNjOiBTYW5kZWVwIFBhdGlsIDxzc3BhdGlsQGdv b2dsZS5jb20+CkNjOiBEYW5pZWwgTWVudHogPGRhbmllbG1lbnR6QGdvb2dsZS5jb20+CkNjOiDD mHJqYW4gRWlkZSA8b3JqYW4uZWlkZUBhcm0uY29tPgpDYzogUm9iaW4gTXVycGh5IDxyb2Jpbi5t dXJwaHlAYXJtLmNvbT4KQ2M6IEV6ZXF1aWVsIEdhcmNpYSA8ZXplcXVpZWxAY29sbGFib3JhLmNv bT4KQ2M6IFNpbW9uIFNlciA8Y29udGFjdEBlbWVyc2lvbi5mcj4KQ2M6IEphbWVzIEpvbmVzIDxq YWpvbmVzQG52aWRpYS5jb20+CkNjOiBsaW51eC1tZWRpYUB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKU2lnbmVkLW9mZi1ieTogSm9obiBTdHVsdHog PGpvaG4uc3R1bHR6QGxpbmFyby5vcmc+Ci0tLQp2MjoKKiBGaXggc2xlZXAgaW4gYXRvbWljIGlz c3VlIGZyb20gdXNpbmcgYSBtdXRleCwgYnkgc3dpdGNoaW5nCiAgdG8gYSBzcGlubG9jayBhcyBS ZXBvcnRlZC1ieToga2VybmVsIHRlc3Qgcm9ib3QgPG9saXZlci5zYW5nQGludGVsLmNvbT4KKiBD bGVhbnVwIEFQSSB0byB1c2UgYSByZWFzb24gZW51bSBmb3IgY2xhcml0eSBhbmQgYWRkIHNvbWUg ZG9jdW1lbnRhdGlvbgogIGNvbW1lbnRzIGFzIHN1Z2dlc3RlZCBieSBTdXJlbiBCYWdoZGFzYXJ5 YW4uCnYzOgoqIE1pbm9yIHR3ZWFrcyBzbyBpdCBjYW4gYmUgYnVpbHQgYXMgYSBtb2R1bGUKKiBB IGZldyBzbWFsbCBmaXh1cHMgc3VnZ2VzdGVkIGJ5IERhbmllbCBNZW50egp2NDoKKiBUd2VhayBm cm9tIERhbmllbCBNZW50eiB0byBtYWtlIHN1cmUgdGhlIHNocmlua2VyCiAgY291bnQvZnJlZWQg dmFsdWVzIGFyZSB0cmFja2VkIGluIHBhZ2VzIG5vdCBieXRlcwp2NToKKiBGaXggdXAgcGFnZSBj b3VudCB0cmFja2luZyBhcyBzdWdnZXN0ZWQgYnkgU3VyZW4gQmFnaGRhc2FyeWFuCi0tLQogZHJp dmVycy9kbWEtYnVmL2hlYXBzL0tjb25maWcgICAgICAgICAgICAgICAgfCAgIDMgKwogZHJpdmVy cy9kbWEtYnVmL2hlYXBzL01ha2VmaWxlICAgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9k bWEtYnVmL2hlYXBzL2RlZmVycmVkLWZyZWUtaGVscGVyLmMgfCAxNDUgKysrKysrKysrKysrKysr KysrKwogZHJpdmVycy9kbWEtYnVmL2hlYXBzL2RlZmVycmVkLWZyZWUtaGVscGVyLmggfCAgNTUg KysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAyMDQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9kZWZlcnJlZC1mcmVlLWhlbHBlci5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9kbWEtYnVmL2hlYXBzL2RlZmVycmVkLWZyZWUtaGVscGVy LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvaGVhcHMvS2NvbmZpZyBiL2RyaXZlcnMv ZG1hLWJ1Zi9oZWFwcy9LY29uZmlnCmluZGV4IGE1ZWVmMDZjNDIyNi4uZjdhZWY4YmM3MTE5IDEw MDY0NAotLS0gYS9kcml2ZXJzL2RtYS1idWYvaGVhcHMvS2NvbmZpZworKysgYi9kcml2ZXJzL2Rt YS1idWYvaGVhcHMvS2NvbmZpZwpAQCAtMSwzICsxLDYgQEAKK2NvbmZpZyBETUFCVUZfSEVBUFNf REVGRVJSRURfRlJFRQorCXRyaXN0YXRlCisKIGNvbmZpZyBETUFCVUZfSEVBUFNfU1lTVEVNCiAJ Ym9vbCAiRE1BLUJVRiBTeXN0ZW0gSGVhcCIKIAlkZXBlbmRzIG9uIERNQUJVRl9IRUFQUwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL2hlYXBzL01ha2VmaWxlIGIvZHJpdmVycy9kbWEtYnVm L2hlYXBzL01ha2VmaWxlCmluZGV4IDk3NDQ2Nzc5MTAzMi4uNGU3ODM5ODc1NjE1IDEwMDY0NAot LS0gYS9kcml2ZXJzL2RtYS1idWYvaGVhcHMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9kbWEtYnVm L2hlYXBzL01ha2VmaWxlCkBAIC0xLDMgKzEsNCBAQAogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAorb2JqLSQoQ09ORklHX0RNQUJVRl9IRUFQU19ERUZFUlJFRF9GUkVFKSArPSBk ZWZlcnJlZC1mcmVlLWhlbHBlci5vCiBvYmotJChDT05GSUdfRE1BQlVGX0hFQVBTX1NZU1RFTSkJ Kz0gc3lzdGVtX2hlYXAubwogb2JqLSQoQ09ORklHX0RNQUJVRl9IRUFQU19DTUEpCQkrPSBjbWFf aGVhcC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvaGVhcHMvZGVmZXJyZWQtZnJlZS1o ZWxwZXIuYyBiL2RyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9kZWZlcnJlZC1mcmVlLWhlbHBlci5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNjcyYzNkNTg3MmU5Ci0tLSAv ZGV2L251bGwKKysrIGIvZHJpdmVycy9kbWEtYnVmL2hlYXBzL2RlZmVycmVkLWZyZWUtaGVscGVy LmMKQEAgLTAsMCArMSwxNDUgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w CisvKgorICogRGVmZXJyZWQgZG1hYnVmIGZyZWVpbmcgaGVscGVyCisgKgorICogQ29weXJpZ2h0 IChDKSAyMDIwIExpbmFybywgTHRkLgorICoKKyAqIEJhc2VkIG9uIHRoZSBJT04gcGFnZSBwb29s IGNvZGUKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUsIEluYy4KKyAqLworCisjaW5jbHVk ZSA8bGludXgvZnJlZXplci5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxs aW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc3dhcC5oPgorI2luY2x1ZGUgPGxpbnV4L3Nj aGVkL3NpZ25hbC5oPgorCisjaW5jbHVkZSAiZGVmZXJyZWQtZnJlZS1oZWxwZXIuaCIKKworc3Rh dGljIExJU1RfSEVBRChmcmVlX2xpc3QpOworc3RhdGljIHNpemVfdCBsaXN0X3NpemVfcGFnZXM7 Cit3YWl0X3F1ZXVlX2hlYWRfdCBmcmVlbGlzdF93YWl0cXVldWU7CitzdHJ1Y3QgdGFza19zdHJ1 Y3QgKmZyZWVsaXN0X3Rhc2s7CitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGZyZWVfbGlzdF9sb2Nr KTsKKworc3RhdGljIGlubGluZSBzaXplX3Qgc2l6ZV90b19wYWdlcyhzaXplX3Qgc2l6ZSkKK3sK KwlpZiAoIXNpemUpCisJCXJldHVybiAwOworCXJldHVybiAoKHNpemUgLSAxKSA+PiBQQUdFX1NI SUZUKSArIDE7Cit9CisKK3ZvaWQgZGVmZXJyZWRfZnJlZShzdHJ1Y3QgZGVmZXJyZWRfZnJlZWxp c3RfaXRlbSAqaXRlbSwKKwkJICAgdm9pZCAoKmZyZWUpKHN0cnVjdCBkZWZlcnJlZF9mcmVlbGlz dF9pdGVtKiwKKwkJCQllbnVtIGRmX3JlYXNvbiksCisJCSAgIHNpemVfdCBzaXplKQoreworCXVu c2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlJTklUX0xJU1RfSEVBRCgmaXRlbS0+bGlzdCk7CisJaXRl bS0+c2l6ZSA9IHNpemU7CisJaXRlbS0+ZnJlZSA9IGZyZWU7CisKKwlzcGluX2xvY2tfaXJxc2F2 ZSgmZnJlZV9saXN0X2xvY2ssIGZsYWdzKTsKKwlsaXN0X2FkZCgmaXRlbS0+bGlzdCwgJmZyZWVf bGlzdCk7CisJbGlzdF9zaXplX3BhZ2VzICs9IHNpemVfdG9fcGFnZXMoc2l6ZSk7CisJc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmZnJlZV9saXN0X2xvY2ssIGZsYWdzKTsKKwl3YWtlX3VwKCZmcmVl bGlzdF93YWl0cXVldWUpOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZGVmZXJyZWRfZnJlZSk7CisK K3N0YXRpYyBzaXplX3QgZnJlZV9vbmVfaXRlbShlbnVtIGRmX3JlYXNvbiByZWFzb24pCit7CisJ dW5zaWduZWQgbG9uZyBmbGFnczsKKwlzaXplX3QgbnJfcGFnZXM7CisJc3RydWN0IGRlZmVycmVk X2ZyZWVsaXN0X2l0ZW0gKml0ZW07CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZnJlZV9saXN0X2xv Y2ssIGZsYWdzKTsKKwlpZiAobGlzdF9lbXB0eSgmZnJlZV9saXN0KSkgeworCQlzcGluX3VubG9j a19pcnFyZXN0b3JlKCZmcmVlX2xpc3RfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gMDsKKwl9CisJ aXRlbSA9IGxpc3RfZmlyc3RfZW50cnkoJmZyZWVfbGlzdCwgc3RydWN0IGRlZmVycmVkX2ZyZWVs aXN0X2l0ZW0sIGxpc3QpOworCWxpc3RfZGVsKCZpdGVtLT5saXN0KTsKKwlucl9wYWdlcyA9IHNp emVfdG9fcGFnZXMoaXRlbS0+c2l6ZSk7CisJbGlzdF9zaXplX3BhZ2VzIC09IG5yX3BhZ2VzOwor CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZyZWVfbGlzdF9sb2NrLCBmbGFncyk7CisKKwlpdGVt LT5mcmVlKGl0ZW0sIHJlYXNvbik7CisJcmV0dXJuIG5yX3BhZ2VzOworfQorCitzdGF0aWMgdW5z aWduZWQgbG9uZyBnZXRfZnJlZWxpc3Rfc2l6ZV9wYWdlcyh2b2lkKQoreworCXVuc2lnbmVkIGxv bmcgc2l6ZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmZy ZWVfbGlzdF9sb2NrLCBmbGFncyk7CisJc2l6ZSA9IGxpc3Rfc2l6ZV9wYWdlczsKKwlzcGluX3Vu bG9ja19pcnFyZXN0b3JlKCZmcmVlX2xpc3RfbG9jaywgZmxhZ3MpOworCXJldHVybiBzaXplOwor fQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBmcmVlbGlzdF9zaHJpbmtfY291bnQoc3RydWN0IHNo cmlua2VyICpzaHJpbmtlciwKKwkJCQkJICAgc3RydWN0IHNocmlua19jb250cm9sICpzYykKK3sK KwlyZXR1cm4gZ2V0X2ZyZWVsaXN0X3NpemVfcGFnZXMoKTsKK30KKworc3RhdGljIHVuc2lnbmVk IGxvbmcgZnJlZWxpc3Rfc2hyaW5rX3NjYW4oc3RydWN0IHNocmlua2VyICpzaHJpbmtlciwKKwkJ CQkJICBzdHJ1Y3Qgc2hyaW5rX2NvbnRyb2wgKnNjKQoreworCXVuc2lnbmVkIGxvbmcgdG90YWxf ZnJlZWQgPSAwOworCisJaWYgKHNjLT5ucl90b19zY2FuID09IDApCisJCXJldHVybiAwOworCisJ d2hpbGUgKHRvdGFsX2ZyZWVkIDwgc2MtPm5yX3RvX3NjYW4pIHsKKwkJc2l6ZV90IHBhZ2VzX2Zy ZWVkID0gZnJlZV9vbmVfaXRlbShERl9VTkRFUl9QUkVTU1VSRSk7CisKKwkJaWYgKCFwYWdlc19m cmVlZCkKKwkJCWJyZWFrOworCisJCXRvdGFsX2ZyZWVkICs9IHBhZ2VzX2ZyZWVkOworCX0KKwor CXJldHVybiB0b3RhbF9mcmVlZDsKK30KKworc3RhdGljIHN0cnVjdCBzaHJpbmtlciBmcmVlbGlz dF9zaHJpbmtlciA9IHsKKwkuY291bnRfb2JqZWN0cyA9IGZyZWVsaXN0X3Nocmlua19jb3VudCwK Kwkuc2Nhbl9vYmplY3RzID0gZnJlZWxpc3Rfc2hyaW5rX3NjYW4sCisJLnNlZWtzID0gREVGQVVM VF9TRUVLUywKKwkuYmF0Y2ggPSAwLAorfTsKKworc3RhdGljIGludCBkZWZlcnJlZF9mcmVlX3Ro cmVhZCh2b2lkICpkYXRhKQoreworCXdoaWxlICh0cnVlKSB7CisJCXdhaXRfZXZlbnRfZnJlZXph YmxlKGZyZWVsaXN0X3dhaXRxdWV1ZSwKKwkJCQkgICAgIGdldF9mcmVlbGlzdF9zaXplX3BhZ2Vz KCkgPiAwKTsKKworCQlmcmVlX29uZV9pdGVtKERGX05PUk1BTCk7CisJfQorCisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyBpbnQgZGVmZXJyZWRfZnJlZWxpc3RfaW5pdCh2b2lkKQoreworCWxpc3Rf c2l6ZV9wYWdlcyA9IDA7CisKKwlpbml0X3dhaXRxdWV1ZV9oZWFkKCZmcmVlbGlzdF93YWl0cXVl dWUpOworCWZyZWVsaXN0X3Rhc2sgPSBrdGhyZWFkX3J1bihkZWZlcnJlZF9mcmVlX3RocmVhZCwg TlVMTCwKKwkJCQkgICAgIiVzIiwgImRtYWJ1Zi1kZWZlcnJlZC1mcmVlLXdvcmtlciIpOworCWlm IChJU19FUlIoZnJlZWxpc3RfdGFzaykpIHsKKwkJcHJfZXJyKCJDcmVhdGluZyB0aHJlYWQgZm9y IGRlZmVycmVkIGZyZWUgZmFpbGVkXG4iKTsKKwkJcmV0dXJuIC0xOworCX0KKwlzY2hlZF9zZXRf bm9ybWFsKGZyZWVsaXN0X3Rhc2ssIDE5KTsKKworCXJldHVybiByZWdpc3Rlcl9zaHJpbmtlcigm ZnJlZWxpc3Rfc2hyaW5rZXIpOworfQorbW9kdWxlX2luaXQoZGVmZXJyZWRfZnJlZWxpc3RfaW5p dCk7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1h LWJ1Zi9oZWFwcy9kZWZlcnJlZC1mcmVlLWhlbHBlci5oIGIvZHJpdmVycy9kbWEtYnVmL2hlYXBz L2RlZmVycmVkLWZyZWUtaGVscGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi4xOGI0NGFjODZlZjYKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2RtYS1idWYv aGVhcHMvZGVmZXJyZWQtZnJlZS1oZWxwZXIuaApAQCAtMCwwICsxLDU1IEBACisvKiBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLworCisjaWZuZGVmIERFRkVSUkVEX0ZSRUVfSEVM UEVSX0gKKyNkZWZpbmUgREVGRVJSRURfRlJFRV9IRUxQRVJfSAorCisvKioKKyAqIGRmX3JlYXNv biAtIGVudW0gZm9yIHJlYXNvbiB3aHkgaXRlbSB3YXMgZnJlZWQKKyAqCisgKiBUaGlzIHByb3Zp ZGVzIGEgcmVhc29uIGZvciB3aHkgdGhlIGZyZWUgZnVuY3Rpb24gd2FzIGNhbGxlZAorICogb24g dGhlIGl0ZW0uIFRoaXMgaXMgdXNlZnVsIHdoZW4gZGVmZXJyZWRfZnJlZSBpcyB1c2VkIGluCisg KiBjb21iaW5hdGlvbiB3aXRoIGEgcGFnZXBvb2wsIHNvIHVuZGVyIHByZXNzdXJlIHRoZSBwYWdl IGNhbgorICogYmUgaW1tZWRpYXRlbHkgZnJlZWQuCisgKgorICogREZfTk9STUFMOiAgICAgICAg IE5vcm1hbCBkZWZlcnJlZCBmcmVlCisgKgorICogREZfVU5ERVJfUFJFU1NVUkU6IEZyZWUgd2Fz IGNhbGxlZCBiZWNhdXNlIHRoZSBzeXN0ZW0KKyAqICAgICAgICAgICAgICAgICAgICBpcyB1bmRl ciBtZW1vcnkgcHJlc3N1cmUuIFVzdWFsbHkKKyAqICAgICAgICAgICAgICAgICAgICBmcm9tIGEg c2hyaW5rZXIuIEF2b2lkIGFsbG9jYXRpbmcKKyAqICAgICAgICAgICAgICAgICAgICBtZW1vcnkg aW4gdGhlIGZyZWUgY2FsbCwgYXMgaXQgbWF5CisgKiAgICAgICAgICAgICAgICAgICAgZmFpbC4K KyAqLworZW51bSBkZl9yZWFzb24geworCURGX05PUk1BTCwKKwlERl9VTkRFUl9QUkVTU1VSRSwK K307CisKKy8qKgorICogZGVmZXJyZWRfZnJlZWxpc3RfaXRlbSAtIGl0ZW0gc3RydWN0dXJlIGZv ciBkZWZlcnJlZCBmcmVlbGlzdAorICoKKyAqIFRoaXMgaXMgdG8gYmUgYWRkZWQgdG8gdGhlIHN0 cnVjdHVyZSBmb3Igd2hhdGV2ZXIgeW91IHdhbnQgdG8KKyAqIGRlZmVyIGZyZWVpbmcgb24uCisg KgorICogQHNpemU6IHNpemUgb2YgdGhlIGl0ZW0gdG8gYmUgZnJlZWQKKyAqIEBmcmVlOiBmdW5j dGlvbiBwb2ludGVyIHRvIGJlIGNhbGxlZCB3aGVuIGZyZWVpbmcgdGhlIGl0ZW0KKyAqIEBsaXN0 OiBsaXN0IGVudHJ5IGZvciB0aGUgZGVmZXJyZWQgbGlzdAorICovCitzdHJ1Y3QgZGVmZXJyZWRf ZnJlZWxpc3RfaXRlbSB7CisJc2l6ZV90IHNpemU7CisJdm9pZCAoKmZyZWUpKHN0cnVjdCBkZWZl cnJlZF9mcmVlbGlzdF9pdGVtICppLAorCQkgICAgIGVudW0gZGZfcmVhc29uIHJlYXNvbik7CisJ c3RydWN0IGxpc3RfaGVhZCBsaXN0OworfTsKKworLyoqCisgKiBkZWZlcnJlZF9mcmVlIC0gY2Fs bCB0byBhZGQgaXRlbSB0byB0aGUgZGVmZXJyZWQgZnJlZSBsaXN0CisgKgorICogQGl0ZW06IFBv aW50ZXIgdG8gZGVmZXJyZWRfZnJlZWxpc3RfaXRlbSBmaWVsZCBvZiBhIHN0cnVjdHVyZQorICog QGZyZWU6IEZ1bmN0aW9uIHBvaW50ZXIgdG8gdGhlIGZyZWUgY2FsbAorICogQHNpemU6IFNpemUg b2YgdGhlIGl0ZW0gdG8gYmUgZnJlZWQKKyAqLwordm9pZCBkZWZlcnJlZF9mcmVlKHN0cnVjdCBk ZWZlcnJlZF9mcmVlbGlzdF9pdGVtICppdGVtLAorCQkgICB2b2lkICgqZnJlZSkoc3RydWN0IGRl ZmVycmVkX2ZyZWVsaXN0X2l0ZW0gKmksCisJCQkJZW51bSBkZl9yZWFzb24gcmVhc29uKSwKKwkJ ICAgc2l6ZV90IHNpemUpOworI2VuZGlmCi0tIAoyLjI1LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=