From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from YT5PR01CU002.outbound.protection.outlook.com (mail-canadacentralazon11021128.outbound.protection.outlook.com [40.107.192.128]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ADBE9318140 for ; Sat, 27 Jun 2026 15:21:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.192.128 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782573696; cv=fail; b=hfYUudoDmobDfX4o8S07IUwM3tmlUjOyTHvjPBzsk9Ep9+w3Hm8UWIMaVqYx4p16e1wxmOjuk+p5h1/Kn5Z6AU0fxWvgJGqfKyvmZ2O+jKFssaN4ZtgMaNxXvJe+ARrh+T4Ktx2ZA8v7DouPDEC/vnvPXB/5kA2IKWtRUwK/M0Y= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782573696; c=relaxed/simple; bh=+xurJaqpvSNsF7raNW1nrXwMKa9TmLsSCU6GnvgJ2xA=; h=Content-Type:Message-ID:Date:Subject:From:To:Cc:References: In-Reply-To:MIME-Version; b=u46RkZMlo+TP4I2TGiZHKl4lYC5PEQUIrnIW6XiHdv4R0XPZVD9zN7uLOiIfpsgseRGQ/EyugV5IbRg6vSuAJ/J8JeLmaIr3v+/WEKuKIoQn1hM0dzskusNefUXGbNL3D2RNp3MXCTQQMPHXCbv6fgGPUYFoT2RGuoqXC7cyFn0= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=efficios.com; spf=pass smtp.mailfrom=efficios.com; dkim=pass (2048-bit key) header.d=efficios.com header.i=@efficios.com header.b=AAUIhecm; arc=fail smtp.client-ip=40.107.192.128 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=efficios.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=efficios.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=efficios.com header.i=@efficios.com header.b="AAUIhecm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CWSLAsOE5mF2R2BOUSnexrVc5KmaFDuHHOtottd5783iH1GFR29WldkUCMBvfbeGikHohBVDolTiMM5dVmS+2wraO3i6N+0/iMzHsE5ksdUvj7z4XXq9T7VUKkmjyRB+vLEss+RFhxRppJxwGCpaQir1qywIYl045sYM2ZxDnywRTH86/9insAMWCrEwn2YOZqFI/hl+zLRltluAF/O0CxTnVvkjxlDyVGKSDM7paiaT4Z4HJrro9XQ0cgOU0qPVWb1Q73PgT3e0/1jidSiRY+kBnzWtfCOnlLWqs6n8msKieAb1Yphj7ETBQ+Y9oeKIf0FCnBwzIds0CnnfgvauPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gN8NpRRAAxHU6NsrN9WRCB3Z8ZK2aqq1v7DfUrY6mSg=; b=DIwtVqf88LGOvcLr5Wq6gn+GAO48M1HT6YYlwiRqhgHY2oEh5TgOoDagpbY+PXGtCFnwb1qoasok2Vfyzf+cZerNXXY8j9Q1Ifa41/zjF62WUJ8AmFSR25PHAQa1YcgHIJIbbcw4xtFOezpZEM5kUFm+Pj92b4lV5bLHUVWQTr6203uhBYzPK/mdtelVIKA0/I0RN5uE8qpzRC+mX8xxm+AwzV0d+iCCU49N2aTu3EhbP3wow1bMvC3t08NQpkshAUHoAbCUG2n5CzsuhJaaUdeBdj7DnnN3zc0Q+6IquUz+aYFypubpePuaivZ8nrVUaOHBASu1gjmo2NSbB2EAhA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=efficios.com; dmarc=pass action=none header.from=efficios.com; dkim=pass header.d=efficios.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gN8NpRRAAxHU6NsrN9WRCB3Z8ZK2aqq1v7DfUrY6mSg=; b=AAUIhecmGrHXoWiSvkJcikP6mUx59opxmHVD5zf8T+m5b062+RFfj0W1KYxp80779rPM9j7mnUrNIFW7UWDBS+AwsaFpqwkjm19qrDVUH4S3RT0EH/s0qbqJuYajBKeCHr5YUo7EAkepuBF2Bt3Xjf0eToT16oiIlbmA0UdKu3Vr3t0RQKbCVHpcuOyF4aQ/Agat2zRhyMNyvb/tqyZd1LiSCBkWHGweGCoAy99A2pvkl9DnDzCE7YrcfALyXuRnrasPLAnM12PAJPX6i/toVVI/U/w4Hx6SuBHSRT4zgsy10MDQX6PfUXfmnfgtEQKTIyeJuH4RN6cjxzmyH+RHsA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=efficios.com; Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) by YQXPR01MB5787.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:3c::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.8; Sat, 27 Jun 2026 15:21:30 +0000 Received: from YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::6004:a862:d45d:90c1]) by YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM ([fe80::6004:a862:d45d:90c1%4]) with mapi id 15.21.0181.008; Sat, 27 Jun 2026 15:21:30 +0000 Content-Type: multipart/mixed; boundary="------------CXo5XwUxNvWM6vR25f2HXoDU" Message-ID: <7741b89e-e36e-4288-ad85-83a413529526@efficios.com> Date: Sat, 27 Jun 2026 11:21:28 -0400 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH v5 1/2] hazptr: Implement Hazard Pointers From: Mathieu Desnoyers To: paulmck@kernel.org Cc: Boqun Feng , linux-kernel@vger.kernel.org References: <20260223204418.1429025-1-mathieu.desnoyers@efficios.com> <20260223204418.1429025-2-mathieu.desnoyers@efficios.com> <0d9f61c1-4a93-4f5a-a703-12ef4f325aa9@efficios.com> <8c12a0bf-68b8-4677-9745-c39b79d1f1c7@paulmck-laptop> <6623407f-8219-4a9a-8c6d-f17e0e73f828@efficios.com> Content-Language: en-US In-Reply-To: <6623407f-8219-4a9a-8c6d-f17e0e73f828@efficios.com> X-ClientProxiedBy: YQ1P288CA0015.CANP288.PROD.OUTLOOK.COM (2603:10b6:c01:9e::13) To YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:be::5) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: YT2PR01MB9175:EE_|YQXPR01MB5787:EE_ X-MS-Office365-Filtering-Correlation-Id: 04feaa2c-23a4-4b19-eaa8-08ded45fc36e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|6049299003|376014|1800799024|366016|56012099006|4143699003|22082099003|18002099003|4053099003; X-Microsoft-Antispam-Message-Info: 4PbC70Lm0uFOGNqq1xuNVsrymdNrP11TJi/OwwPZYrAIDafVyJVcvWW+YHxp+zEDtvZkoOdoD3zDr+mjCfsZ0kYqUdfaE7Q2HeRLWKNSheK3X/bmBubo+lRLU2TlI3gZ1gX4m5YOuBAQao0EMjpM43tMUmOp752iboQ7vo6tLPrlscenFDFPZMA0vg/he+MuSMuD5uwHl7bYr+QXr66Hh93c0GZt/OjduNDrs0Lh1gjVnAYu2949+eBMRgwWPV0Pi/wkyNIZ0VJpgn/sKGYRHVE/suV5Iw0IS5qjOMcEJeXBJp/TIkYY8OklAHhru36YlAZH2FUiGIw0/ZCjBgAEClxIJq2HeupH5bgTYXcofJ8g1TD5GvEb684XdkemxzK01okAtBVkTMWPJfijsnSbdsJDN+txscnP/qHg67ovzKODqZe35dL9y8scn/pugq8WvWi3QZjlhkDbAk4aLfQ8ilkbkepaievwn+eWgAFi2z45xMRgeCwEG71MUHGEUENLclwE070uxnRQjSS8S80YvcnxpGyzanJQxSCKRh5Rj51BcK6JhI1huAxte8Oq4pxj83p29rjpsvXP1EVGjpjpuXTf1udoTUdkH90TvpCo7gs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(6049299003)(376014)(1800799024)(366016)(56012099006)(4143699003)(22082099003)(18002099003)(4053099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RWRPZWZOTi85clIvVTlldkN5ZlR6d1lFYWpLZjdEditxUWZJYVNlMUdORjlu?= =?utf-8?B?c2NzUnFxVVJ5RjQ2K1ZTZytObldiejhwY1BmUFFwTnBWNFNaZHpQZzVuZ1lH?= =?utf-8?B?L2ROc2Jnb1VjNkN4OXFoRTN3T3VlU1pVcGRZQ3RURjdkblQ2ZFRldjcyRlZE?= =?utf-8?B?Q25LWHIvclh2ZUtrVWNQVTEzcmpaL1FoNzNTYnhZWDdFa1BKU0FiU3p0NVMw?= =?utf-8?B?eWIzcGE1eEdjM01uMmUyQ1pGQzBvY1M2bHk2ZkJQSmJBWGtDTVVodlFxdU1j?= =?utf-8?B?Rnc0Sm80b0NrSUt5QUhUUEJUYXNDSC9adVVsMGw0VEVCMTdpU0ZFdW8wUDRo?= =?utf-8?B?R29lM2lMbjBCVldmcjkrRTRXVURPdkdXaC9UYkRCR0w0TmlJNUd0aXgzOGFC?= =?utf-8?B?VnN4YUlpeWZHTTFHV1dIVmkvR21QbjJXTUVrMC9xWE8xVDhyR3YwSno2U3RN?= =?utf-8?B?S0E1RW5pQ3IxQXVVeHpsVkMwR3FsWko3MHZKaFRVMXB2S0JIVEVFY0dxWWJi?= =?utf-8?B?TGNBZ2NoaEVvQzF5UE5tdWlYVnEyMFdKbktUbnNxdy8xbWlrcVhNQmc1NGIx?= =?utf-8?B?TysrWXUyYjRQaktmTXB1SXhhNXhQR1hvT1k4Zm9yakJPYXFSdXRkVXhUbDUx?= =?utf-8?B?czZIQTU1RFd6dzI4Qk1YdnRQank5ZHovVk00T0plbU0rY3Z3WjFNdjI0ZjZZ?= =?utf-8?B?NzNYLytPNmdHTHcrZi9DaVNCOVVEdEFEK0owb1dVbnJTN0xJcDBPZTF6U3cv?= =?utf-8?B?bENLV21HSXk4L3c5ekNOTVd3OURraEJBYTg3R2dpVS94STI5MFBKampueTFW?= =?utf-8?B?Wi9GNUk4a21xa0JpWVNhSmtyU1d1dzRHYmVjSzl2c1B2MU9sc0t3ZDRiK2lh?= =?utf-8?B?QkFVMTZFNzhxRXZIeURZQUsxZVdhOTZZeXBJVlRHZmtNYlBDZWNSbFBEZFhm?= =?utf-8?B?M3gxR2FOdE1DQnRlcGVCSURHUm13NzJRTHNaU0VRVUxxVDlEbloxZFFuN3J3?= =?utf-8?B?TE9NTkxweno2YzVqMXVFWlJCOGxaZGFIWnFjYXBEMGpXbExkaFBNMXNKM1V1?= =?utf-8?B?eEhEeFRvaVdWWW5ZOFFNVGtMVmNyTWtiWEJRUGFMRTBpNGJCVVRIWnRVb25y?= =?utf-8?B?VFJETFFjZWZwYWdoNmFnOWlzZFVxbGhYbC8yWGdDdkNnaDdSa1ZRVnFIQi9t?= =?utf-8?B?YitNeGV4RHNwSXNnNlNSSGRheE5SdTR2Y0g3ZEF5MHN5RnlmbFh4dk9rNGFm?= =?utf-8?B?T2prU1NSOEMwTWVGSTlkaWJIS001QmF2TXhsTlJaalBaWTAvbUhkbDAxVzJJ?= =?utf-8?B?Wk9xWFl6TXpEV2ZWVHVHb3I2bmZmRXM4bCtDY080RDh4YTlqVk41MVYxRDIz?= =?utf-8?B?dFVIVGRXNk93SDM3M0lsbTJhT0RmQzJBT3ExM2I5OURhT2x3bHVnVjhFcEl2?= =?utf-8?B?cWpTOVVSLzdnRHRmYmtYTGZxOU0wbUlPRUxvaWNmUFN6Y3FxZXlVU2tKRVdk?= =?utf-8?B?Z0tHZlBubm9Pd0RtbGUzR0xBd0hydy90SUNFUjh2b0FCclhHM2FVMi9FaTd3?= =?utf-8?B?RUorNFJKbTBuOHhKeGhCSDk4cThRSmthako0OEpxdklqSjRyZVNwZENGVW1a?= =?utf-8?B?Zm1YbjZXdXl5K0VoOEtJcDl3cnVLb1l0WStKbXJxZUorQzRzVUczWmdFaCti?= =?utf-8?B?TTlWRjNHY2g2aVkycjNjcUt1Y3hvMTMvY1A3TFNWRDRGcHE2aXdneE5DdXky?= =?utf-8?B?NzBuSjRzSlR1cjZjWXJOTHl1SmoxNzArWTRiSFFWWW5CUUY2TFNoRkNHVUpI?= =?utf-8?B?c0tzQ1Q2TndPNWhySnNYZEppeXh4bGFYUytPYzJ6WDBOSXFic2ZUOUNFa1U4?= =?utf-8?B?ZG5RZnhJdGxxdHJkdWFiOTNRY1BQbTdJemxyWXR1K3hLTmM3VW9iVXN0ZldI?= =?utf-8?B?bk5MeFI4cTF5TWNBTzJqcVRlWWF6UElRcEVBY2RkL1dzY0JvazNVZ3JDdmt0?= =?utf-8?B?RTBWaEU1WWIzRXdVUzJJeVg4Rng0U3hCbUhNOXQzekhZOFRDZm51SjVQZkVh?= =?utf-8?B?VjlJdHgxSVN2T0R4YTlzbHNxK3RzTVVrM0xQTWcwQlZFais0Tm0xUXhaSkpw?= =?utf-8?B?NGp0UXdCeXArR2VJRDFRSlhSc0xXdFBQMzFXVjVFVkloaTRHOVl5d3hIYzBY?= =?utf-8?B?d254eDdZMmRuVnNqbWlwcUovU0pqVG44RWJVMkxIRlA1VlMzTlpIR2t6Zlpx?= =?utf-8?B?Mk53b0p3OVBGSWhZMHVyRDJTWGxWTkpDcGVkUDR4eGxzaTJOeFQzSFJiL3N6?= =?utf-8?B?dDhvakJibWtKazRyZTQ0T1VoeGVhMUJJWk1EVmZuOEJNNVlybGp3alZtZ3Yr?= =?utf-8?Q?H4Ee4cbg0lEaf2Jw=3D?= X-OriginatorOrg: efficios.com X-MS-Exchange-CrossTenant-Network-Message-Id: 04feaa2c-23a4-4b19-eaa8-08ded45fc36e X-MS-Exchange-CrossTenant-AuthSource: YT2PR01MB9175.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2026 15:21:30.0721 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4f278736-4ab6-415c-957e-1f55336bd31e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7O5WwbfvP9vdWgJxdKsqNqXQBf6w4n2s2GM5kcTjYvp3PGlWvAZtWhHG1vPPL9o9z67YzVvg07qw6uiKPw6iFOBe0EkZGv8Hsj7rtYmhaLI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQXPR01MB5787 --------------CXo5XwUxNvWM6vR25f2HXoDU Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2026-06-27 08:56, Mathieu Desnoyers wrote: > On 2026-06-27 00:14, Paul E. McKenney wrote: >> On Fri, Jun 26, 2026 at 11:56:13PM -0400, Mathieu Desnoyers wrote: >>> On 2026-06-26 19:06, Paul E. McKenney wrote: > [...] >>>> Initial runs suggest that hazard pointers cannot be acquired by one >>>> task and released by another.  Is that expected behavior, or is my test >>>> improperly passing the hazard pointers?  If the latter, we should of >>>> course document the proper hazard-pointer-passing mechanism. >>> >>> This is unexpected. I've looked at your test code quickly and could >>> not figure out what's wrong though. But it's late. How do you observe >>> that it fails ? >> >> Not an emergency, so your schedule is my schedule.  Especially given >> that I am mostly taking this coming week off.  And that it took me such >> a long time to get this torture test done.  ;-) >> >> I run either scenario (PREEMPT or NOPREEMPT) with: >> >> --bootarg "hazptrtorture.onoff_interval=3333 >> hazptrtorture.stat_interval=15" >> >> I get the following on the console, and things go downhill from there. >> I get the same thing when I turn off CPU hotplug, for whatever that is >> worth. > That OOPS is very instructive. I think I found the root cause. > > I need to add an API to hazptr so users wishing to explicitly transfer > ownership of the hazptr ctx to another thread can do so. > > Currently the scheduler hook is responsible for moving the hazptr > ctx from per-cpu to the backup slots, which makes it entirely movable > afterwards. > > But this assumes the ctx is thread-local. Once you explicitly move > ownership of that ctx to another thread, you race with the scheduler of > the original thread. > > Let me see what I can do to fix that. > > Thanks a lot for the test-case ! Can you try with the attached POC diff ? Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. https://www.efficios.com --------------CXo5XwUxNvWM6vR25f2HXoDU Content-Type: text/x-patch; charset=UTF-8; name="hazptr-fix-handoff.patch" Content-Disposition: attachment; filename="hazptr-fix-handoff.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaGF6cHRyLmggYi9pbmNsdWRlL2xpbnV4L2hhenB0 ci5oCmluZGV4IDQ2MWY0ODFhNDgwYi4uZDk2NDE0NTc1NzM5IDEwMDY0NAotLS0gYS9pbmNsdWRl L2xpbnV4L2hhenB0ci5oCisrKyBiL2luY2x1ZGUvbGludXgvaGF6cHRyLmgKQEAgLTk4LDYgKzk4 LDQxIEBAIGJvb2wgaGF6cHRyX3Nsb3RfaXNfYmFja3VwKHN0cnVjdCBoYXpwdHJfY3R4ICpjdHgs IHN0cnVjdCBoYXpwdHJfc2xvdCAqc2xvdCkKIAlyZXR1cm4gc2xvdCA9PSAmY3R4LT5iYWNrdXBf c2xvdC5zbG90OwogfQogCisvKiBJbnRlcm5hbCBoZWxwZXIuICovCitzdGF0aWMgaW5saW5lCit2 b2lkIGhhenB0cl9wcm9tb3RlX3RvX2JhY2t1cF9zbG90KHN0cnVjdCBoYXpwdHJfY3R4ICpjdHgs IHN0cnVjdCBoYXpwdHJfc2xvdCAqc2xvdCkKK3sKKwlzdHJ1Y3QgaGF6cHRyX3Nsb3QgKmJhY2t1 cF9zbG90OworCisJYmFja3VwX3Nsb3QgPSBoYXpwdHJfY2hhaW5fYmFja3VwX3Nsb3QoY3R4KTsK KwkvKgorCSAqIE1vdmUgaGF6YXJkIHBvaW50ZXIgZnJvbSB0aGUgcGVyLUNQVSBzbG90IHRvIHRo ZQorCSAqIGJhY2t1cCBzbG90LiBUaGlzIHJlcXVpcmVzIGhhemFyZCBwb2ludGVyCisJICogc3lu Y2hyb25pemUgdG8gaXRlcmF0ZSBvbiBwZXItQ1BVIHNsb3RzIHdpdGgKKwkgKiBsb2FkLWFjcXVp cmUgYmVmb3JlIGl0ZXJhdGluZyBvbiB0aGUgb3ZlcmZsb3cgbGlzdC4KKwkgKi8KKwlXUklURV9P TkNFKGJhY2t1cF9zbG90LT5hZGRyLCBzbG90LT5hZGRyKTsKKwkvKgorCSAqIHN0b3JlLXJlbGVh c2Ugb3JkZXJzIHN0b3JlIHRvIGJhY2t1cCBzbG90IGFkZHIgYmVmb3JlCisJICogc3RvcmUgdG8g cGVyLUNQVSBzbG90IGFkZHIuCisJICovCisJc21wX3N0b3JlX3JlbGVhc2UoJnNsb3QtPmFkZHIs IE5VTEwpOworCS8qIFVzZSB0aGUgYmFja3VwIHNsb3QgZm9yIGNvbnRleHQuICovCisJY3R4LT5z bG90ID0gYmFja3VwX3Nsb3Q7Cit9CisKK3N0YXRpYyBpbmxpbmUKK3ZvaWQgaGF6cHRyX2RldGFj aF9mcm9tX3Rhc2soc3RydWN0IGhhenB0cl9jdHggKmN0eCkKK3sKKwlzdHJ1Y3QgaGF6cHRyX3Ns b3QgKnNsb3Q7CisKKwlndWFyZChwcmVlbXB0KSgpOworCXNsb3QgPSBjdHgtPnNsb3Q7CisJaWYg KHVubGlrZWx5KGhhenB0cl9zbG90X2lzX2JhY2t1cChjdHgsIHNsb3QpKSkKKwkJcmV0dXJuOwor CWhhenB0cl9wcm9tb3RlX3RvX2JhY2t1cF9zbG90KGN0eCwgc2xvdCk7Cit9CisKIHN0YXRpYyBp bmxpbmUKIHZvaWQgaGF6cHRyX25vdGVfY29udGV4dF9zd2l0Y2godm9pZCkKIHsKQEAgLTEwNiwy NyArMTQxLDExIEBAIHZvaWQgaGF6cHRyX25vdGVfY29udGV4dF9zd2l0Y2godm9pZCkKIAogCWZv ciAoaWR4ID0gMDsgaWR4IDwgTlJfSEFaUFRSX1BFUkNQVV9TTE9UUzsgaWR4KyspIHsKIAkJc3Ry dWN0IGhhenB0cl9zbG90X2l0ZW0gKml0ZW0gPSAmcGVyY3B1X3Nsb3RzLT5pdGVtc1tpZHhdOwot CQlzdHJ1Y3QgaGF6cHRyX3Nsb3QgKnNsb3QgPSAmaXRlbS0+c2xvdCwgKmJhY2t1cF9zbG90Owot CQlzdHJ1Y3QgaGF6cHRyX2N0eCAqY3R4OworCQlzdHJ1Y3QgaGF6cHRyX3Nsb3QgKnNsb3QgPSAm aXRlbS0+c2xvdDsKIAogCQlpZiAoIXNsb3QtPmFkZHIpCiAJCQljb250aW51ZTsKLQkJY3R4ID0g aXRlbS0+Y3R4LmN0eDsKLQkJYmFja3VwX3Nsb3QgPSBoYXpwdHJfY2hhaW5fYmFja3VwX3Nsb3Qo Y3R4KTsKLQkJLyoKLQkJICogTW92ZSBoYXphcmQgcG9pbnRlciBmcm9tIHRoZSBwZXItQ1BVIHNs b3QgdG8gdGhlCi0JCSAqIGJhY2t1cCBzbG90LiBUaGlzIHJlcXVpcmVzIGhhemFyZCBwb2ludGVy Ci0JCSAqIHN5bmNocm9uaXplIHRvIGl0ZXJhdGUgb24gcGVyLUNQVSBzbG90cyB3aXRoCi0JCSAq IGxvYWQtYWNxdWlyZSBiZWZvcmUgaXRlcmF0aW5nIG9uIHRoZSBvdmVyZmxvdyBsaXN0LgotCQkg Ki8KLQkJV1JJVEVfT05DRShiYWNrdXBfc2xvdC0+YWRkciwgc2xvdC0+YWRkcik7Ci0JCS8qCi0J CSAqIHN0b3JlLXJlbGVhc2Ugb3JkZXJzIHN0b3JlIHRvIGJhY2t1cCBzbG90IGFkZHIgYmVmb3Jl Ci0JCSAqIHN0b3JlIHRvIHBlci1DUFUgc2xvdCBhZGRyLgotCQkgKi8KLQkJc21wX3N0b3JlX3Jl bGVhc2UoJnNsb3QtPmFkZHIsIE5VTEwpOwotCQkvKiBVc2UgdGhlIGJhY2t1cCBzbG90IGZvciBj b250ZXh0LiAqLwotCQljdHgtPnNsb3QgPSBiYWNrdXBfc2xvdDsKKwkJaGF6cHRyX3Byb21vdGVf dG9fYmFja3VwX3Nsb3QoaXRlbS0+Y3R4LmN0eCwgc2xvdCk7CiAJfQogfQogCmRpZmYgLS1naXQg YS9rZXJuZWwvcmN1L2hhenB0cnRvcnR1cmUuYyBiL2tlcm5lbC9yY3UvaGF6cHRydG9ydHVyZS5j CmluZGV4IDMxMWIzODdkNmFlNy4uOTNiMzgzODg3ZmM1IDEwMDY0NAotLS0gYS9rZXJuZWwvcmN1 L2hhenB0cnRvcnR1cmUuYworKysgYi9rZXJuZWwvcmN1L2hhenB0cnRvcnR1cmUuYwpAQCAtNDI3 LDYgKzQyNyw3IEBAIHN0YXRpYyB2b2lkIGhhenB0cl90b3J0dXJlX2RlZmVyKHN0cnVjdCBoYXpw dHJfcGVuZGluZyAqaHBwcCwgc3RydWN0IHRvcnR1cmVfcmFuCiAJaW50IGNwdSA9IHRvcnR1cmVf cmFuZG9tKHRyc3ApICUgbnJfY3B1X2lkczsKIAlzdHJ1Y3QgbGxpc3RfaGVhZCAqbGxocDsKIAor CWhhenB0cl9kZXRhY2hfZnJvbV90YXNrKCZocHBwLT5ocHBfaGMpOwogCWd1YXJkKHByZWVtcHQp KCk7CiAJY3B1ID0gY3B1bWFza19uZXh0X3dyYXAoY3B1LCBjcHVfb25saW5lX21hc2spOwogCWxs aHAgPSBwZXJfY3B1X3B0cigmaGF6cHRyX3BlbmRpbmcsIGNwdSk7Cg== --------------CXo5XwUxNvWM6vR25f2HXoDU--