From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id IESbHrp7cmfYdjoAWB0awg (envelope-from ) for ; Mon, 30 Dec 2024 05:53:46 -0500 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=RoxQ0usG; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 7A3AB1E097; Mon, 30 Dec 2024 05:53:46 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=unavailable autolearn_force=no version=4.0.0 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id D85371E05C for ; Mon, 30 Dec 2024 05:53:45 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 876C03858410 for ; Mon, 30 Dec 2024 10:53:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 876C03858410 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=RoxQ0usG Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by sourceware.org (Postfix) with ESMTPS id D91FA3858D34 for ; Mon, 30 Dec 2024 10:52:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D91FA3858D34 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D91FA3858D34 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1735555938; cv=none; b=nycyuiPKTe4HA9zsuKHtcwWNiGHo9s0KCByn73P9WpknjyS7/ya26NImtdcg2bv4sEFe3pxSgieTrLSpgidg7vWs4yrO7SoDOE/VsS+ykhqkIjJ/w7OsAF5MzQjSEQPynUlv42pDQH371TQkrCXveAfYjp9S0hXrUo4XYZjnJKQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1735555938; c=relaxed/simple; bh=kJwWERwjqnhh3BE9lagvfa6F1qAqQM6Qx/rrpU/4nPo=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=MvlfCWMWlrZlcSfHasJGxkUMOfyrb8SO4OltpxV2sLRhrtkAl1vrHuTQ2BQZaqlUSEc437qK2QvzrMBy/NRwtUGv01oB6W4Xto0v2M8oEgms8cfM5+ocDdjn1n2LwH8tmXZILPoSOnUl4jina8bexoIbSI4WvMJWFyCuZAHxZHc= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D91FA3858D34 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1735555938; x=1767091938; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=kJwWERwjqnhh3BE9lagvfa6F1qAqQM6Qx/rrpU/4nPo=; b=RoxQ0usGhaJjfdImxnnYI9c+ZDoq9Kamaszwi3x0QVlOLAC9+zoEWaWe Sts08wI52E42YuuvMxhHmieGu3hZ+oHkQJnal0n7HmMtDSdHEjKul7m5X RvGwDMAwq+JK41G3p1QpoquEPFPCyK9e0IbD+kRDnIfirs1/TEStwK7V6 njK4IHj6ImaPG1Dau6+wKVxoYGXLdBzuMkqHGP1ToA48fvinocgkWD2mc 2xhkxjAE7aZpepm95WnQ0YfFlJDaphNamdGz3ZvRb9h1COX0Ue0M/08wD zkHCJLrbQf4xEzwLYmyr1DhFi6ztFSzY7VuF9DF3iOpAyHen3X8evqOqT Q==; X-CSE-ConnectionGUID: iXb1iejwTeaVb8J9jZZ1mg== X-CSE-MsgGUID: xgq7Rum6TjeN4eLvHvGhzg== X-IronPort-AV: E=McAfee;i="6700,10204,11299"; a="46525625" X-IronPort-AV: E=Sophos;i="6.12,276,1728975600"; d="scan'208";a="46525625" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Dec 2024 02:52:16 -0800 X-CSE-ConnectionGUID: 4VQSJNk7ROiP2pJhjtNafw== X-CSE-MsgGUID: wWY1p3R/T/aiUu5AkTJWUg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,276,1728975600"; d="scan'208";a="100614643" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by orviesa009-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Dec 2024 02:52:15 -0800 From: Tankut Baris Aktemur To: gdb-patches@sourceware.org Cc: simon.marchi@efficios.com Subject: [PATCH v2 02/11] gdbserver: use inheritance to define tracepoint contexts Date: Mon, 30 Dec 2024 11:49:43 +0100 Message-Id: <20241230-upstream-gdbserver-regcache-v2-2-020a9514fcf0@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241230-upstream-gdbserver-regcache-v2-0-020a9514fcf0@intel.com> References: <20241230-upstream-gdbserver-regcache-v2-0-020a9514fcf0@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.14.2 Content-Transfer-Encoding: base64 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org VXNlIGluaGVyaXRhbmNlIGluIHRoZSBkZWZpbml0aW9uIG9mIHRyYWNlcG9pbnQgY29udGV4dHMu ICBUaGlzIGlzIGEKcmVmYWN0b3JpbmcgdGhhdCBhaW1zIHRvIGltcHJvdmUgdGhlIGNvZGUuICBO byBiZWhhdmlvciBzaG91bGQgYmUKYWx0ZXJlZC4KLS0tCiBnZGJzZXJ2ZXIvdHJhY2Vwb2ludC5j YyB8IDEwNyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9nZGJzZXJ2ZXIvdHJhY2Vwb2ludC5jYyBiL2dkYnNlcnZlci90cmFjZXBvaW50LmNj CmluZGV4IDgxMTA0YjAyYzgzMjFmY2I0Y2IyNDdhNjE2NmJlMTBiYTA0YWVhOGMuLmZjMDU4NmE1 YzVhY2U2ZWRjMWZjNzJkMjQ1MTFjNmYzNmU5N2Y3NTkgMTAwNjQ0Ci0tLSBhL2dkYnNlcnZlci90 cmFjZXBvaW50LmNjCisrKyBiL2dkYnNlcnZlci90cmFjZXBvaW50LmNjCkBAIC0xMjc0LDcgKzEy NzQsNyBAQCBzdGF0aWMgY2hhciAqdHJhY2luZ19zdG9wX25vdGU7CiAKIC8qIEZ1bmN0aW9ucyBs b2NhbCB0byB0aGlzIGZpbGUuICAqLwogCi0vKiBCYXNlICJjbGFzcyIgZm9yIHRyYWNlcG9pbnQg dHlwZSBzcGVjaWZpYyBkYXRhIHRvIGJlIHBhc3NlZCBkb3duIHRvCisvKiBCYXNlIGNsYXNzIGZv ciB0cmFjZXBvaW50IHR5cGUgc3BlY2lmaWMgZGF0YSB0byBiZSBwYXNzZWQgZG93biB0bwogICAg Y29sbGVjdF9kYXRhX2F0X3RyYWNlcG9pbnQuICAqLwogc3RydWN0IHRyYWNlcG9pbnRfaGl0X2N0 eAogewpAQCAtMTI4NSwyMyArMTI4NSwxMyBAQCBzdHJ1Y3QgdHJhY2Vwb2ludF9oaXRfY3R4CiAK IC8qIEZhc3QvanVtcCB0cmFjZXBvaW50IHNwZWNpZmljIGRhdGEgdG8gYmUgcGFzc2VkIGRvd24g dG8KICAgIGNvbGxlY3RfZGF0YV9hdF90cmFjZXBvaW50LiAgKi8KLXN0cnVjdCBmYXN0X3RyYWNl cG9pbnRfY3R4CitzdHJ1Y3QgZmFzdF90cmFjZXBvaW50X2N0eCA6IHB1YmxpYyB0cmFjZXBvaW50 X2hpdF9jdHgKIHsKLSAgc3RydWN0IHRyYWNlcG9pbnRfaGl0X2N0eCBiYXNlOwotCi0gIHN0cnVj dCByZWdjYWNoZSByZWdjYWNoZTsKLSAgaW50IHJlZ2NhY2hlX2luaXR0ZWQ7Ci0gIHVuc2lnbmVk IGNoYXIgKnJlZ3NwYWNlOwotCi0gIHVuc2lnbmVkIGNoYXIgKnJlZ3M7Ci0gIHN0cnVjdCB0cmFj ZXBvaW50ICp0cG9pbnQ7Ci19OwotCi0vKiBTdGF0aWMgdHJhY2Vwb2ludCBzcGVjaWZpYyBkYXRh IHRvIGJlIHBhc3NlZCBkb3duIHRvCi0gICBjb2xsZWN0X2RhdGFfYXRfdHJhY2Vwb2ludC4gICov Ci1zdHJ1Y3Qgc3RhdGljX3RyYWNlcG9pbnRfY3R4Ci17Ci0gIHN0cnVjdCB0cmFjZXBvaW50X2hp dF9jdHggYmFzZTsKKyAgZmFzdF90cmFjZXBvaW50X2N0eCAodW5zaWduZWQgY2hhciAqX3JlZ3Mp CisgICAgOiByZWdjYWNoZV9pbml0dGVkICgwKSwgcmVncyAoX3JlZ3MpCisgIHsKKyAgICB0eXBl ID0gZmFzdF90cmFjZXBvaW50OworICB9CiAKICAgLyogVGhlIHJlZ2NhY2hlIGNvcnJlc3BvbmRp bmcgdG8gdGhlIHJlZ2lzdGVycyBzdGF0ZSBhdCB0aGUgdGltZSBvZgogICAgICB0aGUgdHJhY2Vw b2ludCBoaXQuICBJbml0aWFsaXplZCBsYXppbHksIGZyb20gUkVHUy4gICovCkBAIC0xMzE0LDI1 ICsxMzA0LDQxIEBAIHN0cnVjdCBzdGF0aWNfdHJhY2Vwb2ludF9jdHgKICAgdW5zaWduZWQgY2hh ciAqcmVnc3BhY2U7CiAKICAgLyogVGhlIHJlZ2lzdGVyIGJ1ZmZlciBhcyBwYXNzZWQgb24gYnkg bHR0bmcvdXN0LiAgKi8KLSAgc3RydWN0IHJlZ2lzdGVycyAqcmVnczsKKyAgdW5zaWduZWQgY2hh ciAqcmVnczsKKworICAvKiBUaGUgR0RCIHRyYWNlcG9pbnQgbWF0Y2hpbmcgdGhlIHByb2JlZCBt YXJrZXIgdGhhdCB3YXMgImhpdCIuICAqLworICBzdHJ1Y3QgdHJhY2Vwb2ludCAqdHBvaW50Owor fTsKKworLyogU3RhdGljIHRyYWNlcG9pbnQgc3BlY2lmaWMgZGF0YSB0byBiZSBwYXNzZWQgZG93 biB0bworICAgY29sbGVjdF9kYXRhX2F0X3RyYWNlcG9pbnQuICAqLworc3RydWN0IHN0YXRpY190 cmFjZXBvaW50X2N0eCA6IHB1YmxpYyBmYXN0X3RyYWNlcG9pbnRfY3R4Cit7CisgIHN0YXRpY190 cmFjZXBvaW50X2N0eCAodW5zaWduZWQgY2hhciAqX3JlZ3MsCisJCQkgY29uc3QgY2hhciAqX2Zt dCwgdmFfbGlzdCAqX2FyZ3MpCisgICAgOiBmYXN0X3RyYWNlcG9pbnRfY3R4IChfcmVncyksIGZt dCAoX2ZtdCksIGFyZ3MgKF9hcmdzKQorICB7CisgICAgdHlwZSA9IHN0YXRpY190cmFjZXBvaW50 OworICB9CiAKICAgLyogVGhlICJwcmludGYiIGZvcm1hdHRlciBhbmQgdGhlIGFyZ3MgdGhlIHVz ZXIgcGFzc2VkIHRvIHRoZSBtYXJrZXIKICAgICAgY2FsbC4gIFdlIHVzZSB0aGlzIHRvIGJlIGFi bGUgdG8gY29sbGVjdCAic3RhdGljIHRyYWNlIGRhdGEiCiAgICAgICgkX3NkYXRhKS4gICovCiAg IGNvbnN0IGNoYXIgKmZtdDsKICAgdmFfbGlzdCAqYXJnczsKLQotICAvKiBUaGUgR0RCIHRyYWNl cG9pbnQgbWF0Y2hpbmcgdGhlIHByb2JlZCBtYXJrZXIgdGhhdCB3YXMgImhpdCIuICAqLwotICBz dHJ1Y3QgdHJhY2Vwb2ludCAqdHBvaW50OwogfTsKIAogI2Vsc2UKIAogLyogU3RhdGljIHRyYWNl cG9pbnQgc3BlY2lmaWMgZGF0YSB0byBiZSBwYXNzZWQgZG93biB0bwogICAgY29sbGVjdF9kYXRh X2F0X3RyYWNlcG9pbnQuICAqLwotc3RydWN0IHRyYXBfdHJhY2Vwb2ludF9jdHgKK3N0cnVjdCB0 cmFwX3RyYWNlcG9pbnRfY3R4IDogcHVibGljIHRyYWNlcG9pbnRfaGl0X2N0eAogewotICBzdHJ1 Y3QgdHJhY2Vwb2ludF9oaXRfY3R4IGJhc2U7CisgIHRyYXBfdHJhY2Vwb2ludF9jdHggKHN0cnVj dCByZWdjYWNoZSAqX3JlZ2NhY2hlKQorICAgIDogcmVnY2FjaGUgKF9yZWdjYWNoZSkKKyAgewor ICAgIHR5cGUgPSB0cmFwX3RyYWNlcG9pbnQ7CisgIH0KIAogICBzdHJ1Y3QgcmVnY2FjaGUgKnJl Z2NhY2hlOwogfTsKQEAgLTQzNDUsNyArNDM1MSw2IEBAIHRyYWNlcG9pbnRfZmluaXNoZWRfc3Rl cCAodGhyZWFkX2luZm8gKnRpbmZvLCBDT1JFX0FERFIgc3RvcF9wYykKICAgc3RydWN0IHRyYWNl cG9pbnQgKnRwb2ludDsKICAgc3RydWN0IHdzdGVwX3N0YXRlICp3c3RlcDsKICAgc3RydWN0IHdz dGVwX3N0YXRlICoqd3N0ZXBfbGluazsKLSAgc3RydWN0IHRyYXBfdHJhY2Vwb2ludF9jdHggY3R4 OwogCiAgIC8qIFB1bGwgaW4gZmFzdCB0cmFjZXBvaW50IHRyYWNlIGZyYW1lcyBmcm9tIHRoZSBp bmZlcmlvciBsaWIgYnVmZmVyIGludG8KICAgICAgb3VyIGJ1ZmZlci4gICovCkBAIC00Mzc1LDgg KzQzODAsNyBAQCB0cmFjZXBvaW50X2ZpbmlzaGVkX3N0ZXAgKHRocmVhZF9pbmZvICp0aW5mbywg Q09SRV9BRERSIHN0b3BfcGMpCiAJICAgICAgIHRhcmdldF9waWRfdG9fc3RyICh0aW5mby0+aWQp LmNfc3RyICgpLAogCSAgICAgICB3c3RlcC0+dHBfbnVtYmVyLCBwYWRkcmVzcyAod3N0ZXAtPnRw X2FkZHJlc3MpKTsKIAotICBjdHguYmFzZS50eXBlID0gdHJhcF90cmFjZXBvaW50OwotICBjdHgu cmVnY2FjaGUgPSBnZXRfdGhyZWFkX3JlZ2NhY2hlICh0aW5mbyk7CisgIHRyYXBfdHJhY2Vwb2lu dF9jdHggY3R4IChnZXRfdGhyZWFkX3JlZ2NhY2hlICh0aW5mbykpOwogCiAgIHdoaWxlICh3c3Rl cCAhPSBOVUxMKQogICAgIHsKQEAgLTQzOTgsOCArNDQwMiw3IEBAIHRyYWNlcG9pbnRfZmluaXNo ZWRfc3RlcCAodGhyZWFkX2luZm8gKnRpbmZvLCBDT1JFX0FERFIgc3RvcF9wYykKICAgICAgICsr d3N0ZXAtPmN1cnJlbnRfc3RlcDsKIAogICAgICAgLyogQ29sbGVjdCBkYXRhLiAgKi8KLSAgICAg IGNvbGxlY3RfZGF0YV9hdF9zdGVwICgoc3RydWN0IHRyYWNlcG9pbnRfaGl0X2N0eCAqKSAmY3R4 LAotCQkJICAgIHN0b3BfcGMsIHRwb2ludCwgd3N0ZXAtPmN1cnJlbnRfc3RlcCk7CisgICAgICBj b2xsZWN0X2RhdGFfYXRfc3RlcCAoJmN0eCwgc3RvcF9wYywgdHBvaW50LCB3c3RlcC0+Y3VycmVu dF9zdGVwKTsKIAogICAgICAgaWYgKHdzdGVwLT5jdXJyZW50X3N0ZXAgPj0gdHBvaW50LT5zdGVw X2NvdW50KQogCXsKQEAgLTQ1MzAsMTQgKzQ1MzMsMTIgQEAgdHJhY2Vwb2ludF93YXNfaGl0ICh0 aHJlYWRfaW5mbyAqdGluZm8sIENPUkVfQUREUiBzdG9wX3BjKQogewogICBzdHJ1Y3QgdHJhY2Vw b2ludCAqdHBvaW50OwogICBpbnQgcmV0ID0gMDsKLSAgc3RydWN0IHRyYXBfdHJhY2Vwb2ludF9j dHggY3R4OwogCiAgIC8qIE5vdCB0cmFjaW5nLCBkb24ndCBoYW5kbGUuICAqLwogICBpZiAoIXRy YWNpbmcpCiAgICAgcmV0dXJuIDA7CiAKLSAgY3R4LmJhc2UudHlwZSA9IHRyYXBfdHJhY2Vwb2lu dDsKLSAgY3R4LnJlZ2NhY2hlID0gZ2V0X3RocmVhZF9yZWdjYWNoZSAodGluZm8pOworICB0cmFw X3RyYWNlcG9pbnRfY3R4IGN0eCAoZ2V0X3RocmVhZF9yZWdjYWNoZSAodGluZm8pKTsKIAogICBm b3IgKHRwb2ludCA9IHRyYWNlcG9pbnRzOyB0cG9pbnQ7IHRwb2ludCA9IHRwb2ludC0+bmV4dCkK ICAgICB7CkBAIC00NTU2LDEwICs0NTU3LDggQEAgdHJhY2Vwb2ludF93YXNfaGl0ICh0aHJlYWRf aW5mbyAqdGluZm8sIENPUkVfQUREUiBzdG9wX3BjKQogCiAJICAvKiBUZXN0IHRoZSBjb25kaXRp b24gaWYgcHJlc2VudCwgYW5kIGNvbGxlY3QgaWYgdHJ1ZS4gICovCiAJICBpZiAoIXRwb2ludC0+ Y29uZAotCSAgICAgIHx8IChjb25kaXRpb25fdHJ1ZV9hdF90cmFjZXBvaW50Ci0JCSAgKChzdHJ1 Y3QgdHJhY2Vwb2ludF9oaXRfY3R4ICopICZjdHgsIHRwb2ludCkpKQotCSAgICBjb2xsZWN0X2Rh dGFfYXRfdHJhY2Vwb2ludCAoKHN0cnVjdCB0cmFjZXBvaW50X2hpdF9jdHggKikgJmN0eCwKLQkJ CQkJc3RvcF9wYywgdHBvaW50KTsKKwkgICAgICB8fCAoY29uZGl0aW9uX3RydWVfYXRfdHJhY2Vw b2ludCAoJmN0eCwgdHBvaW50KSkpCisJICAgIGNvbGxlY3RfZGF0YV9hdF90cmFjZXBvaW50ICgm Y3R4LCBzdG9wX3BjLCB0cG9pbnQpOwogCiAJICBpZiAoc3RvcHBpbmdfdHJhY2Vwb2ludAogCSAg ICAgIHx8IHRyYWNlX2J1ZmZlcl9pc19mdWxsCkBAIC00Njk2LDcgKzQ2OTUsOCBAQCBnZXRfY29u dGV4dF9yZWdjYWNoZSAoc3RydWN0IHRyYWNlcG9pbnRfaGl0X2N0eCAqY3R4KQogCiAgIGlmIChj dHgtPnR5cGUgPT0gZmFzdF90cmFjZXBvaW50KQogICAgIHsKLSAgICAgIHN0cnVjdCBmYXN0X3Ry YWNlcG9pbnRfY3R4ICpmY3R4ID0gKHN0cnVjdCBmYXN0X3RyYWNlcG9pbnRfY3R4ICopIGN0eDsK KyAgICAgIGF1dG8gZmN0eCA9IHN0YXRpY19jYXN0PGZhc3RfdHJhY2Vwb2ludF9jdHggKj4gKGN0 eCk7CisKICAgICAgIGlmICghZmN0eC0+cmVnY2FjaGVfaW5pdHRlZCkKIAl7CiAJICBmY3R4LT5y ZWdjYWNoZV9pbml0dGVkID0gMTsKQEAgLTQ3MDksOCArNDcwOSw3IEBAIGdldF9jb250ZXh0X3Jl Z2NhY2hlIChzdHJ1Y3QgdHJhY2Vwb2ludF9oaXRfY3R4ICpjdHgpCiAjaWZkZWYgSEFWRV9VU1QK ICAgaWYgKGN0eC0+dHlwZSA9PSBzdGF0aWNfdHJhY2Vwb2ludCkKICAgICB7Ci0gICAgICBzdHJ1 Y3Qgc3RhdGljX3RyYWNlcG9pbnRfY3R4ICpzY3R4Ci0JPSAoc3RydWN0IHN0YXRpY190cmFjZXBv aW50X2N0eCAqKSBjdHg7CisgICAgICBhdXRvIHNjdHggPSBzdGF0aWNfY2FzdCA8c3RhdGljX3Ry YWNlcG9pbnRfY3R4ICo+IChjdHgpOwogCiAgICAgICBpZiAoIXNjdHgtPnJlZ2NhY2hlX2luaXR0 ZWQpCiAJewpAQCAtNDczMCw3ICs0NzI5LDcgQEAgZ2V0X2NvbnRleHRfcmVnY2FjaGUgKHN0cnVj dCB0cmFjZXBvaW50X2hpdF9jdHggKmN0eCkKICNlbHNlCiAgIGlmIChjdHgtPnR5cGUgPT0gdHJh cF90cmFjZXBvaW50KQogICAgIHsKLSAgICAgIHN0cnVjdCB0cmFwX3RyYWNlcG9pbnRfY3R4ICp0 Y3R4ID0gKHN0cnVjdCB0cmFwX3RyYWNlcG9pbnRfY3R4ICopIGN0eDsKKyAgICAgIGF1dG8gdGN0 eCA9IHN0YXRpY19jYXN0PHRyYXBfdHJhY2Vwb2ludF9jdHggKj4gKGN0eCk7CiAgICAgICByZWdj YWNoZSA9IHRjdHgtPnJlZ2NhY2hlOwogICAgIH0KICNlbmRpZgpAQCAtNDg4MSw3ICs0ODgwLDcg QEAgY29uZGl0aW9uX3RydWVfYXRfdHJhY2Vwb2ludCAoc3RydWN0IHRyYWNlcG9pbnRfaGl0X2N0 eCAqY3R4LAogI2lmZGVmIElOX1BST0NFU1NfQUdFTlQKICAgaWYgKHRwb2ludC0+Y29tcGlsZWRf Y29uZCkKICAgICB7Ci0gICAgICBzdHJ1Y3QgZmFzdF90cmFjZXBvaW50X2N0eCAqZmN0eCA9IChz dHJ1Y3QgZmFzdF90cmFjZXBvaW50X2N0eCAqKSBjdHg7CisgICAgICBhdXRvIGZjdHggPSBzdGF0 aWNfY2FzdDxmYXN0X3RyYWNlcG9pbnRfY3R4ICo+IChjdHgpOwogICAgICAgZXJyID0gKChjb25k Zm4pICh1aW50cHRyX3QpICh0cG9pbnQtPmNvbXBpbGVkX2NvbmQpKSAoZmN0eC0+cmVncywgJnZh bHVlKTsKICAgICB9CiAgIGVsc2UKQEAgLTU3NjMsNyArNTc2Miw2IEBAIElQX0FHRU5UX0VYUE9S VF9GVU5DIHZvaWQgZ2RiX2NvbGxlY3QgKHN0cnVjdCB0cmFjZXBvaW50ICp0cG9pbnQsCiBJUF9B R0VOVF9FWFBPUlRfRlVOQyB2b2lkCiBnZGJfY29sbGVjdCAoc3RydWN0IHRyYWNlcG9pbnQgKnRw b2ludCwgdW5zaWduZWQgY2hhciAqcmVncykKIHsKLSAgc3RydWN0IGZhc3RfdHJhY2Vwb2ludF9j dHggY3R4OwogICBjb25zdCBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKmlwYV90ZGVzYzsKIAogICAvKiBE b24ndCBkbyBhbnl0aGluZyB1bnRpbCB0aGUgdHJhY2UgcnVuIGlzIGNvbXBsZXRlbHkgc2V0IHVw LiAgKi8KQEAgLTU3NzEsOSArNTc2OSw4IEBAIGdkYl9jb2xsZWN0IChzdHJ1Y3QgdHJhY2Vwb2lu dCAqdHBvaW50LCB1bnNpZ25lZCBjaGFyICpyZWdzKQogICAgIHJldHVybjsKIAogICBpcGFfdGRl c2MgPSBnZXRfaXBhX3RkZXNjIChpcGFfdGRlc2NfaWR4KTsKLSAgY3R4LmJhc2UudHlwZSA9IGZh c3RfdHJhY2Vwb2ludDsKLSAgY3R4LnJlZ3MgPSByZWdzOwotICBjdHgucmVnY2FjaGVfaW5pdHRl ZCA9IDA7CisgIGZhc3RfdHJhY2Vwb2ludF9jdHggY3R4IChyZWdzKTsKKwogICAvKiBXcmFwIHRo ZSByZWdibG9jayBpbiBhIHJlZ2lzdGVyIGNhY2hlIChpbiB0aGUgc3RhY2ssIHdlIGRvbid0CiAg ICAgIHdhbnQgdG8gbWFsbG9jIGhlcmUpLiAgKi8KICAgY3R4LnJlZ3NwYWNlID0gKHVuc2lnbmVk IGNoYXIgKikgYWxsb2NhIChpcGFfdGRlc2MtPnJlZ2lzdGVyc19zaXplKTsKQEAgLTU3OTcsMTEg KzU3OTQsMTAgQEAgZ2RiX2NvbGxlY3QgKHN0cnVjdCB0cmFjZXBvaW50ICp0cG9pbnQsIHVuc2ln bmVkIGNoYXIgKnJlZ3MpCiAKICAgICAgIC8qIFRlc3QgdGhlIGNvbmRpdGlvbiBpZiBwcmVzZW50 LCBhbmQgY29sbGVjdCBpZiB0cnVlLiAgKi8KICAgICAgIGlmIChjdHgudHBvaW50LT5jb25kID09 IE5VTEwKLQkgIHx8IGNvbmRpdGlvbl90cnVlX2F0X3RyYWNlcG9pbnQgKChzdHJ1Y3QgdHJhY2Vw b2ludF9oaXRfY3R4ICopICZjdHgsCi0JCQkJCSAgIGN0eC50cG9pbnQpKQorCSAgfHwgY29uZGl0 aW9uX3RydWVfYXRfdHJhY2Vwb2ludCAoJmN0eCwgY3R4LnRwb2ludCkpCiAJewotCSAgY29sbGVj dF9kYXRhX2F0X3RyYWNlcG9pbnQgKChzdHJ1Y3QgdHJhY2Vwb2ludF9oaXRfY3R4ICopICZjdHgs Ci0JCQkJICAgICAgY3R4LnRwb2ludC0+YWRkcmVzcywgY3R4LnRwb2ludCk7CisJICBjb2xsZWN0 X2RhdGFfYXRfdHJhY2Vwb2ludCAoJmN0eCwgY3R4LnRwb2ludC0+YWRkcmVzcywKKwkJCQkgICAg ICBjdHgudHBvaW50KTsKIAogCSAgLyogTm90ZSB0aGF0IHRoaXMgd2lsbCBjYXVzZSBvcmlnaW5h bCBpbnNucyB0byBiZSB3cml0dGVuIGJhY2sKIAkgICAgIHRvIHdoZXJlIHdlIGp1bXBlZCBmcm9t LCBidXQgdGhhdCdzIE9LIGJlY2F1c2Ugd2UncmUganVtcGluZwpAQCAtNjY1MSw3ICs2NjQ3LDYg QEAgZ2RiX3Byb2JlIChjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwgdm9pZCAqcHJvYmVfcHJp dmF0ZSwKIAkgICBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgKmFyZ3MpCiB7CiAgIHN0cnVjdCB0 cmFjZXBvaW50ICp0cG9pbnQ7Ci0gIHN0cnVjdCBzdGF0aWNfdHJhY2Vwb2ludF9jdHggY3R4Owog ICBjb25zdCBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKmlwYV90ZGVzYzsKIAogICAvKiBEb24ndCBkbyBh bnl0aGluZyB1bnRpbCB0aGUgdHJhY2UgcnVuIGlzIGNvbXBsZXRlbHkgc2V0IHVwLiAgKi8KQEAg LTY2NjIsMTEgKzY2NTcsNyBAQCBnZGJfcHJvYmUgKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRh LCB2b2lkICpwcm9iZV9wcml2YXRlLAogICAgIH0KIAogICBpcGFfdGRlc2MgPSBnZXRfaXBhX3Rk ZXNjIChpcGFfdGRlc2NfaWR4KTsKLSAgY3R4LmJhc2UudHlwZSA9IHN0YXRpY190cmFjZXBvaW50 OwotICBjdHgucmVnY2FjaGVfaW5pdHRlZCA9IDA7Ci0gIGN0eC5yZWdzID0gcmVnczsKLSAgY3R4 LmZtdCA9IGZtdDsKLSAgY3R4LmFyZ3MgPSBhcmdzOworICBzdGF0aWNfdHJhY2Vwb2ludF9jdHgg Y3R4IChyZWdzLCBmbXQsIGFyZ3MpCiAKICAgLyogV3JhcCB0aGUgcmVnYmxvY2sgaW4gYSByZWdp c3RlciBjYWNoZSAoaW4gdGhlIHN0YWNrLCB3ZSBkb24ndAogICAgICB3YW50IHRvIG1hbGxvYyBo ZXJlKS4gICovCkBAIC02NzAyLDExICs2NjkzLDkgQEAgZ2RiX3Byb2JlIChjb25zdCBzdHJ1Y3Qg bWFya2VyICptZGF0YSwgdm9pZCAqcHJvYmVfcHJpdmF0ZSwKIAogICAvKiBUZXN0IHRoZSBjb25k aXRpb24gaWYgcHJlc2VudCwgYW5kIGNvbGxlY3QgaWYgdHJ1ZS4gICovCiAgIGlmICh0cG9pbnQt PmNvbmQgPT0gTlVMTAotICAgICAgfHwgY29uZGl0aW9uX3RydWVfYXRfdHJhY2Vwb2ludCAoKHN0 cnVjdCB0cmFjZXBvaW50X2hpdF9jdHggKikgJmN0eCwKLQkJCQkgICAgICAgdHBvaW50KSkKKyAg ICAgIHx8IGNvbmRpdGlvbl90cnVlX2F0X3RyYWNlcG9pbnQgKCZjdHgsIHRwb2ludCkpCiAgICAg ewotICAgICAgY29sbGVjdF9kYXRhX2F0X3RyYWNlcG9pbnQgKChzdHJ1Y3QgdHJhY2Vwb2ludF9o aXRfY3R4ICopICZjdHgsCi0JCQkJICB0cG9pbnQtPmFkZHJlc3MsIHRwb2ludCk7CisgICAgICBj b2xsZWN0X2RhdGFfYXRfdHJhY2Vwb2ludCAoJmN0eCwgdHBvaW50LT5hZGRyZXNzLCB0cG9pbnQp OwogCiAgICAgICBpZiAoc3RvcHBpbmdfdHJhY2Vwb2ludAogCSAgfHwgdHJhY2VfYnVmZmVyX2lz X2Z1bGwKQEAgLTY3MzcsNyArNjcyNiw3IEBAIHN0YXRpYyB2b2lkCiBjb2xsZWN0X3VzdF9kYXRh X2F0X3RyYWNlcG9pbnQgKHN0cnVjdCB0cmFjZXBvaW50X2hpdF9jdHggKmN0eCwKIAkJCQlzdHJ1 Y3QgdHJhY2VmcmFtZSAqdGZyYW1lKQogewotICBzdHJ1Y3Qgc3RhdGljX3RyYWNlcG9pbnRfY3R4 ICp1bWQgPSAoc3RydWN0IHN0YXRpY190cmFjZXBvaW50X2N0eCAqKSBjdHg7CisgIGF1dG8gdW1k ID0gc3RhdGljX2Nhc3Q8c3RhdGljX3RyYWNlcG9pbnRfY3R4ICo+IChjdHgpOwogICB1bnNpZ25l ZCBjaGFyICpidWZzcGFjZTsKICAgaW50IHNpemU7CiAgIHZhX2xpc3QgY29weTsKCi0tIAoyLjM0 LjEKCkludGVsIERldXRzY2hsYW5kIEdtYkgNClJlZ2lzdGVyZWQgQWRkcmVzczogQW0gQ2FtcGVv biAxMCwgODU1NzkgTmV1YmliZXJnLCBHZXJtYW55DQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3 dy5pbnRlbC5kZQ0KTWFuYWdpbmcgRGlyZWN0b3JzOiBTZWFuIEZlbm5lbGx5LCBKZWZmcmV5IFNj aG5laWRlcm1hbiwgVGlmZmFueSBEb29uIFNpbHZhDQpDaGFpcnBlcnNvbiBvZiB0aGUgU3VwZXJ2 aXNvcnkgQm9hcmQ6IE5pY29sZSBMYXUNClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gNCkNvbW1l cmNpYWwgUmVnaXN0ZXI6IEFtdHNnZXJpY2h0IE11ZW5jaGVuIEhSQiAxODY5MjgK