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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) (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 B5E0DFDEE5D for ; Fri, 24 Apr 2026 02:37:42 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wG6PF-0006n1-5E; Thu, 23 Apr 2026 22:36:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wG6P8-0006lm-2t for qemu-devel@nongnu.org; Thu, 23 Apr 2026 22:36:30 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wG6P5-0008LO-BM for qemu-devel@nongnu.org; Thu, 23 Apr 2026 22:36:29 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63NHgA4Y1533417 for ; Fri, 24 Apr 2026 02:36:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= VujU7vhICdn0VbC76Npws9a7ERKyxtMphdzoz9pR6rc=; b=QpSjck2b9OIr5PCu W6B9E9uGk086ygwlWPF+qTDuaZqac0s5/zRbHDx3s+U/dCiCVnCQN9THeGArnlp1 xQABCSFQUFrS6jH/VRQrZcJXAcnCltrOBPjdb1Psn3r5w0P4qLHxcGNj0sOxzk45 aeDFLWqF84ekirjCQb+JgFIhRvGAXXgE6Hwpv4Wqsyaxg78TTyakcFiNc0jVGq66 99V3mJS9NcatKXWzXB0mrnN/Gh5Wqjea57gctahAvyXOmC8V7J4d+TSJVjzimMIC 1Tze4Xx96EGR5pud9RYJ+ZH6yqxdFAOHMsevhIkHUmYE3w/G4fiKQJOrcRvS42kY XxQzHQ== Received: from mail-dl1-f72.google.com (mail-dl1-f72.google.com [74.125.82.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dqr26hvh4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 24 Apr 2026 02:36:26 +0000 (GMT) Received: by mail-dl1-f72.google.com with SMTP id a92af1059eb24-12c66fdd4aeso10992929c88.0 for ; Thu, 23 Apr 2026 19:36:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776998185; x=1777602985; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VujU7vhICdn0VbC76Npws9a7ERKyxtMphdzoz9pR6rc=; b=aQBLCqPmoM9ZF3nam7Dg1wUdBuySHQJAua4t0hX79GwyHQNo3fsoQjG0desDkQBLLh dWtTnX/FlaVLK8Ur76lDY0giqDsKJsHBYHW7EV6iLbk6vtI2j+WI9NVT6wbI9j/n0oFw VDScxIbJD+HHV5px+GlIc5a1kzT8qLA7JWLJqt6b/1RmuQ9JAv+GEM1+ulEtJq5OoAep QkrbIfgKKhrQF1ogAb1FfGL5T75TcufZ7G3MJJZA0ZciVC9T3m9fBeS5Kduq83pbS/gQ DxDP1F8b5pYbQ5Y5RvVKcGVH5ROk9iUE+ltjsj3dXl8ZKb4g9/DMZoRmwvnYKg4AiF2J +/gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776998185; x=1777602985; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=VujU7vhICdn0VbC76Npws9a7ERKyxtMphdzoz9pR6rc=; b=GhsCEMXaikLhdQnW+tKkgtJfx6Cmkj3T6iLBAqnPcAcqkUcI00vUaw71C9SX6tmWVa RX+Lc/NmtUFR2/Vz3Cfi4CXp3Igep4txR+Mz56/JQ1SgJissfnt1IzMO/bO87738DCVw oZaxX6rD0UMuJ/8NvDe3vPrj67Z8/ne1yX79ov67j5SLCh4KdyQ6e0BfOX8Dk0oUnXp6 z1vOLPnKygtpCmNLNCJAzTLqEFomAK/EEQSUzs2jLjaE+Z6fqdUMKoTK0sATwu5YFFpk PTaj2kKfBNI8qYXW0Ys1kV+2CvYOUFOB6T623fPzGUW1vxDfbuk5LeAhDELMfKORW/a0 FMUw== X-Gm-Message-State: AOJu0YxThgjO3Fuaedty8YF9B0zsk94Jo0idlJcHQ9bp5bVlR5gPyjZc E/QK857c73twMj63lWFlvk9ZubgzOVv2CLFYkiHXIXrk7KdStvwMigovjvfBmhIv1ba5OPMlsKP s6dU2eDkAipHnwFx7GpfGHPfgZCiIrzfUAODqA4mqHrDs0hdV5Tj/3abrtHKhXYUFRg== X-Gm-Gg: AeBDieuDGm6+7m+Y2EEVUYw+FC1EMuB9Z3GyjgiW9EGT0DpgGiWoQkLKthnKMY2INXh TkSRXlvPZ9vj5scTca5dyVWQ+Loih4wgxsMMau3+0tTe/54t1/tWgm5uh12XeDYvCY53XoYNflo qyCLzbQBS2V9Ad8fCa3a/eFNzbXV1L7s97zViuzJg7tJZzGexNZ/iEUjMJgg3PE6tWE+KfT8IwF /rtjOmO/qB/8Bj6ZEpVtZ6wJvClO2aaNH6CFiabAFQ5bsrTvY73r11erWT7i3wyTSqebDc7mLv4 bmbqPnH7OKfjLdox4wd3yZaQWtb3Riw2+qNeFGXglIlHQ8c0DbSXuy6mkzGcz2OX4dv8ewD0xVh 0pyDUNCR5OXUJl6r5KhL/5OQORCsihxfA6KDPVBlSWiLswcTZL6FtmihJfDS9dwP0Im+BVlrqp7 RhyiyT X-Received: by 2002:a05:7022:68d:b0:12c:34b9:61bc with SMTP id a92af1059eb24-12c73f69648mr13784620c88.5.1776998184652; Thu, 23 Apr 2026 19:36:24 -0700 (PDT) X-Received: by 2002:a05:7022:68d:b0:12c:34b9:61bc with SMTP id a92af1059eb24-12c73f69648mr13784602c88.5.1776998183970; Thu, 23 Apr 2026 19:36:23 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2e539fa6134sm31240868eec.3.2026.04.23.19.36.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2026 19:36:23 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org, stefanha@redhat.com Cc: brian.cain@oss.qualcomm.com, Marco Liebel , Pierrick Bouvier Subject: [PULL 9/9] target/hexagon: Change DisasContext packet type Date: Thu, 23 Apr 2026 19:36:06 -0700 Message-Id: <20260424023606.2556830-10-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260424023606.2556830-1-brian.cain@oss.qualcomm.com> References: <20260424023606.2556830-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Proofpoint-ORIG-GUID: 0vAjtC4CI8mIFDjZmBEBJyvRr4aOP8g1 X-Authority-Analysis: v=2.4 cv=QLhYgALL c=1 sm=1 tr=0 ts=69ead72a cx=c_pps a=bS7HVuBVfinNPG3f6cIo3Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=9JcS4vm5jFv34pll-oUA:9 a=QEXdDO2ut3YA:10 a=vBUdepa8ALXHeOFLBtFW:22 X-Proofpoint-GUID: 0vAjtC4CI8mIFDjZmBEBJyvRr4aOP8g1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI0MDAyMCBTYWx0ZWRfX89/rAh1fDK5q qYQqihRBbQ75uoH14j6HvXS+dffm1FWFbXiu+KQjckEjGP9oRXGBvczQFQdfN3YyYhSS7TiYBLD sO+yQ+0Cu/b1E2yCbsmim4FydZCsPjEq4eylD/8Sl7a0fOK2gW5FsJZpJVkc4S1XN8PZ7hmTGcB ncjElatXIMZJ87COnrosyA92sL5GamNCA8l7ZlVOwny14cFSuMhnjPwriF8Z+2jEZqkmdVJjdGL 0q9vb8Za9ZTsWu/YHlkmJIJfhHEd4BxC+gtXUpLH0Ln/a9mSs2AzUG23GdSzTqeVvJzajFmeiwz gLlKXzDOi3x4Bfu1NLarVbod758PbWyOPdyq+g6qm12TaY4q3m3B31N0EKtNdE/UgcHiCxca/d8 iPhHQ1AoFcVidhkIaVHAZ1r/S5rFMhi59Q+uKzbykf6H+tl+iO5lENyK1MOeAofLy0Igi9H/xCB S7a9PYX6E5bVn5arAHw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-23_03,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 suspectscore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 clxscore=1015 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604240020 Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org RnJvbTogTWFyY28gTGllYmVsIDxtYXJjby5saWViZWxAb3NzLnF1YWxjb21tLmNvbT4KClRoZSBw a3QgdmFyaWFibGUgaW5zaWRlIERpc2FzQ29udGV4dCBpcyBvZiB0eXBlIFBhY2tldCAqIGFuZCBn ZXRzCmFzc2lnbmVkIHRvIGEgbG9jYWwgdmFyaWFibGUgaW4gZGVjb2RlX2FuZF90cmFuc2xhdGVf cGFja2V0LiBSaWdodCBub3cKdGhlcmUgc2VlbXMgdG8gYmUgbm8gcHJvYmxlbSB3aXRoIGl0IGJ1 dCBmdXR1cmUgY2hhbmdlcyB0byBlLmcuCmhleGFnb25fdHJfdHJhbnNhbHRlX3BhY2tldCBhcmUg cG90ZW50aWFsbHkgZGFuZ2Vyb3VzIGlmIHBrdCBpcyBhY2Nlc3NlZAphZnRlciB0aGUgbG9jYWwg dmFyaWFibGUgZ29lcyBvdXQgb2Ygc2NvcGUuCgpTaW5jZSBwYWNrZXRzIGFyZSBiZWluZyB0cmFu c2xhdGVkIG9uZSBhdCBhIHRpbWUsIHRoZSB0eXBlIG9mIHBrdCBjYW4gYmUKY2hhbmdlZCB0byBq dXN0IFBhY2tldCB0byBhdm9pZCByaXNrIG9mIGhhdmluZyBhIGRhbmdsaW5nIHBvaW50ZXIuCgpT aWduZWQtb2ZmLWJ5OiBNYXJjbyBMaWViZWwgPG1hcmNvLmxpZWJlbEBvc3MucXVhbGNvbW0uY29t PgpSZXZpZXdlZC1ieTogQnJpYW4gQ2FpbiA8YnJpYW4uY2FpbkBvc3MucXVhbGNvbW0uY29tPgpT aWduZWQtb2ZmLWJ5OiBCcmlhbiBDYWluIDxicmlhbi5jYWluQG9zcy5xdWFsY29tbS5jb20+Ci0t LQogdGFyZ2V0L2hleGFnb24vZ2VuX3RjZy5oICAgICAgICB8ICAgMiArLQogdGFyZ2V0L2hleGFn b24vbWFjcm9zLmggICAgICAgICB8ICAgNiArLQogdGFyZ2V0L2hleGFnb24vdHJhbnNsYXRlLmgg ICAgICB8ICAgMiArLQogdGFyZ2V0L2hleGFnb24vZGVjb2RlLmMgICAgICAgICB8ICAgOCArLS0K IHRhcmdldC9oZXhhZ29uL2dlbnB0ci5jICAgICAgICAgfCAgMTQgKystLQogdGFyZ2V0L2hleGFn b24vdHJhbnNsYXRlLmMgICAgICB8IDExMyArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LQogdGFyZ2V0L2hleGFnb24vZ2VuX3RjZ19mdW5jcy5weSB8ICAgMiArLQogdGFyZ2V0L2hleGFn b24vaGV4X2NvbW1vbi5weSAgICB8ICAgNCArLQogOCBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRp b25zKCspLCA4NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90YXJnZXQvaGV4YWdvbi9nZW5f dGNnLmggYi90YXJnZXQvaGV4YWdvbi9nZW5fdGNnLmgKaW5kZXggMWUwY2MzYjI5YTguLjAxNTll NWMyZDVmIDEwMDY0NAotLS0gYS90YXJnZXQvaGV4YWdvbi9nZW5fdGNnLmgKKysrIGIvdGFyZ2V0 L2hleGFnb24vZ2VuX3RjZy5oCkBAIC0xMzQzLDcgKzEzNDMsNyBAQAogI2RlZmluZSBmR0VOX1RD R19KMl90cmFwMChTSE9SVENPREUpIFwKICAgICBkbyB7IFwKICAgICAgICAgdWlWID0gdWlWOyBc Ci0gICAgICAgIHRjZ19nZW5fbW92aV90bChoZXhfZ3ByW0hFWF9SRUdfUENdLCBjdHgtPnBrdC0+ cGMpOyBcCisgICAgICAgIHRjZ19nZW5fbW92aV90bChoZXhfZ3ByW0hFWF9SRUdfUENdLCBjdHgt PnBrdC5wYyk7IFwKICAgICAgICAgVENHdiBleGNwID0gdGNnX2NvbnN0YW50X3RsKEhFWF9FVkVO VF9UUkFQMCk7IFwKICAgICAgICAgZ2VuX2hlbHBlcl9yYWlzZV9leGNlcHRpb24odGNnX2Vudiwg ZXhjcCk7IFwKICAgICB9IHdoaWxlICgwKQpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vbWFj cm9zLmggYi90YXJnZXQvaGV4YWdvbi9tYWNyb3MuaAppbmRleCA2YzI4NjJhMjMyMC4uZWViZmUx ZTVlZDkgMTAwNjQ0Ci0tLSBhL3RhcmdldC9oZXhhZ29uL21hY3Jvcy5oCisrKyBiL3RhcmdldC9o ZXhhZ29uL21hY3Jvcy5oCkBAIC04Myw3ICs4Myw3IEBACiAgKi8KICNkZWZpbmUgQ0hFQ0tfTk9T SFVGKFZBLCBTSVpFKSBcCiAgICAgZG8geyBcCi0gICAgICAgIGlmIChpbnNuLT5zbG90ID09IDAg JiYgY3R4LT5wa3QtPnBrdF9oYXNfc2NhbGFyX3N0b3JlX3MxKSB7IFwKKyAgICAgICAgaWYgKGlu c24tPnNsb3QgPT0gMCAmJiBjdHgtPnBrdC5wa3RfaGFzX3NjYWxhcl9zdG9yZV9zMSkgeyBcCiAg ICAgICAgICAgICBwcm9iZV9ub3NodWZfbG9hZChWQSwgU0laRSwgY3R4LT5tZW1faWR4KTsgXAog ICAgICAgICAgICAgcHJvY2Vzc19zdG9yZShjdHgsIDEpOyBcCiAgICAgICAgIH0gXApAQCAtOTQs MTEgKzk0LDExIEBACiAgICAgICAgIFRDR0xhYmVsICpub3NodWZfbGFiZWwgPSBnZW5fbmV3X2xh YmVsKCk7IFwKICAgICAgICAgdGNnX2dlbl9icmNvbmRpX3RsKFRDR19DT05EX0VRLCBQUkVELCAw LCBub3NodWZfbGFiZWwpOyBcCiAgICAgICAgIEdFVF9FQTsgXAotICAgICAgICBpZiAoaW5zbi0+ c2xvdCA9PSAwICYmIGN0eC0+cGt0LT5wa3RfaGFzX3NjYWxhcl9zdG9yZV9zMSkgeyBcCisgICAg ICAgIGlmIChpbnNuLT5zbG90ID09IDAgJiYgY3R4LT5wa3QucGt0X2hhc19zY2FsYXJfc3RvcmVf czEpIHsgXAogICAgICAgICAgICAgcHJvYmVfbm9zaHVmX2xvYWQoRUEsIFNJWkUsIGN0eC0+bWVt X2lkeCk7IFwKICAgICAgICAgfSBcCiAgICAgICAgIGdlbl9zZXRfbGFiZWwobm9zaHVmX2xhYmVs KTsgXAotICAgICAgICBpZiAoaW5zbi0+c2xvdCA9PSAwICYmIGN0eC0+cGt0LT5wa3RfaGFzX3Nj YWxhcl9zdG9yZV9zMSkgeyBcCisgICAgICAgIGlmIChpbnNuLT5zbG90ID09IDAgJiYgY3R4LT5w a3QucGt0X2hhc19zY2FsYXJfc3RvcmVfczEpIHsgXAogICAgICAgICAgICAgcHJvY2Vzc19zdG9y ZShjdHgsIDEpOyBcCiAgICAgICAgIH0gXAogICAgIH0gd2hpbGUgKDApCmRpZmYgLS1naXQgYS90 YXJnZXQvaGV4YWdvbi90cmFuc2xhdGUuaCBiL3RhcmdldC9oZXhhZ29uL3RyYW5zbGF0ZS5oCmlu ZGV4IDljZGNiZDY0MTY0Li4xZmMxODVlM2VkZCAxMDA2NDQKLS0tIGEvdGFyZ2V0L2hleGFnb24v dHJhbnNsYXRlLmgKKysrIGIvdGFyZ2V0L2hleGFnb24vdHJhbnNsYXRlLmgKQEAgLTI4LDcgKzI4 LDcgQEAKIAogdHlwZWRlZiBzdHJ1Y3QgRGlzYXNDb250ZXh0IHsKICAgICBEaXNhc0NvbnRleHRC YXNlIGJhc2U7Ci0gICAgUGFja2V0ICpwa3Q7CisgICAgUGFja2V0IHBrdDsKICAgICBJbnNuICpp bnNuOwogICAgIGNvbnN0IEhleGFnb25DUFVEZWYgKmhleF9kZWY7CiAgICAgdWludDMyX3QgbmV4 dF9QQzsKZGlmZiAtLWdpdCBhL3RhcmdldC9oZXhhZ29uL2RlY29kZS5jIGIvdGFyZ2V0L2hleGFn b24vZGVjb2RlLmMKaW5kZXggYzRjZjQzMGU1YTIuLjE1OTU0NTE4YjgzIDEwMDY0NAotLS0gYS90 YXJnZXQvaGV4YWdvbi9kZWNvZGUuYworKysgYi90YXJnZXQvaGV4YWdvbi9kZWNvZGUuYwpAQCAt ODM0LDE1ICs4MzQsMTMgQEAgaW50IGRpc2Fzc2VtYmxlX2hleGFnb24odWludDMyX3QgKndvcmRz LCBpbnQgbndvcmRzLCBiZmRfdm1hIHBjLAogICAgICAgICAuaGV4X3ZlcnNpb24gPSBIRVhfVkVS X0FOWSwgIC8qIEFsbG93IGRlY29kZSB0byBhY2NlcHQgYW55dGhpbmcgKi8KICAgICB9OwogICAg IERpc2FzQ29udGV4dCBjdHg7Ci0gICAgUGFja2V0IHBrdDsKIAogICAgIG1lbXNldCgmY3R4LCAw LCBzaXplb2YoRGlzYXNDb250ZXh0KSk7CiAgICAgY3R4LmhleF9kZWYgPSAmYW55X2RlZjsKLSAg ICBjdHgucGt0ID0gJnBrdDsKIAotICAgIGlmIChkZWNvZGVfcGFja2V0KCZjdHgsIG53b3Jkcywg d29yZHMsICZwa3QsIHRydWUpID4gMCkgewotICAgICAgICBzbnByaW50X2FfcGt0X2Rpc2FzKGJ1 ZiwgJnBrdCwgd29yZHMsIHBjLCBoZXhfZGVmKTsKLSAgICAgICAgcmV0dXJuIHBrdC5lbmNvZF9w a3Rfc2l6ZV9pbl9ieXRlczsKKyAgICBpZiAoZGVjb2RlX3BhY2tldCgmY3R4LCBud29yZHMsIHdv cmRzLCAmY3R4LnBrdCwgdHJ1ZSkgPiAwKSB7CisgICAgICAgIHNucHJpbnRfYV9wa3RfZGlzYXMo YnVmLCAmY3R4LnBrdCwgd29yZHMsIHBjLCBoZXhfZGVmKTsKKyAgICAgICAgcmV0dXJuIGN0eC5w a3QuZW5jb2RfcGt0X3NpemVfaW5fYnl0ZXM7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZm9yIChp bnQgaSA9IDA7IGkgPCBud29yZHM7IGkrKykgewogICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5k X3ByaW50ZihidWYsICIweCIgVEFSR0VUX0ZNVF9seCAiXHQiLCB3b3Jkc1tpXSk7CmRpZmYgLS1n aXQgYS90YXJnZXQvaGV4YWdvbi9nZW5wdHIuYyBiL3RhcmdldC9oZXhhZ29uL2dlbnB0ci5jCmlu ZGV4IGM3Yjk0MzZjOGQ0Li41ZDVhZGFjZTRiMyAxMDA2NDQKLS0tIGEvdGFyZ2V0L2hleGFnb24v Z2VucHRyLmMKKysrIGIvdGFyZ2V0L2hleGFnb24vZ2VucHRyLmMKQEAgLTM4Miw3ICszODIsNyBA QCBzdGF0aWMgaW5saW5lIHZvaWQgZ2VuX3N0b3JlX2NvbmRpdGlvbmFsOChEaXNhc0NvbnRleHQg KmN0eCwKIHN0YXRpYyBUQ0d2IGdlbl9zbG90dmFsKERpc2FzQ29udGV4dCAqY3R4KQogewogICAg IGludCBzbG90dmFsID0KLSAgICAgICAgKGN0eC0+cGt0LT5wa3RfaGFzX3NjYWxhcl9zdG9yZV9z MSAmIDEpIHwgKGN0eC0+aW5zbi0+c2xvdCA8PCAxKTsKKyAgICAgICAgKGN0eC0+cGt0LnBrdF9o YXNfc2NhbGFyX3N0b3JlX3MxICYgMSkgfCAoY3R4LT5pbnNuLT5zbG90IDw8IDEpOwogICAgIHJl dHVybiB0Y2dfY29uc3RhbnRfdGwoc2xvdHZhbCk7CiB9CiAjZW5kaWYKQEAgLTQ1OCw3ICs0NTgs NyBAQCBzdGF0aWMgdm9pZCBnZW5fd3JpdGVfbmV3X3BjX2FkZHIoRGlzYXNDb250ZXh0ICpjdHgs IFRDR3YgYWRkciwKICAgICAgICAgdGNnX2dlbl9icmNvbmRpX3RsKGNvbmQsIHByZWQsIDEsIHBy ZWRfZmFsc2UpOwogICAgIH0KIAotICAgIGlmIChjdHgtPnBrdC0+cGt0X2hhc19tdWx0aV9jb2Yp IHsKKyAgICBpZiAoY3R4LT5wa3QucGt0X2hhc19tdWx0aV9jb2YpIHsKICAgICAgICAgLyogSWYg dGhlcmUgYXJlIG11bHRpcGxlIGJyYW5jaGVzIGluIGEgcGFja2V0LCBpZ25vcmUgdGhlIHNlY29u ZCBvbmUgKi8KICAgICAgICAgdGNnX2dlbl9tb3Zjb25kX3RsKFRDR19DT05EX05FLCBoZXhfZ3By W0hFWF9SRUdfUENdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LT5icmFuY2hfdGFr ZW4sIHRjZ19jb25zdGFudF90bCgwKSwKQEAgLTQ3Niw4ICs0NzYsOCBAQCBzdGF0aWMgdm9pZCBn ZW5fd3JpdGVfbmV3X3BjX2FkZHIoRGlzYXNDb250ZXh0ICpjdHgsIFRDR3YgYWRkciwKIHN0YXRp YyB2b2lkIGdlbl93cml0ZV9uZXdfcGNfcGNyZWwoRGlzYXNDb250ZXh0ICpjdHgsIGludCBwY19v ZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRDR0NvbmQgY29uZCwgVENH diBwcmVkKQogewotICAgIHRhcmdldF91bG9uZyBkZXN0ID0gY3R4LT5wa3QtPnBjICsgcGNfb2Zm OwotICAgIGlmIChjdHgtPnBrdC0+cGt0X2hhc19tdWx0aV9jb2YpIHsKKyAgICB0YXJnZXRfdWxv bmcgZGVzdCA9IGN0eC0+cGt0LnBjICsgcGNfb2ZmOworICAgIGlmIChjdHgtPnBrdC5wa3RfaGFz X211bHRpX2NvZikgewogICAgICAgICBnZW5fd3JpdGVfbmV3X3BjX2FkZHIoY3R4LCB0Y2dfY29u c3RhbnRfdGwoZGVzdCksIGNvbmQsIHByZWQpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8qIERl ZmVyIHRoaXMganVtcCB0byB0aGUgZW5kIG9mIHRoZSBUQiAqLwpAQCAtNTI4LDcgKzUyOCw3IEBA IHN0YXRpYyBpbmxpbmUgdm9pZCBnZW5fbG9vcDByKERpc2FzQ29udGV4dCAqY3R4LCBUQ0d2IFJz ViwgaW50IHJpVikKICAgICBmSU1NRVhUKHJpVik7CiAgICAgZlBDQUxJR04ocmlWKTsKICAgICB0 Y2dfZ2VuX21vdl90bChnZXRfcmVzdWx0X2dwcihjdHgsIEhFWF9SRUdfTEMwKSwgUnNWKTsKLSAg ICB0Y2dfZ2VuX21vdmlfdGwoZ2V0X3Jlc3VsdF9ncHIoY3R4LCBIRVhfUkVHX1NBMCksIGN0eC0+ cGt0LT5wYyArIHJpVik7CisgICAgdGNnX2dlbl9tb3ZpX3RsKGdldF9yZXN1bHRfZ3ByKGN0eCwg SEVYX1JFR19TQTApLCBjdHgtPnBrdC5wYyArIHJpVik7CiAgICAgZ2VuX3NldF91c3JfZmllbGRp KGN0eCwgVVNSX0xQQ0ZHLCAwKTsKIH0KIApAQCAtNTQyLDcgKzU0Miw3IEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBnZW5fbG9vcDFyKERpc2FzQ29udGV4dCAqY3R4LCBUQ0d2IFJzViwgaW50IHJpVikK ICAgICBmSU1NRVhUKHJpVik7CiAgICAgZlBDQUxJR04ocmlWKTsKICAgICB0Y2dfZ2VuX21vdl90 bChnZXRfcmVzdWx0X2dwcihjdHgsIEhFWF9SRUdfTEMxKSwgUnNWKTsKLSAgICB0Y2dfZ2VuX21v dmlfdGwoZ2V0X3Jlc3VsdF9ncHIoY3R4LCBIRVhfUkVHX1NBMSksIGN0eC0+cGt0LT5wYyArIHJp Vik7CisgICAgdGNnX2dlbl9tb3ZpX3RsKGdldF9yZXN1bHRfZ3ByKGN0eCwgSEVYX1JFR19TQTEp LCBjdHgtPnBrdC5wYyArIHJpVik7CiB9CiAKIHN0YXRpYyB2b2lkIGdlbl9sb29wMWkoRGlzYXND b250ZXh0ICpjdHgsIGludCBjb3VudCwgaW50IHJpVikKQEAgLTU1NSw3ICs1NTUsNyBAQCBzdGF0 aWMgdm9pZCBnZW5fcGxvb3BOc3IoRGlzYXNDb250ZXh0ICpjdHgsIGludCBOLCBUQ0d2IFJzViwg aW50IHJpVikKICAgICBmSU1NRVhUKHJpVik7CiAgICAgZlBDQUxJR04ocmlWKTsKICAgICB0Y2df Z2VuX21vdl90bChnZXRfcmVzdWx0X2dwcihjdHgsIEhFWF9SRUdfTEMwKSwgUnNWKTsKLSAgICB0 Y2dfZ2VuX21vdmlfdGwoZ2V0X3Jlc3VsdF9ncHIoY3R4LCBIRVhfUkVHX1NBMCksIGN0eC0+cGt0 LT5wYyArIHJpVik7CisgICAgdGNnX2dlbl9tb3ZpX3RsKGdldF9yZXN1bHRfZ3ByKGN0eCwgSEVY X1JFR19TQTApLCBjdHgtPnBrdC5wYyArIHJpVik7CiAgICAgZ2VuX3NldF91c3JfZmllbGRpKGN0 eCwgVVNSX0xQQ0ZHLCBOKTsKICAgICBnZW5fcHJlZF93cml0ZShjdHgsIDMsIHRjZ19jb25zdGFu dF90bCgwKSk7CiB9CmRpZmYgLS1naXQgYS90YXJnZXQvaGV4YWdvbi90cmFuc2xhdGUuYyBiL3Rh cmdldC9oZXhhZ29uL3RyYW5zbGF0ZS5jCmluZGV4IDEyYzgyZmQ2YzVhLi5mMjYyODFlNjcxMSAx MDA2NDQKLS0tIGEvdGFyZ2V0L2hleGFnb24vdHJhbnNsYXRlLmMKKysrIGIvdGFyZ2V0L2hleGFn b24vdHJhbnNsYXRlLmMKQEAgLTE1Niw4ICsxNTYsNiBAQCBzdGF0aWMgdm9pZCBnZW5fZ290b190 YihEaXNhc0NvbnRleHQgKmN0eCwgdW5zaWduZWQgdGJfc2xvdF9pZHgsCiAKIHN0YXRpYyB2b2lk IGdlbl9lbmRfdGIoRGlzYXNDb250ZXh0ICpjdHgpCiB7Ci0gICAgUGFja2V0ICpwa3QgPSBjdHgt PnBrdDsKLQogICAgIGdlbl9leGVjX2NvdW50ZXJzKGN0eCk7CiAKICAgICBpZiAoY3R4LT5icmFu Y2hfY29uZCAhPSBUQ0dfQ09ORF9ORVZFUikgewpAQCAtMTcxLDcgKzE2OSw3IEBAIHN0YXRpYyB2 b2lkIGdlbl9lbmRfdGIoRGlzYXNDb250ZXh0ICpjdHgpCiAgICAgICAgICAgICBnZW5fZ290b190 YihjdHgsIDAsIGN0eC0+YnJhbmNoX2Rlc3QsIHRydWUpOwogICAgICAgICB9CiAgICAgfSBlbHNl IGlmIChjdHgtPmlzX3RpZ2h0X2xvb3AgJiYKLSAgICAgICAgICAgICAgIHBrdC0+aW5zbltwa3Qt Pm51bV9pbnNucyAtIDFdLm9wY29kZSA9PSBKMl9lbmRsb29wMCkgeworICAgICAgICAgICAgICAg Y3R4LT5wa3QuaW5zbltjdHgtPnBrdC5udW1faW5zbnMgLSAxXS5vcGNvZGUgPT0gSjJfZW5kbG9v cDApIHsKICAgICAgICAgLyoKICAgICAgICAgICogV2hlbiB3ZSdyZSBpbiBhIHRpZ2h0IGxvb3As IHdlIGRlZmVyIHRoZSBlbmRsb29wMCBwcm9jZXNzaW5nCiAgICAgICAgICAqIHRvIHRha2UgYWR2 YW50YWdlIG9mIGRpcmVjdCBibG9jayBjaGFpbmluZwpAQCAtMjY2LDExICsyNjQsOSBAQCBzdGF0 aWMgYm9vbCBuZWVkX3Nsb3RfY2FuY2VsbGVkKFBhY2tldCAqcGt0KQogCiBzdGF0aWMgYm9vbCBu ZWVkX25leHRfUEMoRGlzYXNDb250ZXh0ICpjdHgpCiB7Ci0gICAgUGFja2V0ICpwa3QgPSBjdHgt PnBrdDsKLQogICAgIC8qIENoZWNrIGZvciBjb25kaXRpb25hbCBjb250cm9sIGZsb3cgb3IgSFcg bG9vcCBlbmQgKi8KLSAgICBmb3IgKGludCBpID0gMDsgaSA8IHBrdC0+bnVtX2luc25zOyBpKysp IHsKLSAgICAgICAgdWludDE2X3Qgb3Bjb2RlID0gcGt0LT5pbnNuW2ldLm9wY29kZTsKKyAgICBm b3IgKGludCBpID0gMDsgaSA8IGN0eC0+cGt0Lm51bV9pbnNuczsgaSsrKSB7CisgICAgICAgIHVp bnQxNl90IG9wY29kZSA9IGN0eC0+cGt0Lmluc25baV0ub3Bjb2RlOwogICAgICAgICBpZiAoR0VU X0FUVFJJQihvcGNvZGUsIEFfQ09OREVYRUMpICYmIEdFVF9BVFRSSUIob3Bjb2RlLCBBX0NPRikp IHsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CkBAIC0zNTMsOCArMzQ5LDYg QEAgc3RhdGljIGJvb2wgcGt0X3JhaXNlc19leGNlcHRpb24oUGFja2V0ICpwa3QpCiAKIHN0YXRp YyBib29sIG5lZWRfY29tbWl0KERpc2FzQ29udGV4dCAqY3R4KQogewotICAgIFBhY2tldCAqcGt0 ID0gY3R4LT5wa3Q7Ci0KICAgICAvKgogICAgICAqIElmIHRoZSBzaG9ydC1jaXJjdWl0IHByb3Bl cnR5IGlzIHNldCB0byBmYWxzZSwgd2UnbGwgYWx3YXlzIGRvIHRoZSBjb21taXQKICAgICAgKi8K QEAgLTM2Miw3ICszNTYsNyBAQCBzdGF0aWMgYm9vbCBuZWVkX2NvbW1pdChEaXNhc0NvbnRleHQg KmN0eCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgaWYgKHBrdF9yYWlzZXNf ZXhjZXB0aW9uKHBrdCkpIHsKKyAgICBpZiAocGt0X3JhaXNlc19leGNlcHRpb24oJmN0eC0+cGt0 KSkgewogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKQEAgLTQwOSwxMSArNDAzLDEwIEBA IHN0YXRpYyB2b2lkIG1hcmtfaW1wbGljaXRfd3JpdGVzKERpc2FzQ29udGV4dCAqY3R4KQogCiBz dGF0aWMgdm9pZCBhbmFseXplX3BhY2tldChEaXNhc0NvbnRleHQgKmN0eCkKIHsKLSAgICBQYWNr ZXQgKnBrdCA9IGN0eC0+cGt0OwogICAgIGN0eC0+cmVhZF9hZnRlcl93cml0ZSA9IGZhbHNlOwog ICAgIGN0eC0+aGFzX2h2eF9vdmVybGFwID0gZmFsc2U7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkg PCBwa3QtPm51bV9pbnNuczsgaSsrKSB7Ci0gICAgICAgIEluc24gKmluc24gPSAmcGt0LT5pbnNu W2ldOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY3R4LT5wa3QubnVtX2luc25zOyBpKyspIHsK KyAgICAgICAgSW5zbiAqaW5zbiA9ICZjdHgtPnBrdC5pbnNuW2ldOwogICAgICAgICBjdHgtPmlu c24gPSBpbnNuOwogICAgICAgICBpZiAob3Bjb2RlX2FuYWx5emVbaW5zbi0+b3Bjb2RlXSkgewog ICAgICAgICAgICAgb3Bjb2RlX2FuYWx5emVbaW5zbi0+b3Bjb2RlXShjdHgpOwpAQCAtNDI1LDgg KzQxOCw3IEBAIHN0YXRpYyB2b2lkIGFuYWx5emVfcGFja2V0KERpc2FzQ29udGV4dCAqY3R4KQog CiBzdGF0aWMgdm9pZCBnZW5fc3RhcnRfcGFja2V0KERpc2FzQ29udGV4dCAqY3R4KQogewotICAg IFBhY2tldCAqcGt0ID0gY3R4LT5wa3Q7Ci0gICAgdGFyZ2V0X3Vsb25nIG5leHRfUEMgPSBjdHgt PmJhc2UucGNfbmV4dCArIHBrdC0+ZW5jb2RfcGt0X3NpemVfaW5fYnl0ZXM7CisgICAgdGFyZ2V0 X3Vsb25nIG5leHRfUEMgPSBjdHgtPmJhc2UucGNfbmV4dCArIGN0eC0+cGt0LmVuY29kX3BrdF9z aXplX2luX2J5dGVzOwogICAgIGludCBpOwogCiAgICAgLyogQ2xlYXIgb3V0IHRoZSBkaXNhc3Nl bWJseSBjb250ZXh0ICovCkBAIC00NjgsMTMgKzQ2MCwxMyBAQCBzdGF0aWMgdm9pZCBnZW5fc3Rh cnRfcGFja2V0KERpc2FzQ29udGV4dCAqY3R4KQogICAgIGJpdG1hcF96ZXJvKGN0eC0+cHJlZ3Nf d3JpdHRlbiwgTlVNX1BSRUdTKTsKIAogICAgIC8qIEluaXRpYWxpemUgdGhlIHJ1bnRpbWUgc3Rh dGUgZm9yIHBhY2tldCBzZW1hbnRpY3MgKi8KLSAgICBpZiAobmVlZF9zbG90X2NhbmNlbGxlZChw a3QpKSB7CisgICAgaWYgKG5lZWRfc2xvdF9jYW5jZWxsZWQoJmN0eC0+cGt0KSkgewogICAgICAg ICB0Y2dfZ2VuX21vdmlfdGwoaGV4X3Nsb3RfY2FuY2VsbGVkLCAwKTsKICAgICB9CiAgICAgY3R4 LT5icmFuY2hfdGFrZW4gPSBOVUxMOwotICAgIGlmIChwa3QtPnBrdF9oYXNfY29mKSB7CisgICAg aWYgKGN0eC0+cGt0LnBrdF9oYXNfY29mKSB7CiAgICAgICAgIGN0eC0+YnJhbmNoX3Rha2VuID0g dGNnX3RlbXBfbmV3KCk7Ci0gICAgICAgIGlmIChwa3QtPnBrdF9oYXNfbXVsdGlfY29mKSB7Cisg ICAgICAgIGlmIChjdHgtPnBrdC5wa3RfaGFzX211bHRpX2NvZikgewogICAgICAgICAgICAgdGNn X2dlbl9tb3ZpX3RsKGN0eC0+YnJhbmNoX3Rha2VuLCAwKTsKICAgICAgICAgfQogICAgICAgICBp ZiAobmVlZF9uZXh0X1BDKGN0eCkpIHsKQEAgLTUwMyw3ICs0OTUsNyBAQCBzdGF0aWMgdm9pZCBn ZW5fc3RhcnRfcGFja2V0KERpc2FzQ29udGV4dCAqY3R4KQogICAgICAqIFByZWxvYWQgdGhlIHBy ZWRpY2F0ZWQgcHJlZCByZWdpc3RlcnMgaW50byBjdHgtPm5ld19wcmVkX3ZhbHVlW3ByZWRfbnVt XQogICAgICAqIE9ubHkgZW5kbG9vcCBpbnN0cnVjdGlvbnMgY29uZGl0aW9uYWxseSB3cml0ZSB0 byBwcmVkIHJlZ2lzdGVycwogICAgICAqLwotICAgIGlmIChjdHgtPm5lZWRfY29tbWl0ICYmIHBr dC0+cGt0X2hhc19lbmRsb29wKSB7CisgICAgaWYgKGN0eC0+bmVlZF9jb21taXQgJiYgY3R4LT5w a3QucGt0X2hhc19lbmRsb29wKSB7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBjdHgtPnByZWdf bG9nX2lkeDsgaSsrKSB7CiAgICAgICAgICAgICBpbnQgcHJlZF9udW0gPSBjdHgtPnByZWdfbG9n W2ldOwogICAgICAgICAgICAgY3R4LT5uZXdfcHJlZF92YWx1ZVtwcmVkX251bV0gPSB0Y2dfdGVt cF9uZXcoKTsKQEAgLTU0MiwxMyArNTM0LDExIEBAIHN0YXRpYyB2b2lkIGdlbl9zdGFydF9wYWNr ZXQoRGlzYXNDb250ZXh0ICpjdHgpCiAKIGJvb2wgaXNfZ2F0aGVyX3N0b3JlX2luc24oRGlzYXND b250ZXh0ICpjdHgpCiB7Ci0gICAgUGFja2V0ICpwa3QgPSBjdHgtPnBrdDsKLSAgICBJbnNuICpp bnNuID0gY3R4LT5pbnNuOwotICAgIGlmIChHRVRfQVRUUklCKGluc24tPm9wY29kZSwgQV9DVklf TkVXKSAmJgotICAgICAgICBpbnNuLT5uZXdfdmFsdWVfcHJvZHVjZXJfc2xvdCA9PSAxKSB7Cisg ICAgaWYgKEdFVF9BVFRSSUIoY3R4LT5pbnNuLT5vcGNvZGUsIEFfQ1ZJX05FVykgJiYKKyAgICAg ICAgY3R4LT5pbnNuLT5uZXdfdmFsdWVfcHJvZHVjZXJfc2xvdCA9PSAxKSB7CiAgICAgICAgIC8q IExvb2sgZm9yIGdhdGhlciBpbnN0cnVjdGlvbiAqLwotICAgICAgICBmb3IgKGludCBpID0gMDsg aSA8IHBrdC0+bnVtX2luc25zOyBpKyspIHsKLSAgICAgICAgICAgIEluc24gKmluID0gJnBrdC0+ aW5zbltpXTsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjdHgtPnBrdC5udW1faW5zbnM7 IGkrKykgeworICAgICAgICAgICAgSW5zbiAqaW4gPSAmY3R4LT5wa3QuaW5zbltpXTsKICAgICAg ICAgICAgIGlmIChHRVRfQVRUUklCKGluLT5vcGNvZGUsIEFfQ1ZJX0dBVEhFUikgJiYgaW4tPnNs b3QgPT0gMSkgewogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQpA QCAtNjUxLDcgKzY0MSw3IEBAIHN0YXRpYyBib29sIHNsb3RfaXNfcHJlZGljYXRlZChQYWNrZXQg KnBrdCwgaW50IHNsb3RfbnVtKQogCiB2b2lkIHByb2Nlc3Nfc3RvcmUoRGlzYXNDb250ZXh0ICpj dHgsIGludCBzbG90X251bSkKIHsKLSAgICBib29sIGlzX3ByZWRpY2F0ZWQgPSBzbG90X2lzX3By ZWRpY2F0ZWQoY3R4LT5wa3QsIHNsb3RfbnVtKTsKKyAgICBib29sIGlzX3ByZWRpY2F0ZWQgPSBz bG90X2lzX3ByZWRpY2F0ZWQoJmN0eC0+cGt0LCBzbG90X251bSk7CiAgICAgVENHTGFiZWwgKmxh YmVsX2VuZCA9IE5VTEw7CiAKICAgICAvKgpAQCAtNzI4LDEzICs3MTgsMTIgQEAgc3RhdGljIHZv aWQgcHJvY2Vzc19zdG9yZV9sb2coRGlzYXNDb250ZXh0ICpjdHgpCiAgICAgICogIHNsb3QgMSBh bmQgdGhlbiBzbG90IDAuICBUaGlzIHdpbGwgYmUgaW1wb3J0YW50IHdoZW4KICAgICAgKiAgdGhl IG1lbW9yeSBhY2Nlc3NlcyBvdmVybGFwLgogICAgICAqLwotICAgIFBhY2tldCAqcGt0ID0gY3R4 LT5wa3Q7Ci0gICAgaWYgKHBrdC0+cGt0X2hhc19zY2FsYXJfc3RvcmVfczEpIHsKLSAgICAgICAg Z19hc3NlcnQoIXBrdC0+cGt0X2hhc19kY3plcm9hKTsKKyAgICBpZiAoY3R4LT5wa3QucGt0X2hh c19zY2FsYXJfc3RvcmVfczEpIHsKKyAgICAgICAgZ19hc3NlcnQoIWN0eC0+cGt0LnBrdF9oYXNf ZGN6ZXJvYSk7CiAgICAgICAgIHByb2Nlc3Nfc3RvcmUoY3R4LCAxKTsKICAgICB9Ci0gICAgaWYg KHBrdC0+cGt0X2hhc19zY2FsYXJfc3RvcmVfczApIHsKLSAgICAgICAgZ19hc3NlcnQoIXBrdC0+ cGt0X2hhc19kY3plcm9hKTsKKyAgICBpZiAoY3R4LT5wa3QucGt0X2hhc19zY2FsYXJfc3RvcmVf czApIHsKKyAgICAgICAgZ19hc3NlcnQoIWN0eC0+cGt0LnBrdF9oYXNfZGN6ZXJvYSk7CiAgICAg ICAgIHByb2Nlc3Nfc3RvcmUoY3R4LCAwKTsKICAgICB9CiB9CkBAIC03NDIsNyArNzMxLDcgQEAg c3RhdGljIHZvaWQgcHJvY2Vzc19zdG9yZV9sb2coRGlzYXNDb250ZXh0ICpjdHgpCiAvKiBaZXJv IG91dCBhIDMyLWJpdCBjYWNoZSBsaW5lICovCiBzdGF0aWMgdm9pZCBwcm9jZXNzX2RjemVyb2Eo RGlzYXNDb250ZXh0ICpjdHgpCiB7Ci0gICAgaWYgKGN0eC0+cGt0LT5wa3RfaGFzX2RjemVyb2Ep IHsKKyAgICBpZiAoY3R4LT5wa3QucGt0X2hhc19kY3plcm9hKSB7CiAgICAgICAgIC8qIFN0b3Jl IDMyIGJ5dGVzIG9mIHplcm8gc3RhcnRpbmcgYXQgKGFkZHIgJiB+MHgxZikgKi8KICAgICAgICAg VENHdiBhZGRyID0gdGNnX3RlbXBfbmV3KCk7CiAgICAgICAgIFRDR3ZfaTY0IHplcm8gPSB0Y2df Y29uc3RhbnRfaTY0KDApOwpAQCAtNzc2LDcgKzc2NSw3IEBAIHN0YXRpYyB2b2lkIGdlbl9jb21t aXRfaHZ4KERpc2FzQ29udGV4dCAqY3R4KQogCiAgICAgLyogRWFybHkgZXhpdCBpZiBub3QgbmVl ZGVkICovCiAgICAgaWYgKCFjdHgtPm5lZWRfY29tbWl0KSB7Ci0gICAgICAgIGdfYXNzZXJ0KCFw a3RfaGFzX2h2eF9zdG9yZShjdHgtPnBrdCkpOworICAgICAgICBnX2Fzc2VydCghcGt0X2hhc19o dnhfc3RvcmUoJmN0eC0+cGt0KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgxMCwy NSArNzk5LDIzIEBAIHN0YXRpYyB2b2lkIGdlbl9jb21taXRfaHZ4KERpc2FzQ29udGV4dCAqY3R4 KQogICAgICAgICB0Y2dfZ2VuX2d2ZWNfbW92KE1PXzY0LCBkc3RvZmYsIHNyY29mZiwgc2l6ZSwg c2l6ZSk7CiAgICAgfQogCi0gICAgaWYgKHBrdF9oYXNfaHZ4X3N0b3JlKGN0eC0+cGt0KSkgewor ICAgIGlmIChwa3RfaGFzX2h2eF9zdG9yZSgmY3R4LT5wa3QpKSB7CiAgICAgICAgIGdlbl9oZWxw ZXJfY29tbWl0X2h2eF9zdG9yZXModGNnX2Vudik7CiAgICAgfQogfQogCiBzdGF0aWMgdm9pZCB1 cGRhdGVfZXhlY19jb3VudGVycyhEaXNhc0NvbnRleHQgKmN0eCkKIHsKLSAgICBQYWNrZXQgKnBr dCA9IGN0eC0+cGt0OwotICAgIGludCBudW1faW5zbnMgPSBwa3QtPm51bV9pbnNuczsKICAgICBp bnQgbnVtX3JlYWxfaW5zbnMgPSAwOwogICAgIGludCBudW1faHZ4X2luc25zID0gMDsKIAotICAg IGZvciAoaW50IGkgPSAwOyBpIDwgbnVtX2luc25zOyBpKyspIHsKLSAgICAgICAgaWYgKCFwa3Qt Pmluc25baV0uaXNfZW5kbG9vcCAmJgotICAgICAgICAgICAgIXBrdC0+aW5zbltpXS5wYXJ0MSAm JgotICAgICAgICAgICAgIUdFVF9BVFRSSUIocGt0LT5pbnNuW2ldLm9wY29kZSwgQV9JVF9OT1Ap KSB7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjdHgtPnBrdC5udW1faW5zbnM7IGkrKykgewor ICAgICAgICBpZiAoIWN0eC0+cGt0Lmluc25baV0uaXNfZW5kbG9vcCAmJgorICAgICAgICAgICAg IWN0eC0+cGt0Lmluc25baV0ucGFydDEgJiYKKyAgICAgICAgICAgICFHRVRfQVRUUklCKGN0eC0+ cGt0Lmluc25baV0ub3Bjb2RlLCBBX0lUX05PUCkpIHsKICAgICAgICAgICAgIG51bV9yZWFsX2lu c25zKys7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKEdFVF9BVFRSSUIocGt0LT5pbnNuW2ldLm9w Y29kZSwgQV9DVkkpKSB7CisgICAgICAgIGlmIChHRVRfQVRUUklCKGN0eC0+cGt0Lmluc25baV0u b3Bjb2RlLCBBX0NWSSkpIHsKICAgICAgICAgICAgIG51bV9odnhfaW5zbnMrKzsKICAgICAgICAg fQogICAgIH0KQEAgLTg1NywxMiArODQ0LDExIEBAIHN0YXRpYyB2b2lkIGdlbl9jb21taXRfcGFj a2V0KERpc2FzQ29udGV4dCAqY3R4KQogICAgICAqIHN0b3JlLiAgVGhlcmVmb3JlLCB3ZSBjYWxs IHByb2Nlc3Nfc3RvcmVfbG9nIGJlZm9yZSBhbnl0aGluZyBlbHNlCiAgICAgICogaW52b2x2ZWQg aW4gY29tbWl0dGluZyB0aGUgcGFja2V0LgogICAgICAqLwotICAgIFBhY2tldCAqcGt0ID0gY3R4 LT5wa3Q7Ci0gICAgYm9vbCBoYXNfc3RvcmVfczAgPSBwa3QtPnBrdF9oYXNfc2NhbGFyX3N0b3Jl X3MwOworICAgIGJvb2wgaGFzX3N0b3JlX3MwID0gY3R4LT5wa3QucGt0X2hhc19zY2FsYXJfc3Rv cmVfczA7CiAgICAgYm9vbCBoYXNfc3RvcmVfczEgPQotICAgICAgICAocGt0LT5wa3RfaGFzX3Nj YWxhcl9zdG9yZV9zMSAmJiAhY3R4LT5zMV9zdG9yZV9wcm9jZXNzZWQpOwotICAgIGJvb2wgaGFz X2h2eF9zdG9yZSA9IHBrdF9oYXNfaHZ4X3N0b3JlKHBrdCk7Ci0gICAgaWYgKHBrdC0+cGt0X2hh c19kY3plcm9hKSB7CisgICAgICAgIChjdHgtPnBrdC5wa3RfaGFzX3NjYWxhcl9zdG9yZV9zMSAm JiAhY3R4LT5zMV9zdG9yZV9wcm9jZXNzZWQpOworICAgIGJvb2wgaGFzX2h2eF9zdG9yZSA9IHBr dF9oYXNfaHZ4X3N0b3JlKCZjdHgtPnBrdCk7CisgICAgaWYgKGN0eC0+cGt0LnBrdF9oYXNfZGN6 ZXJvYSkgewogICAgICAgICAvKgogICAgICAgICAgKiBUaGUgZGN6ZXJvYSB3aWxsIGJlIHRoZSBz dG9yZSBpbiBzbG90IDAsIGNoZWNrIHRoYXQgd2UgZG9uJ3QgaGF2ZQogICAgICAgICAgKiBhIHN0 b3JlIGluIHNsb3QgMSBvciBhbiBIVlggc3RvcmUuCkBAIC04ODksMTIgKzg3NSwxMSBAQCBzdGF0 aWMgdm9pZCBnZW5fY29tbWl0X3BhY2tldChEaXNhc0NvbnRleHQgKmN0eCkKICAgICAgICAgICAg ICAgICAgICAgRklFTERfRFAzMihtYXNrLCBQUk9CRV9QS1RfU0NBTEFSX0hWWF9TVE9SRVMsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFTX0hWWF9TVE9SRVMsIDEpOwogICAgICAg ICAgICAgfQotICAgICAgICAgICAgaWYgKGhhc19zdG9yZV9zMCAmJiBzbG90X2lzX3ByZWRpY2F0 ZWQocGt0LCAwKSkgewotICAgICAgICAgICAgICAgIG1hc2sgPQotICAgICAgICAgICAgICAgICAg ICBGSUVMRF9EUDMyKG1hc2ssIFBST0JFX1BLVF9TQ0FMQVJfSFZYX1NUT1JFUywKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTMF9JU19QUkVELCAxKTsKKyAgICAgICAgICAgIGlmICho YXNfc3RvcmVfczAgJiYgc2xvdF9pc19wcmVkaWNhdGVkKCZjdHgtPnBrdCwgMCkpIHsKKyAgICAg ICAgICAgICAgICBtYXNrID0gRklFTERfRFAzMihtYXNrLCBQUk9CRV9QS1RfU0NBTEFSX0hWWF9T VE9SRVMsIFMwX0lTX1BSRUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSk7 CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoaGFzX3N0b3JlX3MxICYmIHNsb3RfaXNf cHJlZGljYXRlZChwa3QsIDEpKSB7CisgICAgICAgICAgICBpZiAoaGFzX3N0b3JlX3MxICYmIHNs b3RfaXNfcHJlZGljYXRlZCgmY3R4LT5wa3QsIDEpKSB7CiAgICAgICAgICAgICAgICAgbWFzayA9 CiAgICAgICAgICAgICAgICAgICAgIEZJRUxEX0RQMzIobWFzaywgUFJPQkVfUEtUX1NDQUxBUl9I VlhfU1RPUkVTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMxX0lTX1BSRUQsIDEp OwpAQCAtOTEyLDcgKzg5Nyw3IEBAIHN0YXRpYyB2b2lkIGdlbl9jb21taXRfcGFja2V0KERpc2Fz Q29udGV4dCAqY3R4KQogICAgICAgICBpbnQgYXJncyA9IDA7CiAgICAgICAgIGFyZ3MgPQogICAg ICAgICAgICAgRklFTERfRFAzMihhcmdzLCBQUk9CRV9QS1RfU0NBTEFSX1NUT1JFX1MwLCBNTVVf SURYLCBjdHgtPm1lbV9pZHgpOwotICAgICAgICBpZiAoc2xvdF9pc19wcmVkaWNhdGVkKHBrdCwg MCkpIHsKKyAgICAgICAgaWYgKHNsb3RfaXNfcHJlZGljYXRlZCgmY3R4LT5wa3QsIDApKSB7CiAg ICAgICAgICAgICBhcmdzID0KICAgICAgICAgICAgICAgICBGSUVMRF9EUDMyKGFyZ3MsIFBST0JF X1BLVF9TQ0FMQVJfU1RPUkVfUzAsIElTX1BSRURJQ0FURUQsIDEpOwogICAgICAgICB9CkBAIC05 MjQsMTggKzkwOSwxOCBAQCBzdGF0aWMgdm9pZCBnZW5fY29tbWl0X3BhY2tldChEaXNhc0NvbnRl eHQgKmN0eCkKIAogICAgIGdlbl9yZWdfd3JpdGVzKGN0eCk7CiAgICAgZ2VuX3ByZWRfd3JpdGVz KGN0eCk7Ci0gICAgaWYgKHBrdC0+cGt0X2hhc19odngpIHsKKyAgICBpZiAoY3R4LT5wa3QucGt0 X2hhc19odngpIHsKICAgICAgICAgZ2VuX2NvbW1pdF9odngoY3R4KTsKICAgICB9CiAgICAgdXBk YXRlX2V4ZWNfY291bnRlcnMoY3R4KTsKIAotICAgIGlmIChwa3QtPnZoaXN0X2luc24gIT0gTlVM TCkgeworICAgIGlmIChjdHgtPnBrdC52aGlzdF9pbnNuICE9IE5VTEwpIHsKICAgICAgICAgY3R4 LT5wcmVfY29tbWl0ID0gZmFsc2U7Ci0gICAgICAgIGN0eC0+aW5zbiA9IHBrdC0+dmhpc3RfaW5z bjsKLSAgICAgICAgcGt0LT52aGlzdF9pbnNuLT5nZW5lcmF0ZShjdHgpOworICAgICAgICBjdHgt Pmluc24gPSBjdHgtPnBrdC52aGlzdF9pbnNuOworICAgICAgICBjdHgtPnBrdC52aGlzdF9pbnNu LT5nZW5lcmF0ZShjdHgpOwogICAgIH0KIAotICAgIGlmIChwa3QtPnBrdF9oYXNfY29mKSB7Cisg ICAgaWYgKGN0eC0+cGt0LnBrdF9oYXNfY29mKSB7CiAgICAgICAgIGdlbl9lbmRfdGIoY3R4KTsK ICAgICB9CiB9CkBAIC05NDQsNyArOTI5LDYgQEAgc3RhdGljIHZvaWQgZGVjb2RlX2FuZF90cmFu c2xhdGVfcGFja2V0KENQVUhleGFnb25TdGF0ZSAqZW52LCBEaXNhc0NvbnRleHQgKmN0eCkKIHsK ICAgICB1aW50MzJfdCB3b3Jkc1tQQUNLRVRfV09SRFNfTUFYXTsKICAgICBpbnQgbndvcmRzLCB3 b3Jkc19yZWFkOwotICAgIFBhY2tldCBwa3Q7CiAgICAgaW50IGk7CiAKICAgICBud29yZHMgPSBy ZWFkX3BhY2tldF93b3JkcyhlbnYsIGN0eCwgd29yZHMpOwpAQCAtOTUzLDIyICs5MzcsMjEgQEAg c3RhdGljIHZvaWQgZGVjb2RlX2FuZF90cmFuc2xhdGVfcGFja2V0KENQVUhleGFnb25TdGF0ZSAq ZW52LCBEaXNhc0NvbnRleHQgKmN0eCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGN0 eC0+cGt0ID0gJnBrdDsKLSAgICB3b3Jkc19yZWFkID0gZGVjb2RlX3BhY2tldChjdHgsIG53b3Jk cywgd29yZHMsICZwa3QsIGZhbHNlKTsKKyAgICB3b3Jkc19yZWFkID0gZGVjb2RlX3BhY2tldChj dHgsIG53b3Jkcywgd29yZHMsICZjdHgtPnBrdCwgZmFsc2UpOwogICAgIGlmICh3b3Jkc19yZWFk ID4gMCkgewotICAgICAgICBwa3QucGMgPSBjdHgtPmJhc2UucGNfbmV4dDsKLSAgICAgICAgaWYg KHBrdC5wa3RfaGFzX3dyaXRlX2NvbmZsaWN0KSB7CisgICAgICAgIGN0eC0+cGt0LnBjID0gY3R4 LT5iYXNlLnBjX25leHQ7CisgICAgICAgIGlmIChjdHgtPnBrdC5wa3RfaGFzX3dyaXRlX2NvbmZs aWN0KSB7CiAgICAgICAgICAgICBnZW5fZXhjZXB0aW9uX2RlY29kZV9mYWlsKGN0eCwgd29yZHNf cmVhZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEVYX0NBVVNFX1JF R19XUklURV9DT05GTElDVCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAg ICAgZ2VuX3N0YXJ0X3BhY2tldChjdHgpOwotICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGt0Lm51 bV9pbnNuczsgaSsrKSB7Ci0gICAgICAgICAgICBjdHgtPmluc24gPSAmcGt0Lmluc25baV07Cisg ICAgICAgIGZvciAoaSA9IDA7IGkgPCBjdHgtPnBrdC5udW1faW5zbnM7IGkrKykgeworICAgICAg ICAgICAgY3R4LT5pbnNuID0gJmN0eC0+cGt0Lmluc25baV07CiAgICAgICAgICAgICBnZW5faW5z bihjdHgpOwogICAgICAgICB9CiAgICAgICAgIGdlbl9jb21taXRfcGFja2V0KGN0eCk7Ci0gICAg ICAgIGN0eC0+YmFzZS5wY19uZXh0ICs9IHBrdC5lbmNvZF9wa3Rfc2l6ZV9pbl9ieXRlczsKKyAg ICAgICAgY3R4LT5iYXNlLnBjX25leHQgKz0gY3R4LT5wa3QuZW5jb2RfcGt0X3NpemVfaW5fYnl0 ZXM7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZ2VuX2V4Y2VwdGlvbl9kZWNvZGVfZmFpbChjdHgs IG53b3JkcywgSEVYX0NBVVNFX0lOVkFMSURfUEFDS0VUKTsKICAgICB9CmRpZmYgLS1naXQgYS90 YXJnZXQvaGV4YWdvbi9nZW5fdGNnX2Z1bmNzLnB5IGIvdGFyZ2V0L2hleGFnb24vZ2VuX3RjZ19m dW5jcy5weQppbmRleCA4N2I3ZjEwZDdmZC4uZTdmOTBhMGRhMTEgMTAwNzU1Ci0tLSBhL3Rhcmdl dC9oZXhhZ29uL2dlbl90Y2dfZnVuY3MucHkKKysrIGIvdGFyZ2V0L2hleGFnb24vZ2VuX3RjZ19m dW5jcy5weQpAQCAtNzIsNyArNzIsNyBAQCBkZWYgZ2VuX3RjZ19mdW5jKGYsIHRhZywgcmVncywg aW1tcyk6CiAgICAgICAgIGZvciBpbW1sZXR0LCBiaXRzLCBpbW1zaGlmdCBpbiBpbW1zOgogICAg ICAgICAgICAgZGVjbGFyZWQuYXBwZW5kKGhleF9jb21tb24uaW1tX25hbWUoaW1tbGV0dCkpCiAK LSAgICAgICAgYXJndW1lbnRzID0gIiwgIi5qb2luKFsiY3R4IiwgImN0eC0+aW5zbiIsICJjdHgt PnBrdCJdICsgZGVjbGFyZWQpCisgICAgICAgIGFyZ3VtZW50cyA9ICIsICIuam9pbihbImN0eCIs ICJjdHgtPmluc24iLCAiJmN0eC0+cGt0Il0gKyBkZWNsYXJlZCkKICAgICAgICAgZi53cml0ZShm IiAgICBlbWl0X3t0YWd9KHthcmd1bWVudHN9KTtcbiIpCiAKICAgICBlbGlmIGhleF9jb21tb24u c2tpcF9xZW11X2hlbHBlcih0YWcpOgpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vaGV4X2Nv bW1vbi5weSBiL3RhcmdldC9oZXhhZ29uL2hleF9jb21tb24ucHkKaW5kZXggYzBlOWYyNmFlYmUu LmUzN2Q1YTUxNGYwIDEwMDc1NQotLS0gYS90YXJnZXQvaGV4YWdvbi9oZXhfY29tbW9uLnB5Cisr KyBiL3RhcmdldC9oZXhhZ29uL2hleF9jb21tb24ucHkKQEAgLTExNDQsNyArMTE0NCw3IEBAIGRl ZiBoZWxwZXJfYXJncyh0YWcsIHJlZ3MsIGltbXMpOgogICAgIGlmIG5lZWRfcGt0X2hhc19tdWx0 aV9jb2YodGFnKToKICAgICAgICAgYXJncy5hcHBlbmQoSGVscGVyQXJnKAogICAgICAgICAgICAg ImkzMiIsCi0gICAgICAgICAgICAidGNnX2NvbnN0YW50X3RsKGN0eC0+cGt0LT5wa3RfaGFzX211 bHRpX2NvZikiLAorICAgICAgICAgICAgInRjZ19jb25zdGFudF90bChjdHgtPnBrdC5wa3RfaGFz X211bHRpX2NvZikiLAogICAgICAgICAgICAgInVpbnQzMl90IHBrdF9oYXNfbXVsdGlfY29mIgog ICAgICAgICApKQogICAgIGlmIG5lZWRfcGt0X25lZWRfY29tbWl0KHRhZyk6CkBAIC0xMTU2LDcg KzExNTYsNyBAQCBkZWYgaGVscGVyX2FyZ3ModGFnLCByZWdzLCBpbW1zKToKICAgICBpZiBuZWVk X1BDKHRhZyk6CiAgICAgICAgIGFyZ3MuYXBwZW5kKEhlbHBlckFyZygKICAgICAgICAgICAgICJp MzIiLAotICAgICAgICAgICAgInRjZ19jb25zdGFudF90bChjdHgtPnBrdC0+cGMpIiwKKyAgICAg ICAgICAgICJ0Y2dfY29uc3RhbnRfdGwoY3R4LT5wa3QucGMpIiwKICAgICAgICAgICAgICJ0YXJn ZXRfdWxvbmcgUEMiCiAgICAgICAgICkpCiAgICAgaWYgbmVlZF9uZXh0X1BDKHRhZyk6Ci0tIAoy LjM0LjEKCg==