Received: by 2002:ab2:1689:0:b0:1f7:5705:b850 with SMTP id d9csp1842844lqa; Tue, 30 Apr 2024 00:15:48 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXZ0ikMrVBw6mGj5Dq9HASduoXjLmynCl7mlN/WZ22dG83+k4GChfVp0gOOr/0ViO2HJMw9U9/6Inhsbpv/Ym549ei/r4vnqptxhbgnpQ== X-Google-Smtp-Source: AGHT+IH3sUSmw3RT8YSKhPbo/eK0EXC7yIriWVEneDb1L281zxbN4+snYSBo5g8o0Tvp2c9suSNJ X-Received: by 2002:a50:99db:0:b0:572:9dbf:1de5 with SMTP id n27-20020a5099db000000b005729dbf1de5mr288173edb.40.1714461348423; Tue, 30 Apr 2024 00:15:48 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714461348; cv=pass; d=google.com; s=arc-20160816; b=VNLg/RfGua14xFdUHhcx4Bgx632KhqsjRC5Iddm4ujCLjfbrpw+JpsKXBdGVDQfLpj BxSQvc8452zcp7DFj+DLnUFcIDbguOEm7aZL2Fc4cib4AS3PhL7ScMBboN9LogTCHRIi MBseuLd4r2GyS/sa5LROeUm9xkVO3aMjUgOI8Q3ZFP7R4Pdg7R3kE9n2UgUdOQ18MyAx sUnHQ1DAwLBWvJwVbdHaCQnCqEZJvn0gVcXOWGzj76zKNKCRVDOVxbd4cNt8g9JPdnsh jxTZvPlCy3++RyFxO8g/nx01MAR0ua73a7TrSAqhuL8H+QHEqkr+v8cdTPFwm+F55wdP cYsg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:content-language:accept-language :in-reply-to:references:message-id:date:thread-index:thread-topic :subject:cc:to:from; bh=vpiLrtoA8Clxum6XMseE7kszP5lb19KSUPU8G9SIgN0=; fh=+vMDCExr/UNjANwo2oneyUdge/pqezc4aCJkx/G53Ng=; b=ye2yth3p8cXLO+KByGB5oW8jsv399BYvGRZJLyvKUuCXJl79gdA5bZb/ALCPE9bMe/ MzHYyjbP0ijWw15wgXf7Od/70b8gCsrKJEje8DfKgVhVek2R8CdFEavlaA5IXVXoLFo4 NoMHnWAC3PrOu+7xhn/TMnyNVhXmg2Hth0u7A/ylU46Z4UYlZboRYxYfmJffzh/M8d9l Q0g/BVeZM/InF96O3CTyAtJILy3j4IGiwovfPxHBMkEVFI7FETTAWG6crUkdrF/tjX0W +8YI9RMfMRvpOOuGrBRAGs2B/cWkgzFVLRUpX8GI0fYNLRKf5rm0PcGtMTJ5Sd61kkCx XjwA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=unisoc.com); spf=pass (google.com: domain of linux-kernel+bounces-163456-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-163456-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id t15-20020a50d70f000000b005727d5b1bc1si2653273edi.637.2024.04.30.00.15.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Apr 2024 00:15:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-163456-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=unisoc.com); spf=pass (google.com: domain of linux-kernel+bounces-163456-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-163456-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 007B41F22B4F for ; Tue, 30 Apr 2024 07:15:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 89DD337719; Tue, 30 Apr 2024 07:15:41 +0000 (UTC) Received: from SHSQR01.spreadtrum.com (unknown [222.66.158.135]) (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 DEF981C291 for ; Tue, 30 Apr 2024 07:15:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=222.66.158.135 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714461340; cv=none; b=M7XAaDVqy+7xyeJcYdQTmLD/J30fqqyiCzCpH+qkUK/6SHI5Eia4e+LwkiWPiHsarHHLXRs1Eso487u+hGOSez3LzcxOb7fiVyePMvch3DzyHvQnwpFw01YcQxDyG/G3zTMOeelttGFdtpPwDkTa5GKxuRY7FFt5fTujdDyPmtk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714461340; c=relaxed/simple; bh=vpiLrtoA8Clxum6XMseE7kszP5lb19KSUPU8G9SIgN0=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=QU+QukAA3aYum6mnkKL8Roeez2xDvJEGVJuALj2SIKM5/qRN1uSg2FiPv9vheONQh1u3mwmRyrs2Q3v3hgQrTNIXgFf2bxfR2PTHAELBK2HOuA3+UEZTeRuMakkpvyxcwgVwl4JR3E1znE7mFpZGLWahzHHB43bAisJIvIALUNg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com; spf=pass smtp.mailfrom=unisoc.com; arc=none smtp.client-ip=222.66.158.135 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=unisoc.com Received: from dlp.unisoc.com ([10.29.3.86]) by SHSQR01.spreadtrum.com with ESMTP id 43U7FCBV023552; Tue, 30 Apr 2024 15:15:12 +0800 (+08) (envelope-from Zhiguo.Niu@unisoc.com) Received: from SHDLP.spreadtrum.com (bjmbx02.spreadtrum.com [10.0.64.8]) by dlp.unisoc.com (SkyGuard) with ESMTPS id 4VTBGJ2hWzz2P4QcL; Tue, 30 Apr 2024 15:12:08 +0800 (CST) Received: from BJMBX02.spreadtrum.com (10.0.64.8) by BJMBX02.spreadtrum.com (10.0.64.8) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Tue, 30 Apr 2024 15:14:55 +0800 Received: from BJMBX02.spreadtrum.com ([fe80::c8c3:f3a0:9c9f:b0fb]) by BJMBX02.spreadtrum.com ([fe80::c8c3:f3a0:9c9f:b0fb%19]) with mapi id 15.00.1497.023; Tue, 30 Apr 2024 15:14:55 +0800 From: =?utf-8?B?54mb5b+X5Zu9IChaaGlndW8gTml1KQ==?= To: Carlos Llamas , Peter Zijlstra , Ingo Molnar , Will Deacon , Waiman Long , Boqun Feng , Bart Van Assche CC: "linux-kernel@vger.kernel.org" , "kernel-team@android.com" , "stable@vger.kernel.org" , =?utf-8?B?6Zer5a2m5paHIChYdWV3ZW4gWWFuKQ==?= , Ingo Molnar Subject: =?utf-8?B?562U5aSNOiBbUEFUQ0ggdjQgUkVTRU5EXSBsb2NrZGVwOiBmaXggZGVhZGxv?= =?utf-8?Q?ck_issue_between_lockdep_and_rcu?= Thread-Topic: [PATCH v4 RESEND] lockdep: fix deadlock issue between lockdep and rcu Thread-Index: AQHakRNq1uHIPB8QHkOifECnk9qXgbGAeTSg Date: Tue, 30 Apr 2024 07:14:54 +0000 Message-ID: References: <20240417220534.1370087-1-cmllamas@google.com> In-Reply-To: <20240417220534.1370087-1-cmllamas@google.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MAIL:SHSQR01.spreadtrum.com 43U7FCBV023552 UGluZy4uLi4uDQoNCkhpIENhcmxvcyBMbGFtYXMsDQpJZiB0aGVyZSBpcyBubyBtYWludGFpbmVy IGhlbHAgdG8gbWVyZ2UgdGhpcyBwYXRjaCwgd2UgcGxhbiB0byB1cHN0cmVhbSBpdCB0byBnb29n bGUga2VybmVsLiANCkhvdyBhYm91dCB5b3VyIG9waW5pb25zPw0KVGhhbmtzIA0KDQotLS0tLemC ruS7tuWOn+S7ti0tLS0tDQrlj5Hku7bkuro6IENhcmxvcyBMbGFtYXMgPGNtbGxhbWFzQGdvb2ds ZS5jb20+IA0K5Y+R6YCB5pe26Ze0OiAyMDI05bm0NOaciDE45pelIDY6MDYNCuaUtuS7tuS6ujog UGV0ZXIgWmlqbHN0cmEgPHBldGVyekBpbmZyYWRlYWQub3JnPjsgSW5nbyBNb2xuYXIgPG1pbmdv QHJlZGhhdC5jb20+OyBXaWxsIERlYWNvbiA8d2lsbEBrZXJuZWwub3JnPjsgV2FpbWFuIExvbmcg PGxvbmdtYW5AcmVkaGF0LmNvbT47IEJvcXVuIEZlbmcgPGJvcXVuLmZlbmdAZ21haWwuY29tPjsg QmFydCBWYW4gQXNzY2hlIDxidmFuYXNzY2hlQGFjbS5vcmc+DQrmioTpgIE6IGxpbnV4LWtlcm5l bEB2Z2VyLmtlcm5lbC5vcmc7IGtlcm5lbC10ZWFtQGFuZHJvaWQuY29tOyDniZvlv5flm70gKFpo aWd1byBOaXUpIDxaaGlndW8uTml1QHVuaXNvYy5jb20+OyBzdGFibGVAdmdlci5rZXJuZWwub3Jn OyBDYXJsb3MgTGxhbWFzIDxjbWxsYW1hc0Bnb29nbGUuY29tPjsg6Zer5a2m5paHIChYdWV3ZW4g WWFuKSA8WHVld2VuLllhbkB1bmlzb2MuY29tPjsgSW5nbyBNb2xuYXIgPG1pbmdvQGtlcm5lbC5v cmc+DQrkuLvpopg6IFtQQVRDSCB2NCBSRVNFTkRdIGxvY2tkZXA6IGZpeCBkZWFkbG9jayBpc3N1 ZSBiZXR3ZWVuIGxvY2tkZXAgYW5kIHJjdQ0KDQoNCuazqOaEjzog6L+Z5bCB6YKu5Lu25p2l6Ieq 5LqO5aSW6YOo44CC6Zmk6Z2e5L2g56Gu5a6a6YKu5Lu25YaF5a655a6J5YWo77yM5ZCm5YiZ5LiN 6KaB54K55Ye75Lu75L2V6ZO+5o6l5ZKM6ZmE5Lu244CCDQpDQVVUSU9OOiBUaGlzIGVtYWlsIG9y aWdpbmF0ZWQgZnJvbSBvdXRzaWRlIG9mIHRoZSBvcmdhbml6YXRpb24uIERvIG5vdCBjbGljayBs aW5rcyBvciBvcGVuIGF0dGFjaG1lbnRzIHVubGVzcyB5b3UgcmVjb2duaXplIHRoZSBzZW5kZXIg YW5kIGtub3cgdGhlIGNvbnRlbnQgaXMgc2FmZS4NCg0KDQoNCkZyb206IFpoaWd1byBOaXUgPHpo aWd1by5uaXVAdW5pc29jLmNvbT4NCg0KVGhlcmUgaXMgYSBkZWFkbG9jayBzY2VuYXJpbyBiZXR3 ZWVuIGxvY2tkZXAgYW5kIHJjdSB3aGVuIHJjdSBub2NiIGZlYXR1cmUgaXMgZW5hYmxlZCwganVz dCBhcyBmb2xsb3dpbmcgY2FsbCBzdGFjazoNCg0KICAgICByY3VvcC94DQotMDAwfHF1ZXVlZF9z cGluX2xvY2tfc2xvd3BhdGgobG9jayA9IDB4RkZGRkZGODE3RjJBOEE4MCwgdmFsID0gPykNCi0w MDF8cXVldWVkX3NwaW5fbG9jayhpbmxpbmUpIC8vIHRyeSB0byBob2xkIG5vY2JfZ3BfbG9jayAN Ci0wMDF8ZG9fcmF3X3NwaW5fbG9jayhsb2NrID0gMHhGRkZGRkY4MTdGMkE4QTgwKQ0KLTAwMnxf X3Jhd19zcGluX2xvY2tfaXJxc2F2ZShpbmxpbmUpDQotMDAyfF9yYXdfc3Bpbl9sb2NrX2lycXNh dmUobG9jayA9IDB4RkZGRkZGODE3RjJBOEE4MCkNCi0wMDN8d2FrZV9ub2NiX2dwX2RlZmVyKGlu bGluZSkNCi0wMDN8X19jYWxsX3JjdV9ub2NiX3dha2UocmRwID0gMHhGRkZGRkY4MTdGMzBCNjgw KQ0KLTAwNHxfX2NhbGxfcmN1X2NvbW1vbihpbmxpbmUpDQotMDA0fGNhbGxfcmN1KGhlYWQgPSAw eEZGRkZGRkMwODJFRUNDMjgsIGZ1bmMgPSA/KQ0KLTAwNXxjYWxsX3JjdV96YXBwZWQoaW5saW5l KQ0KLTAwNXxmcmVlX3phcHBlZF9yY3UoY2ggPSA/KS8vIGhvbGQgZ3JhcGggbG9jaw0KLTAwNnxy Y3VfZG9fYmF0Y2gocmRwID0gMHhGRkZGRkY4MTdGMjQ1NjgwKQ0KLTAwN3xub2NiX2NiX3dhaXQo aW5saW5lKQ0KLTAwN3xyY3Vfbm9jYl9jYl9rdGhyZWFkKGFyZyA9IDB4RkZGRkZGODE3RjI0NTY4 MCkNCi0wMDh8a3RocmVhZChfY3JlYXRlID0gMHhGRkZGRkY4MDgwMzEyMkMwKQ0KLTAwOXxyZXRf ZnJvbV9mb3JrKGFzbSkNCg0KICAgICByY3VvcC95DQotMDAwfHF1ZXVlZF9zcGluX2xvY2tfc2xv d3BhdGgobG9jayA9IDB4RkZGRkZGQzA4MjkxQkJDOCwgdmFsID0gMCkNCi0wMDF8cXVldWVkX3Nw aW5fbG9jaygpDQotMDAxfGxvY2tkZXBfbG9jaygpDQotMDAxfGdyYXBoX2xvY2soKSAvLyB0cnkg dG8gaG9sZCBncmFwaCBsb2NrDQotMDAyfGxvb2t1cF9jaGFpbl9jYWNoZV9hZGQoKQ0KLTAwMnx2 YWxpZGF0ZV9jaGFpbigpDQotMDAzfGxvY2tfYWNxdWlyZQ0KLTAwNHxfcmF3X3NwaW5fbG9ja19p cnFzYXZlKGxvY2sgPSAweEZGRkZGRjgxN0YyMTFEODApDQotMDA1fGxvY2tfdGltZXJfYmFzZShp bmxpbmUpDQotMDA2fG1vZF90aW1lcihpbmxpbmUpDQotMDA2fHdha2Vfbm9jYl9ncF9kZWZlcihp bmxpbmUpLy8gaG9sZCBub2NiX2dwX2xvY2sgDQotMDA2fF9fY2FsbF9yY3Vfbm9jYl93YWtlKHJk cCA9IDB4RkZGRkZGODE3RjJBODY4MCkNCi0wMDd8X19jYWxsX3JjdV9jb21tb24oaW5saW5lKQ0K LTAwN3xjYWxsX3JjdShoZWFkID0gMHhGRkZGRkZDMDgyMkUwQjU4LCBmdW5jID0gPykNCi0wMDh8 Y2FsbF9yY3VfaHVycnkoaW5saW5lKQ0KLTAwOHxyY3Vfc3luY19jYWxsKGlubGluZSkNCi0wMDh8 cmN1X3N5bmNfZnVuYyhyaHAgPSAweEZGRkZGRkMwODIyRTBCNTgpDQotMDA5fHJjdV9kb19iYXRj aChyZHAgPSAweEZGRkZGRjgxN0YyNjY2ODApDQotMDEwfG5vY2JfY2Jfd2FpdChpbmxpbmUpDQot MDEwfHJjdV9ub2NiX2NiX2t0aHJlYWQoYXJnID0gMHhGRkZGRkY4MTdGMjY2NjgwKQ0KLTAxMXxr dGhyZWFkKF9jcmVhdGUgPSAweEZGRkZGRjgwODAzNjM3NDApDQotMDEyfHJldF9mcm9tX2Zvcmso YXNtKQ0KDQpyY3VvcC94IGFuZCByY3VvcC95IGFyZSByY3Ugbm9jYiB0aHJlYWRzIHdpdGggdGhl IHNhbWUgbm9jYiBncCB0aHJlYWQuDQpUaGlzIHBhdGNoIHJlbGVhc2UgdGhlIGdyYXBoIGxvY2sg YmVmb3JlIGxvY2tkZXAgY2FsbF9yY3UuDQoNCkZpeGVzOiBhMGIwZmQ1M2UxZTYgKCJsb2NraW5n L2xvY2tkZXA6IEZyZWUgbG9jayBjbGFzc2VzIHRoYXQgYXJlIG5vIGxvbmdlciBpbiB1c2UiKQ0K Q2M6ICA8c3RhYmxlQHZnZXIua2VybmVsLm9yZz4NCkNjOiBCb3F1biBGZW5nIDxib3F1bi5mZW5n QGdtYWlsLmNvbT4NCkNjOiBXYWltYW4gTG9uZyA8bG9uZ21hbkByZWRoYXQuY29tPg0KQ2M6IENh cmxvcyBMbGFtYXMgPGNtbGxhbWFzQGdvb2dsZS5jb20+DQpDYzogQmFydCBWYW4gQXNzY2hlIDxi dmFuYXNzY2hlQGFjbS5vcmc+DQpTaWduZWQtb2ZmLWJ5OiBaaGlndW8gTml1IDx6aGlndW8ubml1 QHVuaXNvYy5jb20+DQpTaWduZWQtb2ZmLWJ5OiBYdWV3ZW4gWWFuIDx4dWV3ZW4ueWFuQHVuaXNv Yy5jb20+DQpSZXZpZXdlZC1ieTogQm9xdW4gRmVuZyA8Ym9xdW4uZmVuZ0BnbWFpbC5jb20+DQpS ZXZpZXdlZC1ieTogV2FpbWFuIExvbmcgPGxvbmdtYW5AcmVkaGF0LmNvbT4NClJldmlld2VkLWJ5 OiBDYXJsb3MgTGxhbWFzIDxjbWxsYW1hc0Bnb29nbGUuY29tPg0KUmV2aWV3ZWQtYnk6IEJhcnQg VmFuIEFzc2NoZSA8YnZhbmFzc2NoZUBhY20ub3JnPg0KLS0tDQoga2VybmVsL2xvY2tpbmcvbG9j a2RlcC5jIHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQ0KIDEg ZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkNCg0KZGlmZiAt LWdpdCBhL2tlcm5lbC9sb2NraW5nL2xvY2tkZXAuYyBiL2tlcm5lbC9sb2NraW5nL2xvY2tkZXAu YyBpbmRleCAxNTFiZDNkZTU5MzYuLjM0NjhkODIzMGU1ZiAxMDA2NDQNCi0tLSBhL2tlcm5lbC9s b2NraW5nL2xvY2tkZXAuYw0KKysrIGIva2VybmVsL2xvY2tpbmcvbG9ja2RlcC5jDQpAQCAtNjE4 NCwyNSArNjE4NCwyNyBAQCBzdGF0aWMgc3RydWN0IHBlbmRpbmdfZnJlZSAqZ2V0X3BlbmRpbmdf ZnJlZSh2b2lkKSAgc3RhdGljIHZvaWQgZnJlZV96YXBwZWRfcmN1KHN0cnVjdCByY3VfaGVhZCAq Y2IpOw0KDQogLyoNCi0gKiBTY2hlZHVsZSBhbiBSQ1UgY2FsbGJhY2sgaWYgbm8gUkNVIGNhbGxi YWNrIGlzIHBlbmRpbmcuIE11c3QgYmUgY2FsbGVkIHdpdGgNCi0gKiB0aGUgZ3JhcGggbG9jayBo ZWxkLg0KLSAqLw0KLXN0YXRpYyB2b2lkIGNhbGxfcmN1X3phcHBlZChzdHJ1Y3QgcGVuZGluZ19m cmVlICpwZikNCisqIFNlZSBpZiB3ZSBuZWVkIHRvIHF1ZXVlIGFuIFJDVSBjYWxsYmFjaywgbXVz dCBjYWxsZWQgd2l0aA0KKyogdGhlIGxvY2tkZXAgbG9jayBoZWxkLCByZXR1cm5zIGZhbHNlIGlm IGVpdGhlciB3ZSBkb24ndCBoYXZlDQorKiBhbnkgcGVuZGluZyBmcmVlIG9yIHRoZSBjYWxsYmFj ayBpcyBhbHJlYWR5IHNjaGVkdWxlZC4NCisqIE90aGVyd2lzZSwgYSBjYWxsX3JjdSgpIG11c3Qg Zm9sbG93IHRoaXMgZnVuY3Rpb24gY2FsbC4NCisqLw0KK3N0YXRpYyBib29sIHByZXBhcmVfY2Fs bF9yY3VfemFwcGVkKHN0cnVjdCBwZW5kaW5nX2ZyZWUgKnBmKQ0KIHsNCiAgICAgICAgV0FSTl9P Tl9PTkNFKGluc2lkZV9zZWxmdGVzdCgpKTsNCg0KICAgICAgICBpZiAobGlzdF9lbXB0eSgmcGYt PnphcHBlZCkpDQotICAgICAgICAgICAgICAgcmV0dXJuOw0KKyAgICAgICAgICAgICAgIHJldHVy biBmYWxzZTsNCg0KICAgICAgICBpZiAoZGVsYXllZF9mcmVlLnNjaGVkdWxlZCkNCi0gICAgICAg ICAgICAgICByZXR1cm47DQorICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KDQogICAgICAg IGRlbGF5ZWRfZnJlZS5zY2hlZHVsZWQgPSB0cnVlOw0KDQogICAgICAgIFdBUk5fT05fT05DRShk ZWxheWVkX2ZyZWUucGYgKyBkZWxheWVkX2ZyZWUuaW5kZXggIT0gcGYpOw0KICAgICAgICBkZWxh eWVkX2ZyZWUuaW5kZXggXj0gMTsNCg0KLSAgICAgICBjYWxsX3JjdSgmZGVsYXllZF9mcmVlLnJj dV9oZWFkLCBmcmVlX3phcHBlZF9yY3UpOw0KKyAgICAgICByZXR1cm4gdHJ1ZTsNCiB9DQoNCiAv KiBUaGUgY2FsbGVyIG11c3QgaG9sZCB0aGUgZ3JhcGggbG9jay4gTWF5IGJlIGNhbGxlZCBmcm9t IFJDVSBjb250ZXh0LiAqLyBAQCAtNjIyOCw2ICs2MjMwLDcgQEAgc3RhdGljIHZvaWQgZnJlZV96 YXBwZWRfcmN1KHN0cnVjdCByY3VfaGVhZCAqY2gpICB7DQogICAgICAgIHN0cnVjdCBwZW5kaW5n X2ZyZWUgKnBmOw0KICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOw0KKyAgICAgICBib29sIG5l ZWRfY2FsbGJhY2s7DQoNCiAgICAgICAgaWYgKFdBUk5fT05fT05DRShjaCAhPSAmZGVsYXllZF9m cmVlLnJjdV9oZWFkKSkNCiAgICAgICAgICAgICAgICByZXR1cm47DQpAQCAtNjIzOSwxNCArNjI0 MiwxOCBAQCBzdGF0aWMgdm9pZCBmcmVlX3phcHBlZF9yY3Uoc3RydWN0IHJjdV9oZWFkICpjaCkN CiAgICAgICAgcGYgPSBkZWxheWVkX2ZyZWUucGYgKyAoZGVsYXllZF9mcmVlLmluZGV4IF4gMSk7 DQogICAgICAgIF9fZnJlZV96YXBwZWRfY2xhc3NlcyhwZik7DQogICAgICAgIGRlbGF5ZWRfZnJl ZS5zY2hlZHVsZWQgPSBmYWxzZTsNCisgICAgICAgbmVlZF9jYWxsYmFjayA9DQorICAgICAgICAg ICAgICAgcHJlcGFyZV9jYWxsX3JjdV96YXBwZWQoZGVsYXllZF9mcmVlLnBmICsgZGVsYXllZF9m cmVlLmluZGV4KTsNCisgICAgICAgbG9ja2RlcF91bmxvY2soKTsNCisgICAgICAgcmF3X2xvY2Fs X2lycV9yZXN0b3JlKGZsYWdzKTsNCg0KICAgICAgICAvKg0KLSAgICAgICAgKiBJZiB0aGVyZSdz IGFueXRoaW5nIG9uIHRoZSBvcGVuIGxpc3QsIGNsb3NlIGFuZCBzdGFydCBhIG5ldyBjYWxsYmFj ay4NCi0gICAgICAgICovDQotICAgICAgIGNhbGxfcmN1X3phcHBlZChkZWxheWVkX2ZyZWUucGYg KyBkZWxheWVkX2ZyZWUuaW5kZXgpOw0KKyAgICAgICAqIElmIHRoZXJlJ3MgcGVuZGluZyBmcmVl IGFuZCBpdHMgY2FsbGJhY2sgaGFzIG5vdCBiZWVuIHNjaGVkdWxlZCwNCisgICAgICAgKiBxdWV1 ZSBhbiBSQ1UgY2FsbGJhY2suDQorICAgICAgICovDQorICAgICAgIGlmIChuZWVkX2NhbGxiYWNr KQ0KKyAgICAgICAgICAgICAgIGNhbGxfcmN1KCZkZWxheWVkX2ZyZWUucmN1X2hlYWQsIGZyZWVf emFwcGVkX3JjdSk7DQoNCi0gICAgICAgbG9ja2RlcF91bmxvY2soKTsNCi0gICAgICAgcmF3X2xv Y2FsX2lycV9yZXN0b3JlKGZsYWdzKTsNCiB9DQoNCiAvKg0KQEAgLTYyODYsNiArNjI5Myw3IEBA IHN0YXRpYyB2b2lkIGxvY2tkZXBfZnJlZV9rZXlfcmFuZ2VfcmVnKHZvaWQgKnN0YXJ0LCB1bnNp Z25lZCBsb25nIHNpemUpICB7DQogICAgICAgIHN0cnVjdCBwZW5kaW5nX2ZyZWUgKnBmOw0KICAg ICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOw0KKyAgICAgICBib29sIG5lZWRfY2FsbGJhY2s7DQoN CiAgICAgICAgaW5pdF9kYXRhX3N0cnVjdHVyZXNfb25jZSgpOw0KDQpAQCAtNjI5MywxMCArNjMw MSwxMSBAQCBzdGF0aWMgdm9pZCBsb2NrZGVwX2ZyZWVfa2V5X3JhbmdlX3JlZyh2b2lkICpzdGFy dCwgdW5zaWduZWQgbG9uZyBzaXplKQ0KICAgICAgICBsb2NrZGVwX2xvY2soKTsNCiAgICAgICAg cGYgPSBnZXRfcGVuZGluZ19mcmVlKCk7DQogICAgICAgIF9fbG9ja2RlcF9mcmVlX2tleV9yYW5n ZShwZiwgc3RhcnQsIHNpemUpOw0KLSAgICAgICBjYWxsX3JjdV96YXBwZWQocGYpOw0KKyAgICAg ICBuZWVkX2NhbGxiYWNrID0gcHJlcGFyZV9jYWxsX3JjdV96YXBwZWQocGYpOw0KICAgICAgICBs b2NrZGVwX3VubG9jaygpOw0KICAgICAgICByYXdfbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOw0K LQ0KKyAgICAgICBpZiAobmVlZF9jYWxsYmFjaykNCisgICAgICAgICAgICAgICBjYWxsX3JjdSgm ZGVsYXllZF9mcmVlLnJjdV9oZWFkLCBmcmVlX3phcHBlZF9yY3UpOw0KICAgICAgICAvKg0KICAg ICAgICAgKiBXYWl0IGZvciBhbnkgcG9zc2libGUgaXRlcmF0b3JzIGZyb20gbG9va191cF9sb2Nr X2NsYXNzKCkgdG8gcGFzcw0KICAgICAgICAgKiBiZWZvcmUgY29udGludWluZyB0byBmcmVlIHRo ZSBtZW1vcnkgdGhleSByZWZlciB0by4NCkBAIC02MzkwLDYgKzYzOTksNyBAQCBzdGF0aWMgdm9p ZCBsb2NrZGVwX3Jlc2V0X2xvY2tfcmVnKHN0cnVjdCBsb2NrZGVwX21hcCAqbG9jaykNCiAgICAg ICAgc3RydWN0IHBlbmRpbmdfZnJlZSAqcGY7DQogICAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7 DQogICAgICAgIGludCBsb2NrZWQ7DQorICAgICAgIGJvb2wgbmVlZF9jYWxsYmFjayA9IGZhbHNl Ow0KDQogICAgICAgIHJhd19sb2NhbF9pcnFfc2F2ZShmbGFncyk7DQogICAgICAgIGxvY2tlZCA9 IGdyYXBoX2xvY2soKTsNCkBAIC02Mzk4LDExICs2NDA4LDEzIEBAIHN0YXRpYyB2b2lkIGxvY2tk ZXBfcmVzZXRfbG9ja19yZWcoc3RydWN0IGxvY2tkZXBfbWFwICpsb2NrKQ0KDQogICAgICAgIHBm ID0gZ2V0X3BlbmRpbmdfZnJlZSgpOw0KICAgICAgICBfX2xvY2tkZXBfcmVzZXRfbG9jayhwZiwg bG9jayk7DQotICAgICAgIGNhbGxfcmN1X3phcHBlZChwZik7DQorICAgICAgIG5lZWRfY2FsbGJh Y2sgPSBwcmVwYXJlX2NhbGxfcmN1X3phcHBlZChwZik7DQoNCiAgICAgICAgZ3JhcGhfdW5sb2Nr KCk7DQogb3V0X2lycToNCiAgICAgICAgcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsNCisg ICAgICAgaWYgKG5lZWRfY2FsbGJhY2spDQorICAgICAgICAgICAgICAgY2FsbF9yY3UoJmRlbGF5 ZWRfZnJlZS5yY3VfaGVhZCwgZnJlZV96YXBwZWRfcmN1KTsNCiB9DQoNCiAvKg0KQEAgLTY0NDYs NiArNjQ1OCw3IEBAIHZvaWQgbG9ja2RlcF91bnJlZ2lzdGVyX2tleShzdHJ1Y3QgbG9ja19jbGFz c19rZXkgKmtleSkNCiAgICAgICAgc3RydWN0IHBlbmRpbmdfZnJlZSAqcGY7DQogICAgICAgIHVu c2lnbmVkIGxvbmcgZmxhZ3M7DQogICAgICAgIGJvb2wgZm91bmQgPSBmYWxzZTsNCisgICAgICAg Ym9vbCBuZWVkX2NhbGxiYWNrID0gZmFsc2U7DQoNCiAgICAgICAgbWlnaHRfc2xlZXAoKTsNCg0K QEAgLTY0NjYsMTEgKzY0NzksMTQgQEAgdm9pZCBsb2NrZGVwX3VucmVnaXN0ZXJfa2V5KHN0cnVj dCBsb2NrX2NsYXNzX2tleSAqa2V5KQ0KICAgICAgICBpZiAoZm91bmQpIHsNCiAgICAgICAgICAg ICAgICBwZiA9IGdldF9wZW5kaW5nX2ZyZWUoKTsNCiAgICAgICAgICAgICAgICBfX2xvY2tkZXBf ZnJlZV9rZXlfcmFuZ2UocGYsIGtleSwgMSk7DQotICAgICAgICAgICAgICAgY2FsbF9yY3VfemFw cGVkKHBmKTsNCisgICAgICAgICAgICAgICBuZWVkX2NhbGxiYWNrID0gcHJlcGFyZV9jYWxsX3Jj dV96YXBwZWQocGYpOw0KICAgICAgICB9DQogICAgICAgIGxvY2tkZXBfdW5sb2NrKCk7DQogICAg ICAgIHJhd19sb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7DQoNCisgICAgICAgaWYgKG5lZWRfY2Fs bGJhY2spDQorICAgICAgICAgICAgICAgY2FsbF9yY3UoJmRlbGF5ZWRfZnJlZS5yY3VfaGVhZCwg ZnJlZV96YXBwZWRfcmN1KTsNCisNCiAgICAgICAgLyogV2FpdCB1bnRpbCBpc19keW5hbWljX2tl eSgpIGhhcyBmaW5pc2hlZCBhY2Nlc3Npbmcgay0+aGFzaF9lbnRyeS4gKi8NCiAgICAgICAgc3lu Y2hyb25pemVfcmN1KCk7DQogfQ0KLS0NCjIuNDQuMC42ODMuZzc5NjFjODM4YWMtZ29vZw0KDQo=