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=-12.1 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 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 B087AC433ED for ; Wed, 14 Apr 2021 06:43:43 +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 729E2613BB for ; Wed, 14 Apr 2021 06:43:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 729E2613BB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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 8FD926E45D; Wed, 14 Apr 2021 06:43:42 +0000 (UTC) Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) by gabe.freedesktop.org (Postfix) with ESMTPS id 772CC6E456; Wed, 14 Apr 2021 06:43:41 +0000 (UTC) Received: by mail-ej1-x62b.google.com with SMTP id x12so8902436ejc.1; Tue, 13 Apr 2021 23:43:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=SHrXdOJkf4ioxbrleUwrDBK5r4RhIZcULJGoXzQ9vtI=; b=IOyLj8jF3D7hWJzaM5k7hB4yVBrZBPoyoHxVh0lp2xL+eZBqBhmZ6KXhduKaiyPENU dvRvu0p4FvOLVW+9if0o63SRqyB/JTsdLHtIvyrVzO4DgH7CQoyy9TX1gCx960YorL5P 0B6L9jCdamu3lINll+7UV294+oh+HDQByoMp2eoME1oT1kYEGABgpD6Uhzm0/FjhH/1x F849x2OUtlcrdwOhuwJlVumrxveanpS60tTyGnyZecqrCmufhFKPGOl5tFSeH5GwX39R Jdasgy1xPVZiWfwVfivA6KjSgGv0ohQTGBpDgk+XFFmwiwTigxfakB4oJqU6FTQJjyL/ V9Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=SHrXdOJkf4ioxbrleUwrDBK5r4RhIZcULJGoXzQ9vtI=; b=szx8YPGXfh7+2fox7+HsC2B3zRiVE2w1iswogYTD8/93dsWAMfRKYEGZnWrSeUdqqp +CDlKpIoM+0eJWlbSj4an+Dc40/QF7FSAFYjv7N2UjMMPVfT0GuPRd0V1tjivEbbsyZM EzOYjR6smIQzkwZ/ooZSRdiQvPuZn3KFfpnohtKMmTXhwUg2HbThpx/RN8TrlF3nt46C EASYZVcp7jG1XppCU2WS9ziRSkppS1Z4aMdWCZtmW11wZh0QWTBKsIebRWGFpDvqr9T6 zT+10k2LUZbzXWqHsRSlkdDkavsOQWIwU5xcszDVVmd7Vz2Zij1Yc1D2hH1sVQihK6Iz PEEQ== X-Gm-Message-State: AOAM530RiLds/2g/DAsJVMN1vOPs2WuJQadS835veUI/idG4lywOXyJK 8jqerQ3zZxTvizylC3Df2l+wQf0VbVQ= X-Google-Smtp-Source: ABdhPJy3is6Fcb2MSEqhP06YMCN5JjW3L57KprUBr9mceOV9WpmsNKPVECa2LaXQ+VGN0vvjYND3PQ== X-Received: by 2002:a17:906:341a:: with SMTP id c26mr25314080ejb.238.1618382620006; Tue, 13 Apr 2021 23:43:40 -0700 (PDT) Received: from ?IPv6:2a02:908:1252:fb60:eb49:bad8:5b80:ea48? ([2a02:908:1252:fb60:eb49:bad8:5b80:ea48]) by smtp.gmail.com with ESMTPSA id q18sm10782952edr.26.2021.04.13.23.43.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 13 Apr 2021 23:43:39 -0700 (PDT) Subject: Re: [PATCH 3/4] drm/amdkfd: Allow access for mmapping KFD BOs To: Felix Kuehling , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20210407231259.1787-1-Felix.Kuehling@amd.com> <20210407231259.1787-3-Felix.Kuehling@amd.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <648edbce-ee6a-c59b-0c0f-9466fd305749@gmail.com> Date: Wed, 14 Apr 2021 08:43:38 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <20210407231259.1787-3-Felix.Kuehling@amd.com> Content-Language: en-US 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: christian.koenig@amd.com, tzimmermann@suse.de Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" QW0gMDguMDQuMjEgdW0gMDE6MTIgc2NocmllYiBGZWxpeCBLdWVobGluZzoKPiBEUk0gYWxsb3dz IGFjY2VzcyBhdXRvbWF0aWNhbGx5IHdoZW4gaXQgY3JlYXRlcyBhIEdFTSBoYW5kbGUgZm9yIGEg Qk8uCj4gS0ZEIEJPcyBkb24ndCBoYXZlIEdFTSBoYW5kbGVzLCBzbyBLRkQgbmVlZHMgdG8gbWFu YWdlIGFjY2VzcyBtYW51YWxseS4KCk9rLCBkb3VibGUgY2hlY2tpbmcgdGhlIGNvZGUgdGhhdCBt YWtlcyBzZW5zZS4KCj4gU2lnbmVkLW9mZi1ieTogRmVsaXggS3VlaGxpbmcgPEZlbGl4Lkt1ZWhs aW5nQGFtZC5jb20+CgpBY2tlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5p Z0BhbWQuY29tPgoKPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9h bWRrZmQuaCAgICB8ICAzICsrLQo+ICAgLi4uL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1k a2ZkX2dwdXZtLmMgIHwgMTkgKysrKysrKysrKysrKysrKysrLQo+ICAgZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRrZmQva2ZkX2NoYXJkZXYuYyAgICAgIHwgIDggKysrKystLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcm9jZXNzLmMgICAgICB8ICA3ICsrKystLS0KPiAgIDQg ZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmggYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmgKPiBpbmRleCAwZDU5YmViZDky YWYuLjdjOGM1ZTQ2OTcwNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfYW1ka2ZkLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfYW1ka2ZkLmgKPiBAQCAtMjQ1LDcgKzI0NSw4IEBAIGludCBhbWRncHVfYW1ka2ZkX2dwdXZt X2FsbG9jX21lbW9yeV9vZl9ncHUoCj4gICAJCXZvaWQgKmRybV9wcml2LCBzdHJ1Y3Qga2dkX21l bSAqKm1lbSwKPiAgIAkJdWludDY0X3QgKm9mZnNldCwgdWludDMyX3QgZmxhZ3MpOwo+ICAgaW50 IGFtZGdwdV9hbWRrZmRfZ3B1dm1fZnJlZV9tZW1vcnlfb2ZfZ3B1KAo+IC0JCXN0cnVjdCBrZ2Rf ZGV2ICprZ2QsIHN0cnVjdCBrZ2RfbWVtICptZW0sIHVpbnQ2NF90ICpzaXplKTsKPiArCQlzdHJ1 Y3Qga2dkX2RldiAqa2dkLCBzdHJ1Y3Qga2dkX21lbSAqbWVtLCB2b2lkICpkcm1fcHJpdiwKPiAr CQl1aW50NjRfdCAqc2l6ZSk7Cj4gICBpbnQgYW1kZ3B1X2FtZGtmZF9ncHV2bV9tYXBfbWVtb3J5 X3RvX2dwdSgKPiAgIAkJc3RydWN0IGtnZF9kZXYgKmtnZCwgc3RydWN0IGtnZF9tZW0gKm1lbSwg dm9pZCAqZHJtX3ByaXYpOwo+ICAgaW50IGFtZGdwdV9hbWRrZmRfZ3B1dm1fdW5tYXBfbWVtb3J5 X2Zyb21fZ3B1KAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfYW1ka2ZkX2dwdXZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1k a2ZkX2dwdXZtLmMKPiBpbmRleCA5NTQ0MmJjZDYwZmIuLmU3ZDYxZWM5NjZiNiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dwdXZtLmMKPiBA QCAtMTIzMiw2ICsxMjMyLDEyIEBAIGludCBhbWRncHVfYW1ka2ZkX2dwdXZtX2FsbG9jX21lbW9y eV9vZl9ncHUoCj4gICAJCQkgZG9tYWluX3N0cmluZyhhbGxvY19kb21haW4pLCByZXQpOwo+ICAg CQlnb3RvIGVycl9ib19jcmVhdGU7Cj4gICAJfQo+ICsJcmV0ID0gZHJtX3ZtYV9ub2RlX2FsbG93 KCZnb2JqLT52bWFfbm9kZSwgZHJtX3ByaXYpOwo+ICsJaWYgKHJldCkgewo+ICsJCXByX2RlYnVn KCJGYWlsZWQgdG8gYWxsb3cgdm1hIG5vZGUgYWNjZXNzLiByZXQgJWRcbiIsCj4gKwkJCSByZXQp Owo+ICsJCWdvdG8gZXJyX25vZGVfYWxsb3c7Cj4gKwl9Cj4gICAJYm8gPSBnZW1fdG9fYW1kZ3B1 X2JvKGdvYmopOwo+ICAgCWlmIChib190eXBlID09IHR0bV9ib190eXBlX3NnKSB7Cj4gICAJCWJv LT50Ym8uc2cgPSBzZzsKPiBAQCAtMTI2MSw2ICsxMjY3LDggQEAgaW50IGFtZGdwdV9hbWRrZmRf Z3B1dm1fYWxsb2NfbWVtb3J5X29mX2dwdSgKPiAgIAo+ICAgYWxsb2NhdGVfaW5pdF91c2VyX3Bh Z2VzX2ZhaWxlZDoKPiAgIAlyZW1vdmVfa2dkX21lbV9mcm9tX2tmZF9ib19saXN0KCptZW0sIGF2 bS0+cHJvY2Vzc19pbmZvKTsKPiArCWRybV92bWFfbm9kZV9yZXZva2UoJmdvYmotPnZtYV9ub2Rl LCBkcm1fcHJpdik7Cj4gK2Vycl9ub2RlX2FsbG93Ogo+ICAgCWFtZGdwdV9ib191bnJlZigmYm8p Owo+ICAgCS8qIERvbid0IHVucmVzZXJ2ZSBzeXN0ZW0gbWVtIGxpbWl0IHR3aWNlICovCj4gICAJ Z290byBlcnJfcmVzZXJ2ZV9saW1pdDsKPiBAQCAtMTI3OCw3ICsxMjg2LDggQEAgaW50IGFtZGdw dV9hbWRrZmRfZ3B1dm1fYWxsb2NfbWVtb3J5X29mX2dwdSgKPiAgIH0KPiAgIAo+ICAgaW50IGFt ZGdwdV9hbWRrZmRfZ3B1dm1fZnJlZV9tZW1vcnlfb2ZfZ3B1KAo+IC0JCXN0cnVjdCBrZ2RfZGV2 ICprZ2QsIHN0cnVjdCBrZ2RfbWVtICptZW0sIHVpbnQ2NF90ICpzaXplKQo+ICsJCXN0cnVjdCBr Z2RfZGV2ICprZ2QsIHN0cnVjdCBrZ2RfbWVtICptZW0sIHZvaWQgKmRybV9wcml2LAo+ICsJCXVp bnQ2NF90ICpzaXplKQo+ICAgewo+ICAgCXN0cnVjdCBhbWRrZmRfcHJvY2Vzc19pbmZvICpwcm9j ZXNzX2luZm8gPSBtZW0tPnByb2Nlc3NfaW5mbzsKPiAgIAl1bnNpZ25lZCBsb25nIGJvX3NpemUg PSBtZW0tPmJvLT50Ym8uYmFzZS5zaXplOwo+IEBAIC0xMzU1LDYgKzEzNjQsNyBAQCBpbnQgYW1k Z3B1X2FtZGtmZF9ncHV2bV9mcmVlX21lbW9yeV9vZl9ncHUoCj4gICAJfQo+ICAgCj4gICAJLyog RnJlZSB0aGUgQk8qLwo+ICsJZHJtX3ZtYV9ub2RlX3Jldm9rZSgmbWVtLT5iby0+dGJvLmJhc2Uu dm1hX25vZGUsIGRybV9wcml2KTsKPiAgIAlkcm1fZ2VtX29iamVjdF9wdXQoJm1lbS0+Ym8tPnRi by5iYXNlKTsKPiAgIAltdXRleF9kZXN0cm95KCZtZW0tPmxvY2spOwo+ICAgCWtmcmVlKG1lbSk7 Cj4gQEAgLTE2NjYsNiArMTY3Niw3IEBAIGludCBhbWRncHVfYW1ka2ZkX2dwdXZtX2ltcG9ydF9k bWFidWYoc3RydWN0IGtnZF9kZXYgKmtnZCwKPiAgIAlzdHJ1Y3QgYW1kZ3B1X3ZtICphdm0gPSBk cm1fcHJpdl90b192bShkcm1fcHJpdik7Cj4gICAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7 Cj4gICAJc3RydWN0IGFtZGdwdV9ibyAqYm87Cj4gKwlpbnQgcmV0Owo+ICAgCj4gICAJaWYgKGRt YV9idWYtPm9wcyAhPSAmYW1kZ3B1X2RtYWJ1Zl9vcHMpCj4gICAJCS8qIENhbid0IGhhbmRsZSBu b24tZ3JhcGhpY3MgYnVmZmVycyAqLwo+IEBAIC0xNjg2LDYgKzE2OTcsMTIgQEAgaW50IGFtZGdw dV9hbWRrZmRfZ3B1dm1faW1wb3J0X2RtYWJ1ZihzdHJ1Y3Qga2dkX2RldiAqa2dkLAo+ICAgCWlm ICghKm1lbSkKPiAgIAkJcmV0dXJuIC1FTk9NRU07Cj4gICAKPiArCXJldCA9IGRybV92bWFfbm9k ZV9hbGxvdygmb2JqLT52bWFfbm9kZSwgZHJtX3ByaXYpOwo+ICsJaWYgKHJldCkgewo+ICsJCWtm cmVlKG1lbSk7Cj4gKwkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4gICAJaWYgKHNpemUpCj4gICAJ CSpzaXplID0gYW1kZ3B1X2JvX3NpemUoYm8pOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9jaGFyZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGtmZC9rZmRfY2hhcmRldi5jCj4gaW5kZXggNDNkZTI2MGIyMjMwLi44ZmMxOGRlN2NmZjQgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2NoYXJkZXYuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9jaGFyZGV2LmMKPiBAQCAtMTMyOCw3 ICsxMzI4LDggQEAgc3RhdGljIGludCBrZmRfaW9jdGxfYWxsb2NfbWVtb3J5X29mX2dwdShzdHJ1 Y3QgZmlsZSAqZmlsZXAsCj4gICAJcmV0dXJuIDA7Cj4gICAKPiAgIGVycl9mcmVlOgo+IC0JYW1k Z3B1X2FtZGtmZF9ncHV2bV9mcmVlX21lbW9yeV9vZl9ncHUoZGV2LT5rZ2QsIChzdHJ1Y3Qga2dk X21lbSAqKW1lbSwgTlVMTCk7Cj4gKwlhbWRncHVfYW1ka2ZkX2dwdXZtX2ZyZWVfbWVtb3J5X29m X2dwdShkZXYtPmtnZCwgKHN0cnVjdCBrZ2RfbWVtICopbWVtLAo+ICsJCQkJCSAgICAgICBwZGQt PnZtLCBOVUxMKTsKPiAgIGVycl91bmxvY2s6Cj4gICAJbXV0ZXhfdW5sb2NrKCZwLT5tdXRleCk7 Cj4gICAJcmV0dXJuIGVycjsKPiBAQCAtMTM2NSw3ICsxMzY2LDcgQEAgc3RhdGljIGludCBrZmRf aW9jdGxfZnJlZV9tZW1vcnlfb2ZfZ3B1KHN0cnVjdCBmaWxlICpmaWxlcCwKPiAgIAl9Cj4gICAK PiAgIAlyZXQgPSBhbWRncHVfYW1ka2ZkX2dwdXZtX2ZyZWVfbWVtb3J5X29mX2dwdShkZXYtPmtn ZCwKPiAtCQkJCQkJKHN0cnVjdCBrZ2RfbWVtICopbWVtLCAmc2l6ZSk7Cj4gKwkJCQkJKHN0cnVj dCBrZ2RfbWVtICopbWVtLCBwZGQtPnZtLCAmc2l6ZSk7Cj4gICAKPiAgIAkvKiBJZiBmcmVlaW5n IHRoZSBidWZmZXIgZmFpbGVkLCBsZWF2ZSB0aGUgaGFuZGxlIGluIHBsYWNlIGZvcgo+ICAgCSAq IGNsZWFuLXVwIGR1cmluZyBwcm9jZXNzIHRlYXItZG93bi4KPiBAQCAtMTcyMSw3ICsxNzIyLDgg QEAgc3RhdGljIGludCBrZmRfaW9jdGxfaW1wb3J0X2RtYWJ1ZihzdHJ1Y3QgZmlsZSAqZmlsZXAs Cj4gICAJcmV0dXJuIDA7Cj4gICAKPiAgIGVycl9mcmVlOgo+IC0JYW1kZ3B1X2FtZGtmZF9ncHV2 bV9mcmVlX21lbW9yeV9vZl9ncHUoZGV2LT5rZ2QsIChzdHJ1Y3Qga2dkX21lbSAqKW1lbSwgTlVM TCk7Cj4gKwlhbWRncHVfYW1ka2ZkX2dwdXZtX2ZyZWVfbWVtb3J5X29mX2dwdShkZXYtPmtnZCwg KHN0cnVjdCBrZ2RfbWVtICopbWVtLAo+ICsJCQkJCSAgICAgICBwZGQtPnZtLCBOVUxMKTsKPiAg IGVycl91bmxvY2s6Cj4gICAJbXV0ZXhfdW5sb2NrKCZwLT5tdXRleCk7Cj4gICAJZG1hX2J1Zl9w dXQoZG1hYnVmKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2Zk X3Byb2Nlc3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9wcm9jZXNzLmMKPiBp bmRleCBiYWQwZWNkNmVmODcuLmRhNDUyNDA3YzRlNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGtmZC9rZmRfcHJvY2Vzcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRrZmQva2ZkX3Byb2Nlc3MuYwo+IEBAIC02NDgsNyArNjQ4LDcgQEAgc3RhdGljIHZvaWQg a2ZkX3Byb2Nlc3NfZnJlZV9ncHV2bShzdHJ1Y3Qga2dkX21lbSAqbWVtLAo+ICAgCXN0cnVjdCBr ZmRfZGV2ICpkZXYgPSBwZGQtPmRldjsKPiAgIAo+ICAgCWFtZGdwdV9hbWRrZmRfZ3B1dm1fdW5t YXBfbWVtb3J5X2Zyb21fZ3B1KGRldi0+a2dkLCBtZW0sIHBkZC0+dm0pOwo+IC0JYW1kZ3B1X2Ft ZGtmZF9ncHV2bV9mcmVlX21lbW9yeV9vZl9ncHUoZGV2LT5rZ2QsIG1lbSwgTlVMTCk7Cj4gKwlh bWRncHVfYW1ka2ZkX2dwdXZtX2ZyZWVfbWVtb3J5X29mX2dwdShkZXYtPmtnZCwgbWVtLCBwZGQt PnZtLCBOVUxMKTsKPiAgIH0KPiAgIAo+ICAgLyoga2ZkX3Byb2Nlc3NfYWxsb2NfZ3B1dm0gLSBB bGxvY2F0ZSBHUFUgVk0gZm9yIHRoZSBLRkQgcHJvY2Vzcwo+IEBAIC03MTIsNyArNzEyLDcgQEAg c3RhdGljIGludCBrZmRfcHJvY2Vzc19hbGxvY19ncHV2bShzdHJ1Y3Qga2ZkX3Byb2Nlc3NfZGV2 aWNlICpwZGQsCj4gICAJcmV0dXJuIGVycjsKPiAgIAo+ICAgZXJyX21hcF9tZW06Cj4gLQlhbWRn cHVfYW1ka2ZkX2dwdXZtX2ZyZWVfbWVtb3J5X29mX2dwdShrZGV2LT5rZ2QsIG1lbSwgTlVMTCk7 Cj4gKwlhbWRncHVfYW1ka2ZkX2dwdXZtX2ZyZWVfbWVtb3J5X29mX2dwdShrZGV2LT5rZ2QsIG1l bSwgcGRkLT52bSwgTlVMTCk7Cj4gICBlcnJfYWxsb2NfbWVtOgo+ICAgCSprcHRyID0gTlVMTDsK PiAgIAlyZXR1cm4gZXJyOwo+IEBAIC05MDcsNyArOTA3LDggQEAgc3RhdGljIHZvaWQga2ZkX3By b2Nlc3NfZGV2aWNlX2ZyZWVfYm9zKHN0cnVjdCBrZmRfcHJvY2Vzc19kZXZpY2UgKnBkZCkKPiAg IAkJCQlwZWVyX3BkZC0+ZGV2LT5rZ2QsIG1lbSwgcGVlcl9wZGQtPnZtKTsKPiAgIAkJfQo+ICAg Cj4gLQkJYW1kZ3B1X2FtZGtmZF9ncHV2bV9mcmVlX21lbW9yeV9vZl9ncHUocGRkLT5kZXYtPmtn ZCwgbWVtLCBOVUxMKTsKPiArCQlhbWRncHVfYW1ka2ZkX2dwdXZtX2ZyZWVfbWVtb3J5X29mX2dw dShwZGQtPmRldi0+a2dkLCBtZW0sCj4gKwkJCQkJCSAgICAgICBwZGQtPnZtLCBOVUxMKTsKPiAg IAkJa2ZkX3Byb2Nlc3NfZGV2aWNlX3JlbW92ZV9vYmpfaGFuZGxlKHBkZCwgaWQpOwo+ICAgCX0K PiAgIH0KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=