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,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 40488C433E0 for ; Tue, 19 Jan 2021 20:45:18 +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 C94CA23107 for ; Tue, 19 Jan 2021 20:45:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C94CA23107 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 BED9589B20; Tue, 19 Jan 2021 20:45:16 +0000 (UTC) Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0EDA489B20 for ; Tue, 19 Jan 2021 20:45:16 +0000 (UTC) Received: by mail-pl1-x633.google.com with SMTP id s15so11221840plr.9 for ; Tue, 19 Jan 2021 12:45:16 -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=njrcSIJAkGY2OvZcMcUOB/aiSRsE8gSP15fU7c5jB6I=; b=D4Tiif4UHDgXE0lEl4K0r5he4Lv75bV6HrswkUdJtOBDALOY20/c4H2BSvtnyOb/TI lUvOJdmQt0XsbtCcgTlnkqqpAJQNX09TzBmy5RJFv/agoix5egESsaXy3Nveu5r9N10z fNuTeUbV3nBdadsnb+AbFgi8g+pyo8yGfsg6cOewdwkf78efJVxidklQClROooreN6BY 4Awgdijgf5MJ1bxffI2A7/j/1T07ikg94dEgS8D0bY9No74cF+y6jibT4Ne9hGHwHwRa IX/mVVnT24EmSAISdSkb4YSF2D9+3eN6ND0QDmXLnQZmVdO6m6rILjT+jOvuB8NqiI1K uABQ== 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=njrcSIJAkGY2OvZcMcUOB/aiSRsE8gSP15fU7c5jB6I=; b=lpKO+3TpFqhLjCRQhsAW2eboKuPwR6lPmIoBYmLeYjzfZ6zoIy6t4CsDzYuelnPU3n qYuF7r5NahFbX/Akbk1vM2CM/b8ooeJHneZB4kFcnnwGRfa8kRwWlvlgQRmcAYAqbSok 8HUjHwrb9tKEDbv+t4xhPG6ndFCKR14c6JDuPjAXJ0uAYNYfKqmefKw6H/lmjLfeu0sM 9GV/6qL1+I9k4UW9su67OSrqwNx7Z5NCv0cET/DBqEjSQnQyKp9/dzrB2k0GvuvFV4jc PVQQxIAZ8ir0NxbzUMrI8IgT6aOxpugCbz+g1fGezinut4eBpvluUlxcGlW2gmEsYK/D UokQ== X-Gm-Message-State: AOAM530Y/JJIGt3SZHb2BJxof1SbIZu1GNlDQz4JgFGm+X3U6SElpSve qDRcWlhjb/WOFnddzxAPXJoFYQ== X-Google-Smtp-Source: ABdhPJxNNMADX9CbUQovzjYXc9TxCQoBpybpXFayDx9hPArekpnWGmkjCQtFXmhn9Lpe14eQ01u5eg== X-Received: by 2002:a17:90a:7e18:: with SMTP id i24mr1669643pjl.72.1611089115609; Tue, 19 Jan 2021 12:45:15 -0800 (PST) Received: from localhost.localdomain ([2601:1c2:680:1319:692:26ff:feda:3a81]) by smtp.gmail.com with ESMTPSA id md7sm4129838pjb.52.2021.01.19.12.45.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Jan 2021 12:45:14 -0800 (PST) From: John Stultz To: lkml Subject: [RESEND][PATCH 3/3] dma-buf: heaps: Rework heep allocation hooks to return struct dma_buf instead of fd Date: Tue, 19 Jan 2021 20:45:08 +0000 Message-Id: <20210119204508.9256-3-john.stultz@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210119204508.9256-1-john.stultz@linaro.org> References: <20210119204508.9256-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: Sandeep Patil , dri-devel@lists.freedesktop.org, 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 , Daniel Mentz Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RXZlcnkgaGVhcCBuZWVkcyB0byBjcmVhdGUgYSBkbWFidWYgYW5kIHRoZW4gZXhwb3J0IGl0IHRv IGEgZmQKdmlhIGRtYV9idWZfZmQoKSwgc28gdG8gY29uc29saWRhdGUgdGhpbmdzIGEgYml0LCBo YXZlIHRoZSBoZWFwcwpqdXN0IHJldHVybiBhIHN0cnVjdCBkbWFidWYgKiBhbmQgbGV0IHRoZSB0 b3AgbGV2ZWwKZG1hX2hlYXBfYnVmZmVyX2FsbG9jKCkgY2FsbCBoYW5kbGUgY3JlYXRpbmcgdGhl IGZkIHZpYQpkbWFfYnVmX2ZkKCkuCgpDYzogU3VtaXQgU2Vtd2FsIDxzdW1pdC5zZW13YWxAbGlu YXJvLm9yZz4KQ2M6IExpYW0gTWFyayA8bG1hcmtAY29kZWF1cm9yYS5vcmc+CkNjOiBMYXVyYSBB YmJvdHQgPGxhYmJvdHRAa2VybmVsLm9yZz4KQ2M6IEJyaWFuIFN0YXJrZXkgPEJyaWFuLlN0YXJr ZXlAYXJtLmNvbT4KQ2M6IEhyaWR5YSBWYWxzYXJhanUgPGhyaWR5YUBnb29nbGUuY29tPgpDYzog U3VyZW4gQmFnaGRhc2FyeWFuIDxzdXJlbmJAZ29vZ2xlLmNvbT4KQ2M6IFNhbmRlZXAgUGF0aWwg PHNzcGF0aWxAZ29vZ2xlLmNvbT4KQ2M6IERhbmllbCBNZW50eiA8ZGFuaWVsbWVudHpAZ29vZ2xl LmNvbT4KQ2M6IENocmlzIEdvbGRzd29ydGh5IDxjZ29sZHN3b0Bjb2RlYXVyb3JhLm9yZz4KQ2M6 IMOYcmphbiBFaWRlIDxvcmphbi5laWRlQGFybS5jb20+CkNjOiBSb2JpbiBNdXJwaHkgPHJvYmlu Lm11cnBoeUBhcm0uY29tPgpDYzogRXplcXVpZWwgR2FyY2lhIDxlemVxdWllbEBjb2xsYWJvcmEu Y29tPgpDYzogU2ltb24gU2VyIDxjb250YWN0QGVtZXJzaW9uLmZyPgpDYzogSmFtZXMgSm9uZXMg PGpham9uZXNAbnZpZGlhLmNvbT4KQ2M6IGxpbnV4LW1lZGlhQHZnZXIua2VybmVsLm9yZwpDYzog ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpTaWduZWQtb2ZmLWJ5OiBKb2huIFN0dWx0 eiA8am9obi5zdHVsdHpAbGluYXJvLm9yZz4KLS0tCiBkcml2ZXJzL2RtYS1idWYvZG1hLWhlYXAu YyAgICAgICAgICB8IDE0ICsrKysrKysrKysrKystCiBkcml2ZXJzL2RtYS1idWYvaGVhcHMvY21h X2hlYXAuYyAgICB8IDIyICsrKysrKystLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZG1hLWJ1Zi9o ZWFwcy9zeXN0ZW1faGVhcC5jIHwgMjEgKysrKysrKy0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlL2xp bnV4L2RtYS1oZWFwLmggICAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQogNCBmaWxlcyBjaGFu Z2VkLCAzMyBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2RtYS1idWYvZG1hLWhlYXAuYyBiL2RyaXZlcnMvZG1hLWJ1Zi9kbWEtaGVhcC5jCmluZGV4 IGFmZDIyYzlkYmRjZi4uNmI1ZGI5NTQ1NjlmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2RtYS1idWYv ZG1hLWhlYXAuYworKysgYi9kcml2ZXJzL2RtYS1idWYvZG1hLWhlYXAuYwpAQCAtNTIsNiArNTIs OSBAQCBzdGF0aWMgaW50IGRtYV9oZWFwX2J1ZmZlcl9hbGxvYyhzdHJ1Y3QgZG1hX2hlYXAgKmhl YXAsIHNpemVfdCBsZW4sCiAJCQkJIHVuc2lnbmVkIGludCBmZF9mbGFncywKIAkJCQkgdW5zaWdu ZWQgaW50IGhlYXBfZmxhZ3MpCiB7CisJc3RydWN0IGRtYV9idWYgKmRtYWJ1ZjsKKwlpbnQgZmQ7 CisKIAkvKgogCSAqIEFsbG9jYXRpb25zIGZyb20gYWxsIGhlYXBzIGhhdmUgdG8gYmVnaW4KIAkg KiBhbmQgZW5kIG9uIHBhZ2UgYm91bmRhcmllcy4KQEAgLTYwLDcgKzYzLDE2IEBAIHN0YXRpYyBp bnQgZG1hX2hlYXBfYnVmZmVyX2FsbG9jKHN0cnVjdCBkbWFfaGVhcCAqaGVhcCwgc2l6ZV90IGxl biwKIAlpZiAoIWxlbikKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlyZXR1cm4gaGVhcC0+b3BzLT5h bGxvY2F0ZShoZWFwLCBsZW4sIGZkX2ZsYWdzLCBoZWFwX2ZsYWdzKTsKKwlkbWFidWYgPSBoZWFw LT5vcHMtPmFsbG9jYXRlKGhlYXAsIGxlbiwgZmRfZmxhZ3MsIGhlYXBfZmxhZ3MpOworCWlmIChJ U19FUlIoZG1hYnVmKSkKKwkJcmV0dXJuIFBUUl9FUlIoZG1hYnVmKTsKKworCWZkID0gZG1hX2J1 Zl9mZChkbWFidWYsIGZkX2ZsYWdzKTsKKwlpZiAoZmQgPCAwKSB7CisJCWRtYV9idWZfcHV0KGRt YWJ1Zik7CisJCS8qIGp1c3QgcmV0dXJuLCBhcyBwdXQgd2lsbCBjYWxsIHJlbGVhc2UgYW5kIHRo YXQgd2lsbCBmcmVlICovCisJfQorCXJldHVybiBmZDsKIH0KIAogc3RhdGljIGludCBkbWFfaGVh cF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9kbWEtYnVmL2hlYXBzL2NtYV9oZWFwLmMgYi9kcml2ZXJzL2RtYS1idWYvaGVh cHMvY21hX2hlYXAuYwppbmRleCAwYzc2Y2JjM2ZiMTEuLjk4NWM0MWZmZDg1YiAxMDA2NDQKLS0t IGEvZHJpdmVycy9kbWEtYnVmL2hlYXBzL2NtYV9oZWFwLmMKKysrIGIvZHJpdmVycy9kbWEtYnVm L2hlYXBzL2NtYV9oZWFwLmMKQEAgLTI3MiwxMCArMjcyLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZG1hX2J1Zl9vcHMgY21hX2hlYXBfYnVmX29wcyA9IHsKIAkucmVsZWFzZSA9IGNtYV9oZWFw X2RtYV9idWZfcmVsZWFzZSwKIH07CiAKLXN0YXRpYyBpbnQgY21hX2hlYXBfYWxsb2NhdGUoc3Ry dWN0IGRtYV9oZWFwICpoZWFwLAotCQkJCSAgdW5zaWduZWQgbG9uZyBsZW4sCi0JCQkJICB1bnNp Z25lZCBsb25nIGZkX2ZsYWdzLAotCQkJCSAgdW5zaWduZWQgbG9uZyBoZWFwX2ZsYWdzKQorc3Rh dGljIHN0cnVjdCBkbWFfYnVmICpjbWFfaGVhcF9hbGxvY2F0ZShzdHJ1Y3QgZG1hX2hlYXAgKmhl YXAsCisJCQkJCSB1bnNpZ25lZCBsb25nIGxlbiwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgZmRfZmxh Z3MsCisJCQkJCSB1bnNpZ25lZCBsb25nIGhlYXBfZmxhZ3MpCiB7CiAJc3RydWN0IGNtYV9oZWFw ICpjbWFfaGVhcCA9IGRtYV9oZWFwX2dldF9kcnZkYXRhKGhlYXApOwogCXN0cnVjdCBjbWFfaGVh cF9idWZmZXIgKmJ1ZmZlcjsKQEAgLTI5MCw3ICsyOTAsNyBAQCBzdGF0aWMgaW50IGNtYV9oZWFw X2FsbG9jYXRlKHN0cnVjdCBkbWFfaGVhcCAqaGVhcCwKIAogCWJ1ZmZlciA9IGt6YWxsb2Moc2l6 ZW9mKCpidWZmZXIpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9N RU07CisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCiAJSU5JVF9MSVNUX0hFQUQoJmJ1ZmZl ci0+YXR0YWNobWVudHMpOwogCW11dGV4X2luaXQoJmJ1ZmZlci0+bG9jayk7CkBAIC0zNDksMTUg KzM0OSw3IEBAIHN0YXRpYyBpbnQgY21hX2hlYXBfYWxsb2NhdGUoc3RydWN0IGRtYV9oZWFwICpo ZWFwLAogCQlyZXQgPSBQVFJfRVJSKGRtYWJ1Zik7CiAJCWdvdG8gZnJlZV9wYWdlczsKIAl9Ci0K LQlyZXQgPSBkbWFfYnVmX2ZkKGRtYWJ1ZiwgZmRfZmxhZ3MpOwotCWlmIChyZXQgPCAwKSB7Ci0J CWRtYV9idWZfcHV0KGRtYWJ1Zik7Ci0JCS8qIGp1c3QgcmV0dXJuLCBhcyBwdXQgd2lsbCBjYWxs IHJlbGVhc2UgYW5kIHRoYXQgd2lsbCBmcmVlICovCi0JCXJldHVybiByZXQ7Ci0JfQotCi0JcmV0 dXJuIHJldDsKKwlyZXR1cm4gZG1hYnVmOwogCiBmcmVlX3BhZ2VzOgogCWtmcmVlKGJ1ZmZlci0+ cGFnZXMpOwpAQCAtMzY2LDcgKzM1OCw3IEBAIHN0YXRpYyBpbnQgY21hX2hlYXBfYWxsb2NhdGUo c3RydWN0IGRtYV9oZWFwICpoZWFwLAogZnJlZV9idWZmZXI6CiAJa2ZyZWUoYnVmZmVyKTsKIAot CXJldHVybiByZXQ7CisJcmV0dXJuIEVSUl9QVFIocmV0KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0 cnVjdCBkbWFfaGVhcF9vcHMgY21hX2hlYXBfb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9k bWEtYnVmL2hlYXBzL3N5c3RlbV9oZWFwLmMgYi9kcml2ZXJzL2RtYS1idWYvaGVhcHMvc3lzdGVt X2hlYXAuYwppbmRleCAyMzIxYzkxODkxZjYuLjdiMTU0NDI0YWViMyAxMDA2NDQKLS0tIGEvZHJp dmVycy9kbWEtYnVmL2hlYXBzL3N5c3RlbV9oZWFwLmMKKysrIGIvZHJpdmVycy9kbWEtYnVmL2hl YXBzL3N5c3RlbV9oZWFwLmMKQEAgLTMzMiwxMCArMzMyLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgcGFn ZSAqYWxsb2NfbGFyZ2VzdF9hdmFpbGFibGUodW5zaWduZWQgbG9uZyBzaXplLAogCXJldHVybiBO VUxMOwogfQogCi1zdGF0aWMgaW50IHN5c3RlbV9oZWFwX2FsbG9jYXRlKHN0cnVjdCBkbWFfaGVh cCAqaGVhcCwKLQkJCQl1bnNpZ25lZCBsb25nIGxlbiwKLQkJCQl1bnNpZ25lZCBsb25nIGZkX2Zs YWdzLAotCQkJCXVuc2lnbmVkIGxvbmcgaGVhcF9mbGFncykKK3N0YXRpYyBzdHJ1Y3QgZG1hX2J1 ZiAqc3lzdGVtX2hlYXBfYWxsb2NhdGUoc3RydWN0IGRtYV9oZWFwICpoZWFwLAorCQkJCQkgICAg dW5zaWduZWQgbG9uZyBsZW4sCisJCQkJCSAgICB1bnNpZ25lZCBsb25nIGZkX2ZsYWdzLAorCQkJ CQkgICAgdW5zaWduZWQgbG9uZyBoZWFwX2ZsYWdzKQogewogCXN0cnVjdCBzeXN0ZW1faGVhcF9i dWZmZXIgKmJ1ZmZlcjsKIAlERUZJTkVfRE1BX0JVRl9FWFBPUlRfSU5GTyhleHBfaW5mbyk7CkBA IC0zNTAsNyArMzUwLDcgQEAgc3RhdGljIGludCBzeXN0ZW1faGVhcF9hbGxvY2F0ZShzdHJ1Y3Qg ZG1hX2hlYXAgKmhlYXAsCiAKIAlidWZmZXIgPSBremFsbG9jKHNpemVvZigqYnVmZmVyKSwgR0ZQ X0tFUk5FTCk7CiAJaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOworCQlyZXR1cm4gRVJS X1BUUigtRU5PTUVNKTsKIAogCUlOSVRfTElTVF9IRUFEKCZidWZmZXItPmF0dGFjaG1lbnRzKTsK IAltdXRleF9pbml0KCZidWZmZXItPmxvY2spOwpAQCAtNDAwLDE0ICs0MDAsNyBAQCBzdGF0aWMg aW50IHN5c3RlbV9oZWFwX2FsbG9jYXRlKHN0cnVjdCBkbWFfaGVhcCAqaGVhcCwKIAkJcmV0ID0g UFRSX0VSUihkbWFidWYpOwogCQlnb3RvIGZyZWVfcGFnZXM7CiAJfQotCi0JcmV0ID0gZG1hX2J1 Zl9mZChkbWFidWYsIGZkX2ZsYWdzKTsKLQlpZiAocmV0IDwgMCkgewotCQlkbWFfYnVmX3B1dChk bWFidWYpOwotCQkvKiBqdXN0IHJldHVybiwgYXMgcHV0IHdpbGwgY2FsbCByZWxlYXNlIGFuZCB0 aGF0IHdpbGwgZnJlZSAqLwotCQlyZXR1cm4gcmV0OwotCX0KLQlyZXR1cm4gcmV0OworCXJldHVy biBkbWFidWY7CiAKIGZyZWVfcGFnZXM6CiAJZm9yX2VhY2hfc2d0YWJsZV9zZyh0YWJsZSwgc2cs IGkpIHsKQEAgLTQyMSw3ICs0MTQsNyBAQCBzdGF0aWMgaW50IHN5c3RlbV9oZWFwX2FsbG9jYXRl KHN0cnVjdCBkbWFfaGVhcCAqaGVhcCwKIAkJX19mcmVlX3BhZ2VzKHBhZ2UsIGNvbXBvdW5kX29y ZGVyKHBhZ2UpKTsKIAlrZnJlZShidWZmZXIpOwogCi0JcmV0dXJuIHJldDsKKwlyZXR1cm4gRVJS X1BUUihyZXQpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9oZWFwX29wcyBzeXN0ZW1f aGVhcF9vcHMgPSB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2RtYS1oZWFwLmggYi9pbmNs dWRlL2xpbnV4L2RtYS1oZWFwLmgKaW5kZXggNDU0ZTM1NGQxZmZiLi41YmM1Yzk0NmFmNTggMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZG1hLWhlYXAuaAorKysgYi9pbmNsdWRlL2xpbnV4L2Rt YS1oZWFwLmgKQEAgLTE2LDE1ICsxNiwxNSBAQCBzdHJ1Y3QgZG1hX2hlYXA7CiAKIC8qKgogICog c3RydWN0IGRtYV9oZWFwX29wcyAtIG9wcyB0byBvcGVyYXRlIG9uIGEgZ2l2ZW4gaGVhcAotICog QGFsbG9jYXRlOgkJYWxsb2NhdGUgZG1hYnVmIGFuZCByZXR1cm4gZmQKKyAqIEBhbGxvY2F0ZToJ CWFsbG9jYXRlIGRtYWJ1ZiBhbmQgcmV0dXJuIHN0cnVjdCBkbWFfYnVmIHB0cgogICoKLSAqIGFs bG9jYXRlIHJldHVybnMgZG1hYnVmIGZkICBvbiBzdWNjZXNzLCAtZXJybm8gb24gZXJyb3IuCisg KiBhbGxvY2F0ZSByZXR1cm5zIGRtYWJ1ZiBvbiBzdWNjZXNzLCBFUlJfUFRSKC1lcnJubykgb24g ZXJyb3IuCiAgKi8KIHN0cnVjdCBkbWFfaGVhcF9vcHMgewotCWludCAoKmFsbG9jYXRlKShzdHJ1 Y3QgZG1hX2hlYXAgKmhlYXAsCi0JCQl1bnNpZ25lZCBsb25nIGxlbiwKLQkJCXVuc2lnbmVkIGxv bmcgZmRfZmxhZ3MsCi0JCQl1bnNpZ25lZCBsb25nIGhlYXBfZmxhZ3MpOworCXN0cnVjdCBkbWFf YnVmICooKmFsbG9jYXRlKShzdHJ1Y3QgZG1hX2hlYXAgKmhlYXAsCisJCQkJICAgIHVuc2lnbmVk IGxvbmcgbGVuLAorCQkJCSAgICB1bnNpZ25lZCBsb25nIGZkX2ZsYWdzLAorCQkJCSAgICB1bnNp Z25lZCBsb25nIGhlYXBfZmxhZ3MpOwogfTsKIAogLyoqCi0tIAoyLjE3LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=