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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id B4AF1FCB62C for ; Fri, 6 Mar 2026 16:35:26 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 78CD110EDC1; Fri, 6 Mar 2026 16:35:11 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=igalia.com header.i=@igalia.com header.b="pMqU6lgU"; dkim-atps=neutral Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by gabe.freedesktop.org (Postfix) with ESMTPS id E622210EDA8; Fri, 6 Mar 2026 16:35:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=k4G8kX/uGgGd5kQuHAcAHl2bybOWMeBSRyLSbHxvrgo=; b=pMqU6lgUyJmV7Y21bIawU9koo7 WUON5mGJXgPy7rtMRTRPnWmZZns0b0z8WQQ7V7VxMGTrnM279LQVRiLyCvsqfT2x2WJc09lC3nbSD xI5MneBl4Q4taknLwYGqzzq67nbdmi3SQnRJAO6LfHMIMgv2eWdrroyVsRLaEQbYIXme0XEZH7d3B dlyiX2VaRKwgG2vx0cf8MH0KLPlP1+yCE9Nuvl/NTXAEZn62iNWgCQLQFfweqOOOfmyujWs8AdNFH h4M3cyARUESVdnKhmRYm4JjXqrl6iYz5HY5n7baY6GyovrcIJFCYgzt+uE5FeYmQFl4hnVVeGXIcZ Hj8J+xdA==; Received: from [90.240.106.137] (helo=localhost) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1vyY8j-00APUE-25; Fri, 06 Mar 2026 17:35:01 +0100 From: Tvrtko Ursulin To: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: kernel-dev@igalia.com, intel-xe@lists.freedesktop.org, Danilo Krummrich , Philipp Stanner , Tvrtko Ursulin , =?UTF-8?q?Christian=20K=C3=B6nig?= , Matthew Brost Subject: [PATCH v7 14/29] drm/sched: Embed run queue singleton into the scheduler Date: Fri, 6 Mar 2026 16:34:30 +0000 Message-ID: <20260306163445.97243-15-tvrtko.ursulin@igalia.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260306163445.97243-1-tvrtko.ursulin@igalia.com> References: <20260306163445.97243-1-tvrtko.ursulin@igalia.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Tm93IHRoYXQgdGhlIHJ1biBxdWV1ZSB0byBzY2hlZHVsZXIgcmVsYXRpb25zaGlwIGlzIGFsd2F5 cyAxOjEgd2UgY2FuCmVtYmVkIGl0ICh0aGUgcnVuIHF1ZXVlKSBkaXJlY3RseSBpbiB0aGUgc2No ZWR1bGVyIHN0cnVjdCBhbmQgc2F2ZSBvbgpzb21lIGFsbG9jYXRpb24gZXJyb3IgaGFuZGxpbmcg Y29kZSBhbmQgc3VjaC4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJz dWxpbkBpZ2FsaWEuY29tPgpDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0Bh bWQuY29tPgpDYzogRGFuaWxvIEtydW1tcmljaCA8ZGFrckBrZXJuZWwub3JnPgpDYzogTWF0dGhl dyBCcm9zdCA8bWF0dGhldy5icm9zdEBpbnRlbC5jb20+CkNjOiBQaGlsaXBwIFN0YW5uZXIgPHBo YXN0YUBrZXJuZWwub3JnPgpBY2tlZC1ieTogRGFuaWxvIEtydW1tcmljaCA8ZGFrckBrZXJuZWwu b3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jICAgICAgfCAg NiArKystLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2pvYi5jICAgICB8ICA2 ICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfam9iLmggICAgIHwgIDUg KysrLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3RyYWNlLmggICB8ICA4ICsr KystLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtX3NkbWEuYyB8ICA4ICsr Ky0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3hjcC5jICAgICB8ICA4ICsr Ky0tLQogZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9lbnRpdHkuYyAgICB8IDI5ICsr KysrKysrLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9mZW5j ZS5jICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX2ludGVybmFs LmggIHwgIDMgKy0tCiBkcml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX21haW4uYyAgICAg IHwgMjcgKysrLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hl ZF9ycS5jICAgICAgICB8IDE2ICsrKysrKy0tLS0tLQogaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxl ci5oICAgICAgICAgICAgICAgICB8ICA1ICstLS0KIDEyIGZpbGVzIGNoYW5nZWQsIDUxIGluc2Vy dGlvbnMoKyksIDcyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2NzLmMKaW5kZXggMjRlNGI0ZmM5MTU2Li44NzE5YWEwYWRhZDggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9jcy5jCkBAIC0xMTA4LDcgKzExMDgsOCBAQCBzdGF0aWMgaW50IGFt ZGdwdV9jc192bV9oYW5kbGluZyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKIAlpZiAocC0+ Z2FuZ19zaXplID4gMSAmJiAhYWRldi0+dm1fbWFuYWdlci5jb25jdXJyZW50X2ZsdXNoKSB7CiAJ CWZvciAoaSA9IDA7IGkgPCBwLT5nYW5nX3NpemU7ICsraSkgewogCQkJc3RydWN0IGRybV9zY2hl ZF9lbnRpdHkgKmVudGl0eSA9IHAtPmVudGl0aWVzW2ldOwotCQkJc3RydWN0IGRybV9ncHVfc2No ZWR1bGVyICpzY2hlZCA9IGVudGl0eS0+cnEtPnNjaGVkOworCQkJc3RydWN0IGRybV9ncHVfc2No ZWR1bGVyICpzY2hlZCA9CisJCQkJY29udGFpbmVyX29mKGVudGl0eS0+cnEsIHR5cGVvZigqc2No ZWQpLCBycSk7CiAJCQlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcgPSB0b19hbWRncHVfcmluZyhz Y2hlZCk7CiAKIAkJCWlmIChhbWRncHVfdm1pZF91c2VzX3Jlc2VydmVkKHZtLCByaW5nLT52bV9o dWIpKQpAQCAtMTIzOSw3ICsxMjQwLDggQEAgc3RhdGljIGludCBhbWRncHVfY3Nfc3luY19yaW5n cyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKIAkJCXJldHVybiByOwogCX0KIAotCXNjaGVk ID0gcC0+Z2FuZ19sZWFkZXItPmJhc2UuZW50aXR5LT5ycS0+c2NoZWQ7CisJc2NoZWQgPSBjb250 YWluZXJfb2YocC0+Z2FuZ19sZWFkZXItPmJhc2UuZW50aXR5LT5ycSwgdHlwZW9mKCpzY2hlZCks CisJCQkgICAgIHJxKTsKIAl3aGlsZSAoKGZlbmNlID0gYW1kZ3B1X3N5bmNfZ2V0X2ZlbmNlKCZw LT5zeW5jKSkpIHsKIAkJc3RydWN0IGRybV9zY2hlZF9mZW5jZSAqc19mZW5jZSA9IHRvX2RybV9z Y2hlZF9mZW5jZShmZW5jZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9qb2IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9qb2Iu YwppbmRleCA3ZDZmZjBiNmNhNGUuLmQ2ZmYzZmJhYmQ4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2pvYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9qb2IuYwpAQCAtMzkwLDcgKzM5MCw5IEBAIHN0YXRpYyBzdHJ1Y3QgZG1h X2ZlbmNlICoKIGFtZGdwdV9qb2JfcHJlcGFyZV9qb2Ioc3RydWN0IGRybV9zY2hlZF9qb2IgKnNj aGVkX2pvYiwKIAkJICAgICAgc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgKnNfZW50aXR5KQogewot CXN0cnVjdCBhbWRncHVfcmluZyAqcmluZyA9IHRvX2FtZGdwdV9yaW5nKHNfZW50aXR5LT5ycS0+ c2NoZWQpOworCXN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQgPQorCQljb250YWluZXJf b2Yoc19lbnRpdHktPnJxLCB0eXBlb2YoKnNjaGVkKSwgcnEpOworCXN0cnVjdCBhbWRncHVfcmlu ZyAqcmluZyA9IHRvX2FtZGdwdV9yaW5nKHNjaGVkKTsKIAlzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9i ID0gdG9fYW1kZ3B1X2pvYihzY2hlZF9qb2IpOwogCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOwog CWludCByOwpAQCAtNDgzLDcgKzQ4NSw3IEBAIGRybV9zY2hlZF9lbnRpdHlfcXVldWVfcG9wKHN0 cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHkpCiAKIHZvaWQgYW1kZ3B1X2pvYl9zdG9wX2Fs bF9qb2JzX29uX3NjaGVkKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQpCiB7Ci0Jc3Ry dWN0IGRybV9zY2hlZF9ycSAqcnEgPSBzY2hlZC0+cnE7CisJc3RydWN0IGRybV9zY2hlZF9ycSAq cnEgPSAmc2NoZWQtPnJxOwogCXN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICpzX2VudGl0eTsKIAlz dHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc19qb2I7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9qb2IuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9qb2IuaAppbmRleCA1NmE4OGUxNGEwNDQuLmU3MGExMTE3YjgxMiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2pvYi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9qb2IuaApAQCAtMTA3LDcgKzEwNywxMCBAQCBzdHJ1Y3Qg YW1kZ3B1X2pvYiB7CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGFtZGdwdV9yaW5nICphbWRncHVf am9iX3Jpbmcoc3RydWN0IGFtZGdwdV9qb2IgKmpvYikKIHsKLQlyZXR1cm4gdG9fYW1kZ3B1X3Jp bmcoam9iLT5iYXNlLmVudGl0eS0+cnEtPnNjaGVkKTsKKwlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVs ZXIgKnNjaGVkID0KKwkJY29udGFpbmVyX29mKGpvYi0+YmFzZS5lbnRpdHktPnJxLCB0eXBlb2Yo KnNjaGVkKSwgcnEpOworCisJcmV0dXJuIHRvX2FtZGdwdV9yaW5nKHNjaGVkKTsKIH0KIAogaW50 IGFtZGdwdV9qb2JfYWxsb2Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRn cHVfdm0gKnZtLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3RyYWNlLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHJhY2UuaAppbmRl eCBkMTNlNjRhNjllMjUuLjg1NzI0ZWM2YWFmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3RyYWNlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3RyYWNlLmgKQEAgLTE0NSw2ICsxNDUsNyBAQCBUUkFDRV9FVkVOVChhbWRncHVf Y3MsCiAJCSAgICAgc3RydWN0IGFtZGdwdV9pYiAqaWIpLAogCSAgICBUUF9BUkdTKHAsIGpvYiwg aWIpLAogCSAgICBUUF9TVFJVQ1RfX2VudHJ5KAorCQkJICAgICBfX2ZpZWxkKHN0cnVjdCBkcm1f Z3B1X3NjaGVkdWxlciAqLCBzY2hlZCkKIAkJCSAgICAgX19maWVsZChzdHJ1Y3QgYW1kZ3B1X2Jv X2xpc3QgKiwgYm9fbGlzdCkKIAkJCSAgICAgX19maWVsZCh1MzIsIHJpbmcpCiAJCQkgICAgIF9f ZmllbGQodTMyLCBkdykKQEAgLTE1MiwxMSArMTUzLDE0IEBAIFRSQUNFX0VWRU5UKGFtZGdwdV9j cywKIAkJCSAgICAgKSwKIAogCSAgICBUUF9mYXN0X2Fzc2lnbigKKwkJCSAgIF9fZW50cnktPnNj aGVkID0gY29udGFpbmVyX29mKGpvYi0+YmFzZS5lbnRpdHktPnJxLAorCQkJCQkJCSB0eXBlb2Yo Kl9fZW50cnktPnNjaGVkKSwKKwkJCQkJCQkgcnEpOwogCQkJICAgX19lbnRyeS0+Ym9fbGlzdCA9 IHAtPmJvX2xpc3Q7Ci0JCQkgICBfX2VudHJ5LT5yaW5nID0gdG9fYW1kZ3B1X3Jpbmcoam9iLT5i YXNlLmVudGl0eS0+cnEtPnNjaGVkKS0+aWR4OworCQkJICAgX19lbnRyeS0+cmluZyA9IHRvX2Ft ZGdwdV9yaW5nKF9fZW50cnktPnNjaGVkKS0+aWR4OwogCQkJICAgX19lbnRyeS0+ZHcgPSBpYi0+ bGVuZ3RoX2R3OwogCQkJICAgX19lbnRyeS0+ZmVuY2VzID0gYW1kZ3B1X2ZlbmNlX2NvdW50X2Vt aXR0ZWQoCi0JCQkJdG9fYW1kZ3B1X3Jpbmcoam9iLT5iYXNlLmVudGl0eS0+cnEtPnNjaGVkKSk7 CisJCQkJdG9fYW1kZ3B1X3JpbmcoX19lbnRyeS0+c2NoZWQpKTsKIAkJCSAgICksCiAJICAgIFRQ X3ByaW50aygiYm9fbGlzdD0lcCwgcmluZz0ldSwgZHc9JXUsIGZlbmNlcz0ldSIsCiAJCSAgICAg IF9fZW50cnktPmJvX2xpc3QsIF9fZW50cnktPnJpbmcsIF9fZW50cnktPmR3LApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtX3NkbWEuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bV9zZG1hLmMKaW5kZXggMzY4MDVkY2ZhMTU5Li40 Y2NkMmU3Njk3OTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV92bV9zZG1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtX3Nk bWEuYwpAQCAtMTA2LDEzICsxMDYsMTMgQEAgc3RhdGljIGludCBhbWRncHVfdm1fc2RtYV9wcmVw YXJlKHN0cnVjdCBhbWRncHVfdm1fdXBkYXRlX3BhcmFtcyAqcCwKIHN0YXRpYyBpbnQgYW1kZ3B1 X3ZtX3NkbWFfY29tbWl0KHN0cnVjdCBhbWRncHVfdm1fdXBkYXRlX3BhcmFtcyAqcCwKIAkJCQkg c3RydWN0IGRtYV9mZW5jZSAqKmZlbmNlKQogeworCXN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAq c2NoZWQgPQorCQljb250YWluZXJfb2YocC0+dm0tPmRlbGF5ZWQucnEsIHR5cGVvZigqc2NoZWQp LCBycSk7CisJc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0KKwkJY29udGFpbmVyX29mKHNjaGVk LCBzdHJ1Y3QgYW1kZ3B1X3JpbmcsIHNjaGVkKTsKIAlzdHJ1Y3QgYW1kZ3B1X2liICppYiA9IHAt PmpvYi0+aWJzOwotCXN0cnVjdCBhbWRncHVfcmluZyAqcmluZzsKIAlzdHJ1Y3QgZG1hX2ZlbmNl ICpmOwogCi0JcmluZyA9IGNvbnRhaW5lcl9vZihwLT52bS0+ZGVsYXllZC5ycS0+c2NoZWQsIHN0 cnVjdCBhbWRncHVfcmluZywKLQkJCSAgICBzY2hlZCk7Ci0KIAlXQVJOX09OKGliLT5sZW5ndGhf ZHcgPT0gMCk7CiAJYW1kZ3B1X3JpbmdfcGFkX2liKHJpbmcsIGliKTsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3hjcC5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3hjcC5jCmluZGV4IGNjNWY0ZTAxZTM4Zi4uZmVlNzdhZjUwNDVm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfeGNwLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3hjcC5jCkBAIC00NjUsMTUgKzQ2 NSwxNSBAQCBpbnQgYW1kZ3B1X3hjcF9vcGVuX2RldmljZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwKIHZvaWQgYW1kZ3B1X3hjcF9yZWxlYXNlX3NjaGVkKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LAogCQkJCSAgc3RydWN0IGFtZGdwdV9jdHhfZW50aXR5ICplbnRpdHkpCiB7Ci0Jc3Ry dWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZDsKLQlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmc7 CisJc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCA9CisJCWNvbnRhaW5lcl9vZihlbnRp dHktPmVudGl0eS5ycSwgdHlwZW9mKCpzY2hlZCksIHJxKTsKIAogCWlmICghYWRldi0+eGNwX21n cikKIAkJcmV0dXJuOwogCi0Jc2NoZWQgPSBlbnRpdHktPmVudGl0eS5ycS0+c2NoZWQ7CiAJaWYg KGRybV9zY2hlZF93cXVldWVfcmVhZHkoc2NoZWQpKSB7Ci0JCXJpbmcgPSB0b19hbWRncHVfcmlu ZyhlbnRpdHktPmVudGl0eS5ycS0+c2NoZWQpOworCQlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcg PSB0b19hbWRncHVfcmluZyhzY2hlZCk7CisKIAkJYXRvbWljX2RlYygmYWRldi0+eGNwX21nci0+ eGNwW3JpbmctPnhjcF9pZF0ucmVmX2NudCk7CiAJfQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3NjaGVkdWxlci9zY2hlZF9lbnRpdHkuYyBiL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVs ZXIvc2NoZWRfZW50aXR5LmMKaW5kZXggNzEzYWU0NmY3YmJkLi42MWE0ODE4Y2M4N2IgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfZW50aXR5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9lbnRpdHkuYwpAQCAtMTM2LDE5ICsxMzYsOSBA QCBpbnQgZHJtX3NjaGVkX2VudGl0eV9pbml0KHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRp dHksCiAJZW50aXR5LT5sYXN0X3VzZXIgPSBjdXJyZW50LT5ncm91cF9sZWFkZXI7CiAJZW50aXR5 LT5udW1fc2NoZWRfbGlzdCA9IG51bV9zY2hlZF9saXN0OwogCWVudGl0eS0+c2NoZWRfbGlzdCA9 IG51bV9zY2hlZF9saXN0ID4gMSA/IHNjaGVkX2xpc3QgOiBOVUxMOworCWVudGl0eS0+cnEgPSAm c2NoZWRfbGlzdFswXS0+cnE7CiAJUkNVX0lOSVRfUE9JTlRFUihlbnRpdHktPmxhc3Rfc2NoZWR1 bGVkLCBOVUxMKTsKIAlSQl9DTEVBUl9OT0RFKCZlbnRpdHktPnJiX3RyZWVfbm9kZSk7Ci0KLQlp ZiAoIXNjaGVkX2xpc3RbMF0tPnJxKSB7Ci0JCS8qIFNpbmNlIGV2ZXJ5IGVudHJ5IGNvdmVyZWQg YnkgbnVtX3NjaGVkX2xpc3QKLQkJICogc2hvdWxkIGJlIG5vbi1OVUxMIGFuZCB0aGVyZWZvcmUg d2Ugd2FybiBkcml2ZXJzCi0JCSAqIG5vdCB0byBkbyB0aGlzIGFuZCB0byBmaXggdGhlaXIgRFJN IGNhbGxpbmcgb3JkZXIuCi0JCSAqLwotCQlwcl93YXJuKCIlczogY2FsbGVkIHdpdGggdW5pbml0 aWFsaXplZCBzY2hlZHVsZXJcbiIsIF9fZnVuY19fKTsKLQl9IGVsc2UgewotCQllbnRpdHktPnJx ID0gc2NoZWRfbGlzdFswXS0+cnE7Ci0JfQotCiAJaW5pdF9jb21wbGV0aW9uKCZlbnRpdHktPmVu dGl0eV9pZGxlKTsKIAogCS8qIFdlIHN0YXJ0IGluIGFuIGlkbGUgc3RhdGUuICovCkBAIC0zMzgs NyArMzI4LDcgQEAgbG9uZyBkcm1fc2NoZWRfZW50aXR5X2ZsdXNoKHN0cnVjdCBkcm1fc2NoZWRf ZW50aXR5ICplbnRpdHksIGxvbmcgdGltZW91dCkKIAlpZiAoIWVudGl0eS0+cnEpCiAJCXJldHVy biAwOwogCi0Jc2NoZWQgPSBlbnRpdHktPnJxLT5zY2hlZDsKKwlzY2hlZCA9IGNvbnRhaW5lcl9v ZihlbnRpdHktPnJxLCB0eXBlb2YoKnNjaGVkKSwgcnEpOwogCS8qCiAJICogVGhlIGNsaWVudCB3 aWxsIG5vdCBxdWV1ZSBtb3JlIGpvYnMgZHVyaW5nIHRoaXMgZmluaSAtIGNvbnN1bWUKIAkgKiBl eGlzdGluZyBxdWV1ZWQgb25lcywgb3IgZGlzY2FyZCB0aGVtIG9uIFNJR0tJTEwuCkBAIC00MTks MTAgKzQwOSwxMiBAQCBzdGF0aWMgdm9pZCBkcm1fc2NoZWRfZW50aXR5X3dha2V1cChzdHJ1Y3Qg ZG1hX2ZlbmNlICpmLAogewogCXN0cnVjdCBkcm1fc2NoZWRfZW50aXR5ICplbnRpdHkgPQogCQlj b250YWluZXJfb2YoY2IsIHN0cnVjdCBkcm1fc2NoZWRfZW50aXR5LCBjYik7CisJc3RydWN0IGRy bV9ncHVfc2NoZWR1bGVyICpzY2hlZCA9CisJCWNvbnRhaW5lcl9vZihlbnRpdHktPnJxLCB0eXBl b2YoKnNjaGVkKSwgcnEpOwogCiAJZW50aXR5LT5kZXBlbmRlbmN5ID0gTlVMTDsKIAlkbWFfZmVu Y2VfcHV0KGYpOwotCWRybV9zY2hlZF93YWtldXAoZW50aXR5LT5ycS0+c2NoZWQpOworCWRybV9z Y2hlZF93YWtldXAoc2NoZWQpOwogfQogCiAvKioKQEAgLTQ0OSw3ICs0NDEsOCBAQCBFWFBPUlRf U1lNQk9MKGRybV9zY2hlZF9lbnRpdHlfc2V0X3ByaW9yaXR5KTsKIHN0YXRpYyBib29sIGRybV9z Y2hlZF9lbnRpdHlfYWRkX2RlcGVuZGVuY3lfY2Ioc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgKmVu dGl0eSwKIAkJCQkJICAgICAgIHN0cnVjdCBkcm1fc2NoZWRfam9iICpzY2hlZF9qb2IpCiB7Ci0J c3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCA9IGVudGl0eS0+cnEtPnNjaGVkOworCXN0 cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQgPQorCQljb250YWluZXJfb2YoZW50aXR5LT5y cSwgdHlwZW9mKCpzY2hlZCksIHJxKTsKIAlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSA9IGVudGl0 eS0+ZGVwZW5kZW5jeTsKIAlzdHJ1Y3QgZHJtX3NjaGVkX2ZlbmNlICpzX2ZlbmNlOwogCkBAIC01 ODMsNyArNTc2LDcgQEAgdm9pZCBkcm1fc2NoZWRfZW50aXR5X3NlbGVjdF9ycShzdHJ1Y3QgZHJt X3NjaGVkX2VudGl0eSAqZW50aXR5KQogCiAJc3Bpbl9sb2NrKCZlbnRpdHktPmxvY2spOwogCXNj aGVkID0gZHJtX3NjaGVkX3BpY2tfYmVzdChlbnRpdHktPnNjaGVkX2xpc3QsIGVudGl0eS0+bnVt X3NjaGVkX2xpc3QpOwotCXJxID0gc2NoZWQgPyBzY2hlZC0+cnEgOiBOVUxMOworCXJxID0gc2No ZWQgPyAmc2NoZWQtPnJxIDogTlVMTDsKIAlpZiAocnEgIT0gZW50aXR5LT5ycSkgewogCQlkcm1f c2NoZWRfcnFfcmVtb3ZlX2VudGl0eShlbnRpdHktPnJxLCBlbnRpdHkpOwogCQllbnRpdHktPnJx ID0gcnE7CkBAIC02MDcsNiArNjAwLDggQEAgdm9pZCBkcm1fc2NoZWRfZW50aXR5X3NlbGVjdF9y cShzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KQogdm9pZCBkcm1fc2NoZWRfZW50aXR5 X3B1c2hfam9iKHN0cnVjdCBkcm1fc2NoZWRfam9iICpzY2hlZF9qb2IpCiB7CiAJc3RydWN0IGRy bV9zY2hlZF9lbnRpdHkgKmVudGl0eSA9IHNjaGVkX2pvYi0+ZW50aXR5OworCXN0cnVjdCBkcm1f Z3B1X3NjaGVkdWxlciAqc2NoZWQgPQorCQljb250YWluZXJfb2YoZW50aXR5LT5ycSwgdHlwZW9m KCpzY2hlZCksIHJxKTsKIAlib29sIGZpcnN0OwogCiAJdHJhY2VfZHJtX3NjaGVkX2pvYl9xdWV1 ZShzY2hlZF9qb2IsIGVudGl0eSk7CkBAIC02MTgsNyArNjEzLDcgQEAgdm9pZCBkcm1fc2NoZWRf ZW50aXR5X3B1c2hfam9iKHN0cnVjdCBkcm1fc2NoZWRfam9iICpzY2hlZF9qb2IpCiAJCXhhX2Zv cl9lYWNoKCZzY2hlZF9qb2ItPmRlcGVuZGVuY2llcywgaW5kZXgsIGVudHJ5KQogCQkJdHJhY2Vf ZHJtX3NjaGVkX2pvYl9hZGRfZGVwKHNjaGVkX2pvYiwgZW50cnkpOwogCX0KLQlhdG9taWNfaW5j KGVudGl0eS0+cnEtPnNjaGVkLT5zY29yZSk7CisJYXRvbWljX2luYyhzY2hlZC0+c2NvcmUpOwog CVdSSVRFX09OQ0UoZW50aXR5LT5sYXN0X3VzZXIsIGN1cnJlbnQtPmdyb3VwX2xlYWRlcik7CiAK IAkvKgpAQCAtNjI5LDggKzYyNCw2IEBAIHZvaWQgZHJtX3NjaGVkX2VudGl0eV9wdXNoX2pvYihz dHJ1Y3QgZHJtX3NjaGVkX2pvYiAqc2NoZWRfam9iKQogCiAJLyogZmlyc3Qgam9iIHdha2VzIHVw IHNjaGVkdWxlciAqLwogCWlmIChmaXJzdCkgewotCQlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIg KnNjaGVkOwotCiAJCXNjaGVkID0gZHJtX3NjaGVkX3JxX2FkZF9lbnRpdHkoZW50aXR5KTsKIAkJ aWYgKHNjaGVkKQogCQkJZHJtX3NjaGVkX3dha2V1cChzY2hlZCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX2ZlbmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vc2No ZWR1bGVyL3NjaGVkX2ZlbmNlLmMKaW5kZXggMDk2ZmUyOGFhOWM5Li44NWVlM2Q2OTRkYzkgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfZmVuY2UuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vc2NoZWR1bGVyL3NjaGVkX2ZlbmNlLmMKQEAgLTIyNyw3ICsyMjcsNyBA QCB2b2lkIGRybV9zY2hlZF9mZW5jZV9pbml0KHN0cnVjdCBkcm1fc2NoZWRfZmVuY2UgKmZlbmNl LAogewogCXVuc2lnbmVkIHNlcTsKIAotCWZlbmNlLT5zY2hlZCA9IGVudGl0eS0+cnEtPnNjaGVk OworCWZlbmNlLT5zY2hlZCA9IGNvbnRhaW5lcl9vZihlbnRpdHktPnJxLCB0eXBlb2YoKmZlbmNl LT5zY2hlZCksIHJxKTsKIAlzZXEgPSBhdG9taWNfaW5jX3JldHVybigmZW50aXR5LT5mZW5jZV9z ZXEpOwogCWRtYV9mZW5jZV9pbml0KCZmZW5jZS0+c2NoZWR1bGVkLCAmZHJtX3NjaGVkX2ZlbmNl X29wc19zY2hlZHVsZWQsCiAJCSAgICAgICAmZmVuY2UtPmxvY2ssIGVudGl0eS0+ZmVuY2VfY29u dGV4dCwgc2VxKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRf aW50ZXJuYWwuaCBiL2RyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfaW50ZXJuYWwuaApp bmRleCA1MjBhNDIxY2JmOGQuLmFmNDNhMzUwMzU2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3NjaGVkdWxlci9zY2hlZF9pbnRlcm5hbC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zY2hl ZHVsZXIvc2NoZWRfaW50ZXJuYWwuaApAQCAtMzUsOCArMzUsNyBAQCBib29sIGRybV9zY2hlZF9j YW5fcXVldWUoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICpzY2hlZCwKIAkJCSBzdHJ1Y3QgZHJt X3NjaGVkX2VudGl0eSAqZW50aXR5KTsKIHZvaWQgZHJtX3NjaGVkX3dha2V1cChzdHJ1Y3QgZHJt X2dwdV9zY2hlZHVsZXIgKnNjaGVkKTsKIAotdm9pZCBkcm1fc2NoZWRfcnFfaW5pdChzdHJ1Y3Qg ZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLAotCQkgICAgICAgc3RydWN0IGRybV9zY2hlZF9ycSAq cnEpOwordm9pZCBkcm1fc2NoZWRfcnFfaW5pdChzdHJ1Y3QgZHJtX3NjaGVkX3JxICpycSk7CiAK IHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqCiBkcm1fc2NoZWRfcnFfYWRkX2VudGl0eShzdHJ1 Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jIGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hl ZF9tYWluLmMKaW5kZXggNzllNDRjY2VmZGM5Li44MThkM2Q0NDM0YjUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9zY2hlZHVsZXIvc2NoZWRfbWFpbi5jCkBAIC02NDgsNyArNjQ4LDcgQEAgdm9pZCBkcm1fc2No ZWRfam9iX2FybShzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9iKQogCiAJQlVHX09OKCFlbnRpdHkp OwogCWRybV9zY2hlZF9lbnRpdHlfc2VsZWN0X3JxKGVudGl0eSk7Ci0Jc2NoZWQgPSBlbnRpdHkt PnJxLT5zY2hlZDsKKwlzY2hlZCA9IGNvbnRhaW5lcl9vZihlbnRpdHktPnJxLCB0eXBlb2YoKnNj aGVkKSwgcnEpOwogCiAJam9iLT5zY2hlZCA9IHNjaGVkOwogCWpvYi0+c19wcmlvcml0eSA9IGVu dGl0eS0+cHJpb3JpdHk7CkBAIC0xMDgxLDE1ICsxMDgxLDYgQEAgaW50IGRybV9zY2hlZF9pbml0 KHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQsIGNvbnN0IHN0cnVjdCBkcm1fc2NoZWRf aW5pdF8KIAlzY2hlZC0+c2NvcmUgPSBhcmdzLT5zY29yZSA/IGFyZ3MtPnNjb3JlIDogJnNjaGVk LT5fc2NvcmU7CiAJc2NoZWQtPmRldiA9IGFyZ3MtPmRldjsKIAotCWlmIChzY2hlZC0+cnEpIHsK LQkJLyogTm90IGFuIGVycm9yLCBidXQgd2FybiBhbnl3YXkgc28gZHJpdmVycyBjYW4KLQkJICog ZmluZS10dW5lIHRoZWlyIERSTSBjYWxsaW5nIG9yZGVyLCBhbmQgcmV0dXJuIGFsbAotCQkgKiBp cyBnb29kLgotCQkgKi8KLQkJZGV2X3dhcm4oc2NoZWQtPmRldiwgIiVzOiBzY2hlZHVsZXIgYWxy ZWFkeSBpbml0aWFsaXplZCFcbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIDA7Ci0JfQotCiAJaWYg KGFyZ3MtPnN1Ym1pdF93cSkgewogCQlzY2hlZC0+c3VibWl0X3dxID0gYXJncy0+c3VibWl0X3dx OwogCQlzY2hlZC0+b3duX3N1Ym1pdF93cSA9IGZhbHNlOwpAQCAtMTEwMSwxMSArMTA5Miw3IEBA IGludCBkcm1fc2NoZWRfaW5pdChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLCBjb25z dCBzdHJ1Y3QgZHJtX3NjaGVkX2luaXRfCiAJCXNjaGVkLT5vd25fc3VibWl0X3dxID0gdHJ1ZTsK IAl9CiAKLQlzY2hlZC0+cnEgPSBremFsbG9jX29iaigqc2NoZWQtPnJxKTsKLQlpZiAoIXNjaGVk LT5ycSkKLQkJZ290byBPdXRfY2hlY2tfb3duOwotCi0JZHJtX3NjaGVkX3JxX2luaXQoc2NoZWQs IHNjaGVkLT5ycSk7CisJZHJtX3NjaGVkX3JxX2luaXQoJnNjaGVkLT5ycSk7CiAKIAlpbml0X3dh aXRxdWV1ZV9oZWFkKCZzY2hlZC0+am9iX3NjaGVkdWxlZCk7CiAJSU5JVF9MSVNUX0hFQUQoJnNj aGVkLT5wZW5kaW5nX2xpc3QpOwpAQCAtMTEyMSwxMiArMTEwOCw2IEBAIGludCBkcm1fc2NoZWRf aW5pdChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLCBjb25zdCBzdHJ1Y3QgZHJtX3Nj aGVkX2luaXRfCiAKIAlzY2hlZC0+cmVhZHkgPSB0cnVlOwogCXJldHVybiAwOwotCi1PdXRfY2hl Y2tfb3duOgotCWlmIChzY2hlZC0+b3duX3N1Ym1pdF93cSkKLQkJZGVzdHJveV93b3JrcXVldWUo c2NoZWQtPnN1Ym1pdF93cSk7Ci0JZGV2X2VycihzY2hlZC0+ZGV2LCAiJXM6IEZhaWxlZCB0byBz ZXR1cCBHUFUgc2NoZWR1bGVyLS1vdXQgb2YgbWVtb3J5XG4iLCBfX2Z1bmNfXyk7Ci0JcmV0dXJu IC1FTk9NRU07CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9zY2hlZF9pbml0KTsKIApAQCAtMTE3Miw4 ICsxMTUzLDYgQEAgdm9pZCBkcm1fc2NoZWRfZmluaShzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIg KnNjaGVkKQogCWlmIChzY2hlZC0+b3duX3N1Ym1pdF93cSkKIAkJZGVzdHJveV93b3JrcXVldWUo c2NoZWQtPnN1Ym1pdF93cSk7CiAJc2NoZWQtPnJlYWR5ID0gZmFsc2U7Ci0Ja2ZyZWUoc2NoZWQt PnJxKTsKLQlzY2hlZC0+cnEgPSBOVUxMOwogCiAJaWYgKCFsaXN0X2VtcHR5KCZzY2hlZC0+cGVu ZGluZ19saXN0KSkKIAkJZGV2X3dhcm4oc2NoZWQtPmRldiwgIlRlYXJpbmcgZG93biBzY2hlZHVs ZXIgd2hpbGUgam9icyBhcmUgcGVuZGluZyFcbiIpOwpAQCAtMTE5Myw3ICsxMTcyLDcgQEAgdm9p ZCBkcm1fc2NoZWRfaW5jcmVhc2Vfa2FybWEoc3RydWN0IGRybV9zY2hlZF9qb2IgKmJhZCkKIHsK IAlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkID0gYmFkLT5zY2hlZDsKIAlzdHJ1Y3Qg ZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5LCAqdG1wOwotCXN0cnVjdCBkcm1fc2NoZWRfcnEgKnJx ID0gc2NoZWQtPnJxOworCXN0cnVjdCBkcm1fc2NoZWRfcnEgKnJxID0gJnNjaGVkLT5ycTsKIAog CS8qIGRvbid0IGNoYW5nZSBAYmFkJ3Mga2FybWEgaWYgaXQncyBmcm9tIEtFUk5FTCBSUSwKIAkg KiBiZWNhdXNlIHNvbWV0aW1lcyBHUFUgaGFuZyB3b3VsZCBjYXVzZSBrZXJuZWwgam9icyAobGlr ZSBWTSB1cGRhdGluZyBqb2JzKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxl ci9zY2hlZF9ycS5jIGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9ycS5jCmluZGV4 IDhkZjA0MGM1OGIwYS4uZjU1ZmMyZGUwMjcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v c2NoZWR1bGVyL3NjaGVkX3JxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hl ZF9ycS5jCkBAIC04MSwxOCArODEsMTUgQEAgc3RhdGljIHZvaWQgZHJtX3NjaGVkX3JxX3VwZGF0 ZV90cmVlX2xvY2tlZChzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5LAogCiAvKioKICAq IGRybV9zY2hlZF9ycV9pbml0IC0gaW5pdGlhbGl6ZSBhIGdpdmVuIHJ1biBxdWV1ZSBzdHJ1Y3QK LSAqIEBzY2hlZDogc2NoZWR1bGVyIGluc3RhbmNlIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgcnVu IHF1ZXVlCiAgKiBAcnE6IHNjaGVkdWxlciBydW4gcXVldWUKICAqCiAgKiBJbml0aWFsaXplcyBh IHNjaGVkdWxlciBydW5xdWV1ZS4KICAqLwotdm9pZCBkcm1fc2NoZWRfcnFfaW5pdChzdHJ1Y3Qg ZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkLAotCQkgICAgICAgc3RydWN0IGRybV9zY2hlZF9ycSAq cnEpCit2b2lkIGRybV9zY2hlZF9ycV9pbml0KHN0cnVjdCBkcm1fc2NoZWRfcnEgKnJxKQogewog CXNwaW5fbG9ja19pbml0KCZycS0+bG9jayk7CiAJSU5JVF9MSVNUX0hFQUQoJnJxLT5lbnRpdGll cyk7CiAJcnEtPnJiX3RyZWVfcm9vdCA9IFJCX1JPT1RfQ0FDSEVEOwotCXJxLT5zY2hlZCA9IHNj aGVkOwogCXJxLT5oZWFkX3ByaW8gPSBEUk1fU0NIRURfUFJJT1JJVFlfSU5WQUxJRDsKIH0KIApA QCAtMTYxLDcgKzE1OCw4IEBAIGRybV9zY2hlZF9lbnRpdHlfcmVzdG9yZV92cnVudGltZShzdHJ1 Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5LAogCQkJCSAgZW51bSBkcm1fc2NoZWRfcHJpb3Jp dHkgcnFfcHJpbykKIHsKIAlzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eV9zdGF0cyAqc3RhdHMgPSBl bnRpdHktPnN0YXRzOwotCXN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQgPSBlbnRpdHkt PnJxLT5zY2hlZDsKKwlzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkID0KKwkJCWNvbnRh aW5lcl9vZihlbnRpdHktPnJxLCB0eXBlb2YoKnNjaGVkKSwgcnEpOwogCWVudW0gZHJtX3NjaGVk X3ByaW9yaXR5IHByaW8gPSBlbnRpdHktPnByaW9yaXR5OwogCXVuc2lnbmVkIGxvbmcgYXZnX3Vz LCBzY2hlZF9hdmdfdXM7CiAJa3RpbWVfdCB2cnVudGltZTsKQEAgLTI2MSw4ICsyNTksOCBAQCBk cm1fc2NoZWRfcnFfYWRkX2VudGl0eShzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KQog CX0KIAogCXJxID0gZW50aXR5LT5ycTsKKwlzY2hlZCA9IGNvbnRhaW5lcl9vZihycSwgdHlwZW9m KCpzY2hlZCksIHJxKTsKIAlzcGluX2xvY2soJnJxLT5sb2NrKTsKLQlzY2hlZCA9IHJxLT5zY2hl ZDsKIAogCWlmIChsaXN0X2VtcHR5KCZlbnRpdHktPmxpc3QpKSB7CiAJCWF0b21pY19pbmMoc2No ZWQtPnNjb3JlKTsKQEAgLTI4OSw2ICsyODcsOCBAQCBkcm1fc2NoZWRfcnFfYWRkX2VudGl0eShz dHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KQogdm9pZCBkcm1fc2NoZWRfcnFfcmVtb3Zl X2VudGl0eShzdHJ1Y3QgZHJtX3NjaGVkX3JxICpycSwKIAkJCQlzdHJ1Y3QgZHJtX3NjaGVkX2Vu dGl0eSAqZW50aXR5KQogeworCXN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQgPSBjb250 YWluZXJfb2YocnEsIHR5cGVvZigqc2NoZWQpLCBycSk7CisKIAlsb2NrZGVwX2Fzc2VydF9oZWxk KCZlbnRpdHktPmxvY2spOwogCiAJaWYgKGxpc3RfZW1wdHkoJmVudGl0eS0+bGlzdCkpCkBAIC0y OTYsNyArMjk2LDcgQEAgdm9pZCBkcm1fc2NoZWRfcnFfcmVtb3ZlX2VudGl0eShzdHJ1Y3QgZHJt X3NjaGVkX3JxICpycSwKIAogCXNwaW5fbG9jaygmcnEtPmxvY2spOwogCi0JYXRvbWljX2RlYyhy cS0+c2NoZWQtPnNjb3JlKTsKKwlhdG9taWNfZGVjKHNjaGVkLT5zY29yZSk7CiAJbGlzdF9kZWxf aW5pdCgmZW50aXR5LT5saXN0KTsKIAogCWRybV9zY2hlZF9ycV9yZW1vdmVfdHJlZV9sb2NrZWQo ZW50aXR5LCBycSk7CkBAIC0zNTIsNyArMzUyLDcgQEAgdm9pZCBkcm1fc2NoZWRfcnFfcG9wX2Vu dGl0eShzdHJ1Y3QgZHJtX3NjaGVkX2VudGl0eSAqZW50aXR5KQogc3RydWN0IGRybV9zY2hlZF9l bnRpdHkgKgogZHJtX3NjaGVkX3NlbGVjdF9lbnRpdHkoc3RydWN0IGRybV9ncHVfc2NoZWR1bGVy ICpzY2hlZCkKIHsKLQlzdHJ1Y3QgZHJtX3NjaGVkX3JxICpycSA9IHNjaGVkLT5ycTsKKwlzdHJ1 Y3QgZHJtX3NjaGVkX3JxICpycSA9ICZzY2hlZC0+cnE7CiAJc3RydWN0IHJiX25vZGUgKnJiOwog CiAJc3Bpbl9sb2NrKCZycS0+bG9jayk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9ncHVfc2No ZWR1bGVyLmggYi9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgKaW5kZXggYWU1NGU5NTk5NzBj Li5jZWEyZWU5NTY0MjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaAor KysgYi9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgKQEAgLTI0OSw3ICsyNDksNiBAQCBzdHJ1 Y3QgZHJtX3NjaGVkX2VudGl0eSB7CiAvKioKICAqIHN0cnVjdCBkcm1fc2NoZWRfcnEgLSBxdWV1 ZSBvZiBlbnRpdGllcyB0byBiZSBzY2hlZHVsZWQuCiAgKgotICogQHNjaGVkOiB0aGUgc2NoZWR1 bGVyIHRvIHdoaWNoIHRoaXMgcnEgYmVsb25ncyB0by4KICAqIEBsb2NrOiBwcm90ZWN0cyBAZW50 aXRpZXMsIEByYl90cmVlX3Jvb3QgYW5kIEBoZWFkX3ByaW8uCiAgKiBAZW50aXRpZXM6IGxpc3Qg b2YgdGhlIGVudGl0aWVzIHRvIGJlIHNjaGVkdWxlZC4KICAqIEByYl90cmVlX3Jvb3Q6IHJvb3Qg b2YgdGltZSBiYXNlZCBwcmlvcml0eSBxdWV1ZSBvZiBlbnRpdGllcyBmb3IgRklGTyBzY2hlZHVs aW5nCkBAIC0yNjAsOCArMjU5LDYgQEAgc3RydWN0IGRybV9zY2hlZF9lbnRpdHkgewogICogdGhl IG5leHQgZW50aXR5IHRvIGVtaXQgY29tbWFuZHMgZnJvbS4KICAqLwogc3RydWN0IGRybV9zY2hl ZF9ycSB7Ci0Jc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyCSpzY2hlZDsKLQogCXNwaW5sb2NrX3QJ CQlsb2NrOwogCS8qIEZvbGxvd2luZyBtZW1iZXJzIGFyZSBwcm90ZWN0ZWQgYnkgdGhlIEBsb2Nr OiAqLwogCXN0cnVjdCBsaXN0X2hlYWQJCWVudGl0aWVzOwpAQCAtNTg0LDcgKzU4MSw3IEBAIHN0 cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciB7CiAJYXRvbWljX3QJCQljcmVkaXRfY291bnQ7CiAJbG9u ZwkJCQl0aW1lb3V0OwogCWNvbnN0IGNoYXIJCQkqbmFtZTsKLQlzdHJ1Y3QgZHJtX3NjaGVkX3Jx ICAgICAgICAgICAgICpycTsKKwlzdHJ1Y3QgZHJtX3NjaGVkX3JxICAgICAgICAgICAgIHJxOwog CXdhaXRfcXVldWVfaGVhZF90CQlqb2Jfc2NoZWR1bGVkOwogCWF0b21pYzY0X3QJCQlqb2JfaWRf Y291bnQ7CiAJc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QJCSpzdWJtaXRfd3E7Ci0tIAoyLjUyLjAK Cg==