Received: by 2002:a05:7412:f589:b0:e2:908c:2ebd with SMTP id eh9csp48567rdb; Mon, 30 Oct 2023 23:19:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE98Yexoq56xssjYuto6mJ7gu50anlrIiGHsMzyfyHcpQ4WJDKj0CC48WqpQCb2kt3nWHMO X-Received: by 2002:a17:907:26c4:b0:9b2:aa2f:ab69 with SMTP id bp4-20020a17090726c400b009b2aa2fab69mr9363167ejc.30.1698733146032; Mon, 30 Oct 2023 23:19:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1698733146; cv=pass; d=google.com; s=arc-20160816; b=zy+ASOvwwdAov/MPDboV/RNcYK5IehUxLI12zHozBLCyq04LbMNnymwhC/qlniS30C 2rwEimvfowhPIoBOGxxOQ82vs1/5pRYQuLdvPsjdJXh9mtqBLHEGz6w66+1XYSW5RvGZ pZHC5xDRrUhT8T3ZoR3U+gZ+HEIi5RaXYUfPRY0yivN0Y1QSNjbl1KL0Po6ymGjXnffu BeazOiUZBM6wrrUwP3Hp3yiRwYZYsW3TiGutpCnBmRP575vplPGpCQRKtY2MADNdPHRy kqvWWsNxDi50BoRCPp5zWxYqwKOZ1mVS5+TCeijcT0LZy/4KPYS6UZ7w4Me0eag0kaMw h1cA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature:dkim-signature; bh=Tps9Gek2eeQ8jMGnTFuIuECz5DeXtwoGU7jGtAyzPiY=; fh=tgIY8oRXS3uMkOvtHNFvTzLA+sbYgXh1kF6gggA4mYM=; b=bQXLwLyTLypfzZvuVq2AHZHJkuKvl49c9ONDdpZvdUoT3bdoOpDDQwXk+Qvnecb2jZ /uBw4pQTBsLxyjSMsDVKu9RGRhMlWO/bbyM0UCDKAa8EBzsFTYaKMVOjHovVdUjn1wj1 c3vy34x9pTpKfc5ojWlMIHnzYJcpMw9VqnxfGBKjgP/78TPceMwKOdB6nvc50/CVlRSr rpBUIwJ9WeyXVVaCf5yrTzDjcQ0BnIyYFv05GWKYGJkYayoBKQNuHN74Jr1GCotwJBn+ E/mbIVn/JBLJZsmrhaNJq0uxaYjUUGqa/jw20Qq3L1QRydquBQzCry2qYJTx2X2A/MGO aVFg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=MiIKBD6W; dkim=pass header.i=@mediateko365.onmicrosoft.com header.s=selector2-mediateko365-onmicrosoft-com header.b=ayw6tqR+; arc=pass (i=1 spf=pass spfdomain=mediatek.com dkim=pass dkdomain=mediatek.com dmarc=pass fromdomain=mediatek.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id js22-20020a17090797d600b00992969da8d7si267625ejc.373.2023.10.30.23.19.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Oct 2023 23:19:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=MiIKBD6W; dkim=pass header.i=@mediateko365.onmicrosoft.com header.s=selector2-mediateko365-onmicrosoft-com header.b=ayw6tqR+; arc=pass (i=1 spf=pass spfdomain=mediatek.com dkim=pass dkdomain=mediatek.com dmarc=pass fromdomain=mediatek.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 79894805F099; Mon, 30 Oct 2023 23:17:46 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235998AbjJaGRm (ORCPT + 99 others); Tue, 31 Oct 2023 02:17:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236045AbjJaGRk (ORCPT ); Tue, 31 Oct 2023 02:17:40 -0400 Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E3B2B130; Mon, 30 Oct 2023 23:17:29 -0700 (PDT) X-UUID: 0a69e16277b311ee8051498923ad61e6-20231031 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=MIME-Version:Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From; bh=Tps9Gek2eeQ8jMGnTFuIuECz5DeXtwoGU7jGtAyzPiY=; b=MiIKBD6W2xwmRvG+bUA7vrxLU4YQCyq7qUAPvdRJj1X9wFXTcKvzZhxOEpa2+pYjcAxb3dvSG6s2DCQJnuwkgiuv1EdF0a8YGqxmPVlrn6D5fpuhArodyX+I282K4lgecspHB6zBXBT0DcjrTrS9ThmTj+8PSBgFuLHTLc6mafY=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.33,REQID:f2c9df3f-e2ac-4cd3-9566-bfd093d32e80,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:364b77b,CLOUDID:d6d3f7fb-4a48-46e2-b946-12f04f20af8c,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:11|1,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1,SPR: NO,DKR:0,DKP:0,BRR:0,BRE:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_ULN X-UUID: 0a69e16277b311ee8051498923ad61e6-20231031 Received: from mtkmbs10n2.mediatek.inc [(172.21.101.183)] by mailgw02.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 556004720; Tue, 31 Oct 2023 14:02:15 +0800 Received: from mtkmbs10n2.mediatek.inc (172.21.101.183) by MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Tue, 31 Oct 2023 14:02:13 +0800 Received: from APC01-SG2-obe.outbound.protection.outlook.com (172.21.101.237) by mtkmbs10n2.mediatek.inc (172.21.101.183) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Tue, 31 Oct 2023 14:02:13 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=liCYmC23H+yGbo5OGcIwTjKOY58FEhEO5fGH6cMFKCjh0JPVR4N/JbraGy7iZCorbE5B+5rV8ASYpYGT0V0YV160TyE6a+01olHMkGF8XY69AOZ01J9KU7CSesyQ4l36D+hRdwyjUXX+djD/w6XEZJHHW+3DbKsUPvK7sxzkmtH/9fnSI2ZqfBJTcPFs/8/RkefOIhfwMlXOTIkTSfJla2ewOaJ16s+DNpuzaKGaeOa2KKt5s5mGm3tTCY7rgJ4Mc4uBbnm22k65uIh3iOUtaUvf5bT2M4OUN6ApIVSCW4QgQhlLGeqzrHNadwPxJDiq63YKlkxflu+afPX3CR6xMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Tps9Gek2eeQ8jMGnTFuIuECz5DeXtwoGU7jGtAyzPiY=; b=SRifFiULjBkpUSUPzXbZW4raUkzK5GRfUGEcvwDBf6/7j14Cf0YB1XGEL99AulKbYbvTX9ilZo0Dl/6zAkuCqpT71XNUzbK76SYXl6gBJ1MM7ExPjnNt5cMGhjssgmp6+XIjhMhboNPurj0e95QD4B8LyJelGMQpkjq7E+IBDUPmumsmanbIVFEBVIGcBwb60dlXcEs4H8IDRPsMcgP9y9UOtdc4rW2LoRRqnh+TBVI+BeuX5gmxOlTlSfce0o6lwc9eBCK4XKESJvHRlkrjtFQqMbXIDQJ4kWkTgwC63i/KJDY4uE9Rartq8bm+jzNN5N96+UcqaVwX5gV/PBRj7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mediatek.com; dmarc=pass action=none header.from=mediatek.com; dkim=pass header.d=mediatek.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mediateko365.onmicrosoft.com; s=selector2-mediateko365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Tps9Gek2eeQ8jMGnTFuIuECz5DeXtwoGU7jGtAyzPiY=; b=ayw6tqR+zspu+Va/u0YnhIK7B8adKYI5j5jAFzJM3/VFyN2KbdI+N99gTSiL9FFDhpr81CRbtjV0w3lOXCE8xA3OUbQLXI8sjxmg552CkkUxlhqWEQD/vvCmc+bm/Q4WCaBwS2DVKWT55FEhR3CnmT+4eZIWzPO0d3ZSim0WPxg= Received: from TYZPR03MB6624.apcprd03.prod.outlook.com (2603:1096:400:1f4::13) by PSAPR03MB5304.apcprd03.prod.outlook.com (2603:1096:301:42::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Tue, 31 Oct 2023 06:01:46 +0000 Received: from TYZPR03MB6624.apcprd03.prod.outlook.com ([fe80::fe5a:c0e7:4b72:64f3]) by TYZPR03MB6624.apcprd03.prod.outlook.com ([fe80::fe5a:c0e7:4b72:64f3%4]) with mapi id 15.20.6933.023; Tue, 31 Oct 2023 06:01:45 +0000 From: =?utf-8?B?Q0sgSHUgKOiDoeS/iuWFiSk=?= To: "matthias.bgg@gmail.com" , =?utf-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= , "angelogioacchino.delregno@collabora.com" , "robh+dt@kernel.org" , "krzysztof.kozlowski+dt@linaro.org" , "chunkuang.hu@kernel.org" CC: "linux-kernel@vger.kernel.org" , =?utf-8?B?U2luZ28gQ2hhbmcgKOW8teiIiOWciyk=?= , "linux-mediatek@lists.infradead.org" , "linaro-mm-sig@lists.linaro.org" , "linux-media@vger.kernel.org" , "devicetree@vger.kernel.org" , =?utf-8?B?SmFzb24tY2ggQ2hlbiAo6Zmz5bu66LGqKQ==?= , =?utf-8?B?U2hhd24gU3VuZyAo5a6L5a2d6KyZKQ==?= , =?utf-8?B?TmFuY3kgTGluICjmnpfmrKPonqIp?= , =?utf-8?B?Sm9obnNvbiBXYW5nICjnjovogZbpkasp?= , "jkardatzke@google.com" , "dri-devel@lists.freedesktop.org" , "conor+dt@kernel.org" , Project_Global_Chrome_Upstream_Group , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH v2 09/11] drm/mediatek: Add secure flow support to mediatek-drm Thread-Topic: [PATCH v2 09/11] drm/mediatek: Add secure flow support to mediatek-drm Thread-Index: AQHaBWv9A+i72gD9wE2ClQpB4tiv3bBjdJYA Date: Tue, 31 Oct 2023 06:01:45 +0000 Message-ID: <02187af1e98093d20a170d0ce4b2b428c7eee37d.camel@mediatek.com> References: <20231023044549.21412-1-jason-jh.lin@mediatek.com> <20231023044549.21412-10-jason-jh.lin@mediatek.com> In-Reply-To: <20231023044549.21412-10-jason-jh.lin@mediatek.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mediatek.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR03MB6624:EE_|PSAPR03MB5304:EE_ x-ms-office365-filtering-correlation-id: 8bc68b35-0e02-4234-0ca9-08dbd9d6dd15 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: qyFbEtqh46e1gNypyY2KUub123LK82MRjsRUB2gN9ow5a7z6DYNGWY+Ekmo458hy/eog+9QFSaP2moktKuq53rffCdoxDLxOGJaSzsE9sY4ZwZBKvVO4s9POfmHZLB8hBihr8DWPalYhK6xUfmQRjAV2PinDt0IGWro1hwe1ZHvod/VqLlrdvGoAdcJ+un0t0Qri6L6rqV485CT96bYe9/HjrLjY1LTEiohYamM6V5sa0WT+7YFD1rxr2v8i8tuShAOahbTtGna9iIQuQzVhQU7b4PpVqzSxSsM80n2qbEQzEpFKwA8anM/AJlD1ZvHBbm0WfhRK/IxpIL4ojzU9VIpWfyB2ep0SveiBoiTr4Cd2KmUcSJSqDM3SCUKMqezDq/n+QAadzBTbWdyEVgkN3gB9BbslhOVGtIGyv96pq9ZrLi9KQ5Pzjixvzon245TFjMysw/93lUvZhZxkbYMvHgCnUVYXGjvMiOeY368hxhVXvxTxgSRih9Sc0WAtzJul0eWBqD3wdUSMYQiHL+b36Uw66bo3kPDEa1qmJJtN6yGPOB8WPDHzZHAZoax4SB9uT8PYFgTY/Ub3VCa+o5+HktUkk2u+DC+QWCJBPY7wJ7FiFQcuduavz+PBoUnb41zOuOMbnpSg0MXKB6ST3Ji1R55Ix0SK8t1R32w23u1YsiM= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYZPR03MB6624.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(396003)(346002)(366004)(136003)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(83380400001)(26005)(2616005)(38100700002)(76116006)(110136005)(66556008)(66476007)(54906003)(64756008)(66446008)(66946007)(316002)(7416002)(5660300002)(8676002)(8936002)(4326008)(71200400001)(6486002)(6512007)(2906002)(30864003)(41300700001)(4001150100001)(478600001)(6506007)(85182001)(122000001)(36756003)(86362001)(38070700009)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YkloYXE4Uy95WlNjeVpRNXZRSTFJWGdtZFVvMmE4MllxZVg4Zzh4emFSWkpC?= =?utf-8?B?blB4eEJiTk0wa2ovcmZNRnY5WFhrRysvUG5QSS9DWElsS2FZV3FEWlViS29t?= =?utf-8?B?MXFpSVI3ckpheFhKNVNNUFI5eG9aQ0hxZXpXSWpzalhVWVBpdlZnQzVvYXhy?= =?utf-8?B?Sm1tbGREZFljMGtJaHRRWDhzOGJIWFI1MXdVRGEvMmNjbm9SSTk3NGhhcnN1?= =?utf-8?B?SitwY1FYVUVOVzZkTXlyajN3WDFHcnI4MWo3K2UrK2dwblpNTW9jYzVySWp3?= =?utf-8?B?UzJMV3pBS0l6UjQvNk45bzllVlU0NlZkVkdSZzN0cXVZSmoxVnlYejMxTE5N?= =?utf-8?B?SW4wdnVIVFF6LzVvbUVpMHpiOFpqdGtHVDMrMC9MRHRiRjYwaEp1dC9wcmRw?= =?utf-8?B?aDVYWVNnMnArUUNENnhpTHRZOXFnb1lCNFJlN1JuVnd6aUNYS3Q4eGpleXFD?= =?utf-8?B?dkJJaTBGUE9vek1peUZPSUd3ekgrV3NVcCswTWNSdkhFUGlZaEEvdTE1Rmhr?= =?utf-8?B?c214SWp3MXN4Vms1L0d6RnppeDVpQUwxVjM0eUVrdDNJK1dUSWllQ1E2dCtY?= =?utf-8?B?TENxVnpsUVRJSUQ4b1hFM3pqSytWSUxWZUZ1bVJENnpmNkgxc1FnVFpURlpm?= =?utf-8?B?dDIxMTduWlhxVytGRFFDcUVJNk5FemZ6R0ZpYWdXVTR5RkxBbEhkeWtUYTJ4?= =?utf-8?B?eExaaFFDM00zeWV6TTVHd2xsRUgrUlZaaklzMzRYNWd1MERJdnBMdkxSN1Mr?= =?utf-8?B?ZDZaM1hQbVBpZnNRYk5PTEFoT0pGakdpMFR4Slo4aEljWkI4UTVsSitNVHpR?= =?utf-8?B?alEzR2Y5VXZDWFFNUlFOQ09jRFFIeElYYWNnQmltZitvc1lOSlRrempRenpE?= =?utf-8?B?cUZWY2MwOGZuMGQwY1NxZWx1SXc0TEhyZmlaTEV5ZWFYbDl4NWkvUkY2c3gw?= =?utf-8?B?M0syYXRUQVZvZml5Qlk4bnpjbWNySjEwNk5DMldBVG50OTU3Rmh3UUttY0dP?= =?utf-8?B?MmZxSG9xVFNDV2lLL1JKRnZVYmNyTW9PMDFabWpneGVnRkt4ZUZPa05KTmVD?= =?utf-8?B?SStraHBUVlVPKy9mY2FnVU5BNWxSQnZsQ2cySEltM0J4dWVZZmtxMUJONVVz?= =?utf-8?B?dkZpUW4yV2JML0lDemMyaTJOcjh6VnpWOVFOQ2tHeGNOR0w3bUxRNW9YNUc4?= =?utf-8?B?TXEvbm04ZGVaRCtFWnRrVnZGTWpJMDRSUEpWNXhKM0hHM1hqWmh1Z05jWWdi?= =?utf-8?B?VDVLZlFNSzRiSW11L2cyNnRKM1p6VStHSGk5a1hNNzhrSFEyeVRCTjRNYlV0?= =?utf-8?B?d3dldHhuaCs0NW9lTnI4Z05xVTdERGFndEpUNmxab1JMRHFXY2I2WTUybDlK?= =?utf-8?B?OWFUU2kyanFQQWcyUmpodG95M1EvRldjRlJaTENydDNEakJNczN5SzEwQWxG?= =?utf-8?B?RFBreFBxd3JUY0dwOGVBbWt3Y0RaRmNYUS85UHJUa1B1V2p6UHNhbkxmeGlC?= =?utf-8?B?UGZIU2dGSHNNTEJRQ25RUFZtelZwRTUyNkw2aUZTanNvd2lGR0NjS1YyNjlW?= =?utf-8?B?Tm16a3BVbllZTzlZamxKVURJVExEZ3NUeFdBTEhJVStRQitpQ3lyTFd2MTlO?= =?utf-8?B?TUF5QzlmZmRhdW5Sako4ajBHUlhESDQvN2RNbW83blZ4Y2gwL1pnWTAxdy9V?= =?utf-8?B?Wmx4KzVBaDRNd2htZGR1dUFRL0xBN2JNd3hwU3JCNENacTkxMi9oRnNibzVw?= =?utf-8?B?dS9TaStPTFFuc3F1bmZzVDB5dlltMktSQTdUYnRldStPRXVWTmtjTVMyN2tj?= =?utf-8?B?Y1haNTg2ZTJKbWFKc0tuYjVZM2lOclJEejNFQWdyWEs1YUwyUWl5WHRROGgr?= =?utf-8?B?MXh5VWFBMEhaYjdYZ3dmN3V6RGtpY2dMUEg0WCtaTmRqT0xxVFZkU05Ld1ZX?= =?utf-8?B?WkhwREMwaTBvZ1ZSU1luWXpJclNqS3VIRzgxVWZlazNESkRTdWNjODIzL2Vh?= =?utf-8?B?Skg4UENJczJvTS9lODhTZ0NubHJBZGJDZTJPRXZyazZUT0EzcUVPVVZtcllW?= =?utf-8?B?TjFuQmp0akhTbGJ0MEJ3aGRBYytQM2wrSzR4NEJGMHA2NDRvY0tJQWJ4MTY2?= =?utf-8?Q?DKBUw5dfP4J1MuMq5wz2vf4C+?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR03MB6624.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bc68b35-0e02-4234-0ca9-08dbd9d6dd15 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Oct 2023 06:01:45.8202 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a7687ede-7a6b-4ef6-bace-642f677fbe31 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: e8oW5M+4u1sQW1U/lBefVG88POadJhYvpuqRTJJ1nkiqKvRSwwPxrON6bVT9pPyGjXChoAOFpwGnYXybTnATbg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PSAPR03MB5304 X-TM-AS-Product-Ver: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-AS-Result: No-10--19.691100-8.000000 X-TMASE-MatchedRID: EMyCvCfVN1H4OiVTWoD8RCa1MaKuob8PC/ExpXrHizxcKZwALwMGs8bE O1+MmLXVO3n9SKxiPk5A8D8LqSx/J4QHE7x6AHFuM8ORI7N4NZat4laWdJbsDGaVm6XochFHvFf PytWHA2nT01A2vEikVlu6AtrfuSmqX1t4vOb2p6IVglQa/gMvfG3eqxoVjgMECqIJhrrDy29isJ I5bYxaI69z4S+rq/SAbyF9o6SJaroF5e8Prq/HpQKDWtq/hHcNNxqH5BlQd44UtdRZTmEaIQfoR wTLQ8VILA9WtH06/Aa5uSz5oq1PdTf6GcWCp0/idXu122+iJtoxXH/dlhvLvw6QlBHhBZuwMhlY 9MQR94bgr120qPDcs2xgKD1s/JFOr1U+m35BVv46N/cDgNNi4T2Zm52NqgyJuqWf6Nh7tmHjZY6 7L74Lw7o3/co+ykK6EBGWlnsP+FMItMWhbSshqkf49ONH0RaSFJFr2qlKix90Rk5xb2PnlqxU72 dYrnsqsNcmC4wmjB1lk+8lAsWWMwzT4Da6T1AdngIgpj8eDcDBa6VG2+9jFNQdB5NUNSsi4Hwn1 pZzW/9XKaQsz6vtVJBlLa6MK1y4 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--19.691100-8.000000 X-TMASE-Version: SMEX-14.0.0.3152-9.1.1006-23728.005 X-TM-SNTS-SMTP: 6A0C9B1E51E95B7E7FD3D6815D3BDBBA71BA817C75BA18A240A1C6DC707585262000:8 X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RDNS_NONE,SPF_HELO_PASS,SPF_PASS,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 30 Oct 2023 23:17:46 -0700 (PDT) SGksIEphc29uOg0KDQpPbiBNb24sIDIwMjMtMTAtMjMgYXQgMTI6NDUgKzA4MDAsIEphc29uLUpI LkxpbiB3cm90ZToNCj4gVG8gYWRkIHNlY3VyZSBmbG93IHN1cHBvcnQgZm9yIG1lZGlhdGVrLWRy bSwgZWFjaCBjcnRjIGhhdmUgdG8NCj4gY3JlYXRlIGEgc2VjdXJlIGNtZHEgbWFpbGJveCBjaGFu bmVsLiBUaGVuIGNtZHEgcGFja2V0cyB3aXRoDQo+IGRpc3BsYXkgSFcgY29uZmlndXJhdGlvbiB3 aWxsIGJlIHNlbnQgdG8gc2VjdXJlIGNtZHEgbWFpbGJveCBjaGFubmVsDQo+IGFuZCBjb25maWd1 cmVkIGluIHRoZSBzZWN1cmUgd29ybGQuDQo+IA0KPiBFYWNoIGNydGMgaGF2ZSB0byB1c2Ugc2Vj dXJlIGNtZHEgaW50ZXJmYWNlIHRvIGNvbmZpZ3VyZSBzb21lIHNlY3VyZQ0KPiBzZXR0aW5ncyBm b3IgZGlzcGxheSBIVyBiZWZvcmUgc2VuZGluZyBjbWRxIHBhY2tldHMgdG8gc2VjdXJlIGNtZHEN Cj4gbWFpbGJveCBjaGFubmVsLg0KPiANCj4gSWYgYW55IG9mIGZiIGdldCBmcm9tIGN1cnJlbnQg ZHJtX2F0b21pY19zdGF0ZSBpcyBzZWN1cmUsIHRoZW4gY3J0Yw0KPiB3aWxsIHN3aXRjaCB0byB0 aGUgc2VjdXJlIGZsb3cgdG8gY29uZmlndXJlIGRpc3BsYXkgSFcuDQo+IElmIGFsbCBmYnMgYXJl IG5vdCBzZWN1cmUgaW4gY3VycmVudCBkcm1fYXRvbWljX3N0YXRlLCB0aGVuIGNydGMgd2lsbA0K PiBzd2l0Y2ggdG8gdGhlIG5vcm1hbCBmbG93Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSmFzb24t SkguTGluIDxqYXNvbi1qaC5saW5AbWVkaWF0ZWsuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYyAgfCAyNzINCj4gKysrKysrKysrKysrKysrKysr KysrKy0NCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaCAgfCAgIDEg Kw0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuYyB8ICAgNyArDQo+ ICAzIGZpbGVzIGNoYW5nZWQsIDI2OSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkNCj4g DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMN Cj4gYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMNCj4gaW5kZXggYjZm YTRhZDJmOTRkLi42YzJjZjMzOWI5MjMgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX2NydGMuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9jcnRjLmMNCj4gQEAgLTU2LDYgKzU2LDExIEBAIHN0cnVjdCBtdGtfZHJtX2NydGMg ew0KPiAgCXUzMgkJCQljbWRxX2V2ZW50Ow0KPiAgCXUzMgkJCQljbWRxX3ZibGFua19jbnQ7DQo+ ICAJd2FpdF9xdWV1ZV9oZWFkX3QJCWNiX2Jsb2NraW5nX3F1ZXVlOw0KPiArDQo+ICsJc3RydWN0 IGNtZHFfY2xpZW50CQlzZWNfY21kcV9jbGllbnQ7DQo+ICsJc3RydWN0IGNtZHFfcGt0CQkJc2Vj X2NtZHFfaGFuZGxlOw0KPiArCWJvb2wJCQkJc2VjX2NtZHFfd29ya2luZzsNCj4gKwl3YWl0X3F1 ZXVlX2hlYWRfdAkJc2VjX2NiX2Jsb2NraW5nX3F1ZXVlOw0KPiAgI2VuZGlmDQo+ICANCj4gIAlz dHJ1Y3QgZGV2aWNlCQkJKm1tc3lzX2RldjsNCj4gQEAgLTY3LDYgKzcyLDcgQEAgc3RydWN0IG10 a19kcm1fY3J0YyB7DQo+ICAJLyogbG9jayBmb3IgZGlzcGxheSBoYXJkd2FyZSBhY2Nlc3MgKi8N Cj4gIAlzdHJ1Y3QgbXV0ZXgJCQlod19sb2NrOw0KPiAgCWJvb2wJCQkJY29uZmlnX3VwZGF0aW5n Ow0KPiArCWJvb2wJCQkJc2VjX29uOw0KPiAgfTsNCj4gIA0KPiAgc3RydWN0IG10a19jcnRjX3N0 YXRlIHsNCj4gQEAgLTEwOSw2ICsxMTUsMTU0IEBAIHN0YXRpYyB2b2lkIG10a19kcm1fZmluaXNo X3BhZ2VfZmxpcChzdHJ1Y3QNCj4gbXRrX2RybV9jcnRjICptdGtfY3J0YykNCj4gIAl9DQo+ICB9 DQo+ICANCj4gK3ZvaWQgbXRrX2NydGNfZGlzYWJsZV9zZWN1cmVfc3RhdGUoc3RydWN0IGRybV9j cnRjICpjcnRjKQ0KPiArew0KPiArI2lmIElTX1JFQUNIQUJMRShDT05GSUdfTVRLX0NNRFEpDQo+ ICsJZW51bSBjbWRxX3NlY19zY2VuYXJpbyBzZWNfc2NuID0gQ01EUV9NQVhfU0VDX0NPVU5UOw0K PiArCWludCBpOw0KPiArCXN0cnVjdCBtdGtfZGRwX2NvbXAgKmRkcF9maXJzdF9jb21wOw0KPiAr CXN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRjID0gdG9fbXRrX2NydGMoY3J0Yyk7DQo+ICsJ dTY0IHNlY19lbmdpbmUgPSAwOyAvKiBmb3IgaHcgZW5naW5lIHdyaXRlIG91dHB1dCBzZWN1cmUg ZmIgKi8NCj4gKwl1NjQgc2VjX3BvcnQgPSAwOyAvKiBmb3IgbGFyYiBwb3J0IHJlYWQgaW5wdXQg c2VjdXJlIGZiICovDQo+ICsNCj4gKwltdXRleF9sb2NrKCZtdGtfY3J0Yy0+aHdfbG9jayk7DQo+ ICsNCj4gKwlpZiAoIW10a19jcnRjLT5zZWNfY21kcV9jbGllbnQuY2hhbikgew0KPiArCQlwcl9l cnIoImNydGMtJWQgc2VjdXJlIG1ib3ggY2hhbm5lbCBpcyBOVUxMXG4iLA0KPiBkcm1fY3J0Y19p bmRleChjcnRjKSk7DQo+ICsJCWdvdG8gZXJyOw0KPiArCX0NCj4gKw0KPiArCWlmICghbXRrX2Ny dGMtPnNlY19vbikgew0KPiArCQlwcl9kZWJ1ZygiY3J0Yy0lZCBpcyBhbHJlYWR5IGRpc2FibGVk IVxuIiwNCj4gZHJtX2NydGNfaW5kZXgoY3J0YykpOw0KPiArCQlnb3RvIGVycjsNCj4gKwl9DQo+ ICsNCj4gKwltYm94X2ZsdXNoKG10a19jcnRjLT5zZWNfY21kcV9jbGllbnQuY2hhbiwgMCk7DQo+ ICsJbXRrX2NydGMtPnNlY19jbWRxX2hhbmRsZS5jbWRfYnVmX3NpemUgPSAwOw0KPiArDQo+ICsJ aWYgKG10a19jcnRjLT5zZWNfY21kcV9oYW5kbGUuc2VjX2RhdGEpIHsNCj4gKwkJc3RydWN0IGNt ZHFfc2VjX2RhdGEgKnNlY19kYXRhOw0KPiArDQo+ICsJCXNlY19kYXRhID0gbXRrX2NydGMtPnNl Y19jbWRxX2hhbmRsZS5zZWNfZGF0YTsNCj4gKwkJc2VjX2RhdGEtPmFkZHJNZXRhZGF0YUNvdW50 ID0gMDsNCj4gKwkJc2VjX2RhdGEtPmFkZHJNZXRhZGF0YXMgPSAodWludHB0cl90KU5VTEw7DQo+ ICsJfQ0KPiArDQo+ICsJLyoNCj4gKwkgKiBTZWN1cmUgcGF0aCBvbmx5IHN1cHBvcnQgREwgbW9k ZSwgc28gd2UganVzdCB3YWl0DQo+ICsJICogdGhlIGZpcnN0IHBhdGggZnJhbWUgZG9uZSBoZXJl DQo+ICsJICovDQo+ICsJY21kcV9wa3Rfd2ZlKCZtdGtfY3J0Yy0+c2VjX2NtZHFfaGFuZGxlLCBt dGtfY3J0Yy0+Y21kcV9ldmVudCwNCj4gZmFsc2UpOw0KPiArDQo+ICsJZGRwX2ZpcnN0X2NvbXAg PSBtdGtfY3J0Yy0+ZGRwX2NvbXBbMF07DQo+ICsJZm9yIChpID0gMDsgaSA8IG10a19jcnRjLT5s YXllcl9ucjsgaSsrKSB7DQo+ICsJCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gJm10a19jcnRj LT5wbGFuZXNbaV07DQo+ICsNCj4gKwkJc2VjX3BvcnQgfD0NCj4gbXRrX2RkcF9jb21wX2xheWVy X2dldF9zZWNfcG9ydChkZHBfZmlyc3RfY29tcCwgaSk7DQoNCnNlY19wb3J0IGlzIHVzZWxlc3Ms IHNvIHJlbW92ZSBpdC4NCg0KPiArDQo+ICsJCS8qIG1ha2Ugc3VyZSBzZWN1cmUgbGF5ZXIgb2Zm IGJlZm9yZSBzd2l0Y2hpbmcgc2VjdXJlDQo+IHN0YXRlICovDQo+ICsJCWlmICghbXRrX3BsYW5l X2ZiX2lzX3NlY3VyZShwbGFuZS0+c3RhdGUtPmZiKSkgew0KPiArCQkJc3RydWN0IG10a19wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPQ0KPiB0b19tdGtfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRl KTsNCj4gKw0KPiArCQkJcGxhbmVfc3RhdGUtPnBlbmRpbmcuZW5hYmxlID0gZmFsc2U7DQo+ICsJ CQltdGtfZGRwX2NvbXBfbGF5ZXJfY29uZmlnKGRkcF9maXJzdF9jb21wLCBpLA0KPiBwbGFuZV9z dGF0ZSwNCj4gKwkJCQkJCSAgJm10a19jcnRjLQ0KPiA+c2VjX2NtZHFfaGFuZGxlKTsNCj4gKwkJ fQ0KPiArCX0NCj4gKw0KPiArCS8qIERpc2FibGUgc2VjdXJlIHBhdGggKi8NCj4gKwlpZiAoZHJt X2NydGNfaW5kZXgoY3J0YykgPT0gMCkNCj4gKwkJc2VjX3NjbiA9IENNRFFfU0VDX1BSSU1BUllf RElTUF9ESVNBQkxFOw0KPiArCWVsc2UgaWYgKGRybV9jcnRjX2luZGV4KGNydGMpID09IDEpDQo+ ICsJCXNlY19zY24gPSBDTURRX1NFQ19TVUJfRElTUF9ESVNBQkxFOw0KPiArDQo+ICsJY21kcV9z ZWNfcGt0X3NldF9kYXRhKCZtdGtfY3J0Yy0+c2VjX2NtZHFfaGFuZGxlLCBzZWNfZW5naW5lLA0K PiBzZWNfZW5naW5lLCBzZWNfc2NuKTsNCj4gKw0KPiArCWNtZHFfcGt0X2ZpbmFsaXplKCZtdGtf Y3J0Yy0+c2VjX2NtZHFfaGFuZGxlKTsNCj4gKwlkbWFfc3luY19zaW5nbGVfZm9yX2RldmljZSht dGtfY3J0Yy0+c2VjX2NtZHFfY2xpZW50LmNoYW4tDQo+ID5tYm94LT5kZXYsDQo+ICsJCQkJICAg bXRrX2NydGMtPnNlY19jbWRxX2hhbmRsZS5wYV9iYXNlLA0KPiArCQkJCSAgIG10a19jcnRjLQ0K PiA+c2VjX2NtZHFfaGFuZGxlLmNtZF9idWZfc2l6ZSwNCj4gKwkJCQkgICBETUFfVE9fREVWSUNF KTsNCj4gKw0KPiArCW10a19jcnRjLT5zZWNfY21kcV93b3JraW5nID0gdHJ1ZTsNCj4gKwltYm94 X3NlbmRfbWVzc2FnZShtdGtfY3J0Yy0+c2VjX2NtZHFfY2xpZW50LmNoYW4sICZtdGtfY3J0Yy0N Cj4gPnNlY19jbWRxX2hhbmRsZSk7DQo+ICsJbWJveF9jbGllbnRfdHhkb25lKG10a19jcnRjLT5z ZWNfY21kcV9jbGllbnQuY2hhbiwgMCk7DQo+ICsNCj4gKwkvLyBXYWl0IGZvciBzZWMgc3RhdGUg dG8gYmUgZGlzYWJsZWQgYnkgY21kcQ0KPiArCXdhaXRfZXZlbnRfdGltZW91dChtdGtfY3J0Yy0+ c2VjX2NiX2Jsb2NraW5nX3F1ZXVlLA0KPiArCQkJICAgIW10a19jcnRjLT5zZWNfY21kcV93b3Jr aW5nLA0KPiArCQkJICAgbXNlY3NfdG9famlmZmllcyg1MDApKTsNCj4gKw0KPiArCW10a19jcnRj LT5zZWNfb24gPSBmYWxzZTsNCj4gKwlwcl9kZWJ1ZygiY3J0Yy0lZCBkaXNhYmxlIHNlY3VyZSBw bGFuZSFcbiIsDQo+IGRybV9jcnRjX2luZGV4KGNydGMpKTsNCj4gKw0KPiArZXJyOg0KPiArCW11 dGV4X3VubG9jaygmbXRrX2NydGMtPmh3X2xvY2spOw0KPiArI2VuZGlmDQo+ICt9DQo+ICsNCj4g KyNpZiBJU19SRUFDSEFCTEUoQ09ORklHX01US19DTURRKQ0KPiArc3RhdGljIHZvaWQgbXRrX2Ny dGNfZW5hYmxlX3NlY3VyZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpDQo+ICt7DQo+ICsJ ZW51bSBjbWRxX3NlY19zY2VuYXJpbyBzZWNfc2NuID0gQ01EUV9NQVhfU0VDX0NPVU5UOw0KPiAr CWludCBpOw0KPiArCXN0cnVjdCBtdGtfZGRwX2NvbXAgKmRkcF9maXJzdF9jb21wOw0KPiArCXN0 cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRjID0gdG9fbXRrX2NydGMoY3J0Yyk7DQo+ICsJdTY0 IHNlY19lbmdpbmUgPSAwOyAvKiBmb3IgaHcgZW5naW5lIHdyaXRlIG91dHB1dCBzZWN1cmUgZmIg Ki8NCj4gKwl1NjQgc2VjX3BvcnQgPSAwOyAvKiBmb3IgbGFyYiBwb3J0IHJlYWQgaW5wdXQgc2Vj dXJlIGZiICovDQo+ICsNCj4gKwljbWRxX3BrdF93ZmUoJm10a19jcnRjLT5zZWNfY21kcV9oYW5k bGUsIG10a19jcnRjLT5jbWRxX2V2ZW50LA0KPiBmYWxzZSk7DQo+ICsNCj4gKwlkZHBfZmlyc3Rf Y29tcCA9IG10a19jcnRjLT5kZHBfY29tcFswXTsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgbXRrX2Ny dGMtPmxheWVyX25yOyBpKyspDQo+ICsJCWlmIChtdGtfY3J0Yy0+cGxhbmVzW2ldLnR5cGUgPT0g RFJNX1BMQU5FX1RZUEVfQ1VSU09SKQ0KPiArCQkJc2VjX3BvcnQgfD0NCj4gbXRrX2RkcF9jb21w X2xheWVyX2dldF9zZWNfcG9ydChkZHBfZmlyc3RfY29tcCwgaSk7DQo+ICsNCj4gKwlpZiAoZHJt X2NydGNfaW5kZXgoY3J0YykgPT0gMCkNCj4gKwkJc2VjX3NjbiA9IENNRFFfU0VDX1BSSU1BUllf RElTUDsNCj4gKwllbHNlIGlmIChkcm1fY3J0Y19pbmRleChjcnRjKSA9PSAxKQ0KPiArCQlzZWNf c2NuID0gQ01EUV9TRUNfU1VCX0RJU1A7DQo+ICsNCj4gKwljbWRxX3NlY19wa3Rfc2V0X2RhdGEo Jm10a19jcnRjLT5zZWNfY21kcV9oYW5kbGUsIHNlY19lbmdpbmUsDQo+IHNlY19wb3J0LCBzZWNf c2NuKTsNCg0KSW4gY21kcSBkcml2ZXIsIHNlY19lbmdpbmUgbWVhbnMgZW5naW5lIHdoaWNoIG5l ZWQgZGFwYy4gWW91IHNldCAwIHRvDQpzZWNfZW5naW5lLCBkb2VzIGl0IG1lYW4gdGhhdCBubyBl bmdpbmUgaXMgcHJvdGVjdGVkIGJ5IGRhcGM/IElmIE9WTCBpcw0Kbm90IHByb3RlY3RlZCBieSBk YXBjLCBJIHRoaW5rIHdlIGNvdWxkIHVzZSBjbWRxIG5vcm1hbCB0aHJlYWQgdG8gd3JpdGUNCk9W TCByZWdpc3RlciBpbnN0ZWFkIG9mIGNtZHEgc2VjdXJlIHRocmVhZC4NCg0KSXQncyB3ZWlyZCB0 aGF0IG5vcm1hbCB3b3JsZCBjb3VsZCBkZWNpZGUgd2hpY2ggZW5naW5lIGlzIHByb3RlY3RlZCBi eQ0KZGFwYy4gSWYgaGFja2VyIHNldCAwIGZvciBvdXRwdXQgZW5naW5lLCB0aGVuIG91dG91dCBl bmdpbmUgd291bGQgbm90DQpiZSBwcm90ZWN0ZWQ/DQoNClJlZ2FyZHMsDQpDSw0KDQo+ICsNCj4g Kwlwcl9kZWJ1ZygiY3J0Yy0lZCBlbmFibGUgc2VjdXJlIHBsYW5lIVxuIiwNCj4gZHJtX2NydGNf aW5kZXgoY3J0YykpOw0KPiArfQ0KPiArI2VuZGlmDQo+ICsNCj4gK3N0YXRpYyB2b2lkIG10a19k cm1fY3J0Y19wbGFuZV9zd2l0Y2hfc2VjX3N0YXRlKHN0cnVjdCBkcm1fY3J0Yw0KPiAqY3J0YywN Cj4gKwkJCQkJCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlDQo+ICpzdGF0ZSkNCj4gK3sNCj4gKyNp ZiBJU19SRUFDSEFCTEUoQ09ORklHX01US19DTURRKQ0KPiArCWJvb2wgc2VjX29uW01BWF9DUlRD XSA9IHswfTsNCj4gKwlpbnQgaTsNCj4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3Rh dGU7DQo+ICsJc3RydWN0IG10a19kcm1fY3J0YyAqbXRrX2NydGMgPSB0b19tdGtfY3J0YyhjcnRj KTsNCj4gKwlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsNCj4gKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0 YXRlICpvbGRfcGxhbmVfc3RhdGU7DQo+ICsNCj4gKwlmb3JfZWFjaF9vbGRfcGxhbmVfaW5fc3Rh dGUoc3RhdGUsIHBsYW5lLCBvbGRfcGxhbmVfc3RhdGUsIGkpIHsNCj4gKwkJaWYgKCFwbGFuZS0+ c3RhdGUtPmNydGMpDQo+ICsJCQljb250aW51ZTsNCj4gKw0KPiArCQlpZiAocGxhbmUtPnN0YXRl LT5mYiAmJg0KPiArCQkgICAgbXRrX3BsYW5lX2ZiX2lzX3NlY3VyZShwbGFuZS0+c3RhdGUtPmZi KSAmJg0KPiArCQkgICAgbXRrX2NydGMtPnNlY19jbWRxX2NsaWVudC5jaGFuKQ0KPiArCQkJc2Vj X29uW2RybV9jcnRjX2luZGV4KHBsYW5lLT5zdGF0ZS0+Y3J0YyldID0NCj4gdHJ1ZTsNCj4gKwl9 DQo+ICsNCj4gKwlmb3JfZWFjaF9vbGRfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19z dGF0ZSwgaSkgew0KPiArCQltdGtfY3J0YyA9IHRvX210a19jcnRjKGNydGMpOw0KPiArDQo+ICsJ CWlmICghc2VjX29uW2ldKQ0KPiArCQkJbXRrX2NydGNfZGlzYWJsZV9zZWN1cmVfc3RhdGUoY3J0 Yyk7DQo+ICsNCj4gKwkJbXV0ZXhfbG9jaygmbXRrX2NydGMtPmh3X2xvY2spOw0KPiArCQltdGtf Y3J0Yy0+c2VjX29uID0gdHJ1ZTsNCj4gKwkJbXV0ZXhfdW5sb2NrKCZtdGtfY3J0Yy0+aHdfbG9j ayk7DQo+ICsJfQ0KPiArI2VuZGlmDQo+ICt9DQo+ICsNCj4gICNpZiBJU19SRUFDSEFCTEUoQ09O RklHX01US19DTURRKQ0KPiAgc3RhdGljIGludCBtdGtfZHJtX2NtZHFfcGt0X2NyZWF0ZShzdHJ1 Y3QgY21kcV9jbGllbnQgKmNsaWVudCwNCj4gc3RydWN0IGNtZHFfcGt0ICpwa3QsDQo+ICAJCQkJ ICAgc2l6ZV90IHNpemUpDQo+IEBAIC0xNDQsMjIgKzI5OCwzMyBAQCBzdGF0aWMgdm9pZCBtdGtf ZHJtX2NtZHFfcGt0X2Rlc3Ryb3koc3RydWN0DQo+IGNtZHFfcGt0ICpwa3QpDQo+ICAJZG1hX3Vu bWFwX3NpbmdsZShjbGllbnQtPmNoYW4tPm1ib3gtPmRldiwgcGt0LT5wYV9iYXNlLCBwa3QtDQo+ ID5idWZfc2l6ZSwNCj4gIAkJCSBETUFfVE9fREVWSUNFKTsNCj4gIAlrZnJlZShwa3QtPnZhX2Jh c2UpOw0KPiArCWtmcmVlKHBrdC0+c2VjX2RhdGEpOw0KPiAgfQ0KPiAgI2VuZGlmDQo+ICANCj4g IHN0YXRpYyB2b2lkIG10a19kcm1fY3J0Y19kZXN0cm95KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykN Cj4gIHsNCj4gIAlzdHJ1Y3QgbXRrX2RybV9jcnRjICptdGtfY3J0YyA9IHRvX210a19jcnRjKGNy dGMpOw0KPiArCXN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKnByaXYgPSBjcnRjLT5kZXYtPmRldl9w cml2YXRlOw0KPiAgCWludCBpOw0KPiAgDQo+ICsJcHJpdiA9IHByaXYtPmFsbF9kcm1fcHJpdmF0 ZVtkcm1fY3J0Y19pbmRleChjcnRjKV07DQo+ICsNCj4gIAltdGtfbXV0ZXhfcHV0KG10a19jcnRj LT5tdXRleCk7DQo+ICAjaWYgSVNfUkVBQ0hBQkxFKENPTkZJR19NVEtfQ01EUSkNCj4gIAltdGtf ZHJtX2NtZHFfcGt0X2Rlc3Ryb3koJm10a19jcnRjLT5jbWRxX2hhbmRsZSk7DQo+ICsJbXRrX2Ry bV9jbWRxX3BrdF9kZXN0cm95KCZtdGtfY3J0Yy0+c2VjX2NtZHFfaGFuZGxlKTsNCj4gIA0KPiAg CWlmIChtdGtfY3J0Yy0+Y21kcV9jbGllbnQuY2hhbikgew0KPiAgCQltYm94X2ZyZWVfY2hhbm5l bChtdGtfY3J0Yy0+Y21kcV9jbGllbnQuY2hhbik7DQo+ICAJCW10a19jcnRjLT5jbWRxX2NsaWVu dC5jaGFuID0gTlVMTDsNCj4gIAl9DQo+ICsNCj4gKwlpZiAobXRrX2NydGMtPnNlY19jbWRxX2Ns aWVudC5jaGFuKSB7DQo+ICsJCWRldmljZV9saW5rX3JlbW92ZShwcml2LT5kZXYsIG10a19jcnRj LQ0KPiA+c2VjX2NtZHFfY2xpZW50LmNoYW4tPm1ib3gtPmRldik7DQo+ICsJCW1ib3hfZnJlZV9j aGFubmVsKG10a19jcnRjLT5zZWNfY21kcV9jbGllbnQuY2hhbik7DQo+ICsJCW10a19jcnRjLT5z ZWNfY21kcV9jbGllbnQuY2hhbiA9IE5VTEw7DQo+ICsJfQ0KPiAgI2VuZGlmDQo+ICANCj4gIAlm b3IgKGkgPSAwOyBpIDwgbXRrX2NydGMtPmRkcF9jb21wX25yOyBpKyspIHsNCj4gQEAgLTI4Niwx MyArNDUxLDE4IEBAIHN0YXRpYyB2b2lkIGRkcF9jbWRxX2NiKHN0cnVjdCBtYm94X2NsaWVudCAq Y2wsDQo+IHZvaWQgKm1zc2cpDQo+ICB7DQo+ICAJc3RydWN0IGNtZHFfY2JfZGF0YSAqZGF0YSA9 IG1zc2c7DQo+ICAJc3RydWN0IGNtZHFfY2xpZW50ICpjbWRxX2NsID0gY29udGFpbmVyX29mKGNs LCBzdHJ1Y3QNCj4gY21kcV9jbGllbnQsIGNsaWVudCk7DQo+IC0Jc3RydWN0IG10a19kcm1fY3J0 YyAqbXRrX2NydGMgPSBjb250YWluZXJfb2YoY21kcV9jbCwgc3RydWN0DQo+IG10a19kcm1fY3J0 YywgY21kcV9jbGllbnQpOw0KPiArCXN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRjOw0KPiAg CXN0cnVjdCBtdGtfY3J0Y19zdGF0ZSAqc3RhdGU7DQo+ICAJdW5zaWduZWQgaW50IGk7DQo+ICAN Cj4gIAlpZiAoZGF0YS0+c3RhIDwgMCkNCj4gIAkJcmV0dXJuOw0KPiAgDQo+ICsJaWYgKCFkYXRh LT5wa3QgfHwgIWRhdGEtPnBrdC0+c2VjX2RhdGEpDQo+ICsJCW10a19jcnRjID0gY29udGFpbmVy X29mKGNtZHFfY2wsIHN0cnVjdCBtdGtfZHJtX2NydGMsDQo+IGNtZHFfY2xpZW50KTsNCj4gKwll bHNlDQo+ICsJCW10a19jcnRjID0gY29udGFpbmVyX29mKGNtZHFfY2wsIHN0cnVjdCBtdGtfZHJt X2NydGMsDQo+IHNlY19jbWRxX2NsaWVudCk7DQo+ICsNCj4gIAlzdGF0ZSA9IHRvX210a19jcnRj X3N0YXRlKG10a19jcnRjLT5iYXNlLnN0YXRlKTsNCj4gIA0KPiAgCXN0YXRlLT5wZW5kaW5nX2Nv bmZpZyA9IGZhbHNlOw0KPiBAQCAtMzIxLDYgKzQ5MSwxMSBAQCBzdGF0aWMgdm9pZCBkZHBfY21k cV9jYihzdHJ1Y3QgbWJveF9jbGllbnQgKmNsLA0KPiB2b2lkICptc3NnKQ0KPiAgCQltdGtfY3J0 Yy0+cGVuZGluZ19hc3luY19wbGFuZXMgPSBmYWxzZTsNCj4gIAl9DQo+ICANCj4gKwlpZiAobXRr X2NydGMtPnNlY19jbWRxX3dvcmtpbmcpIHsNCj4gKwkJbXRrX2NydGMtPnNlY19jbWRxX3dvcmtp bmcgPSBmYWxzZTsNCj4gKwkJd2FrZV91cCgmbXRrX2NydGMtPnNlY19jYl9ibG9ja2luZ19xdWV1 ZSk7DQo+ICsJfQ0KPiArDQo+ICAJbXRrX2NydGMtPmNtZHFfdmJsYW5rX2NudCA9IDA7DQo+ICAJ d2FrZV91cCgmbXRrX2NydGMtPmNiX2Jsb2NraW5nX3F1ZXVlKTsNCj4gIH0NCj4gQEAgLTU0NCw3 ICs3MTksOCBAQCBzdGF0aWMgdm9pZCBtdGtfZHJtX2NydGNfdXBkYXRlX2NvbmZpZyhzdHJ1Y3QN Cj4gbXRrX2RybV9jcnRjICptdGtfY3J0YywNCj4gIAkJCQkgICAgICAgYm9vbCBuZWVkc192Ymxh bmspDQo+ICB7DQo+ICAjaWYgSVNfUkVBQ0hBQkxFKENPTkZJR19NVEtfQ01EUSkNCj4gLQlzdHJ1 Y3QgY21kcV9wa3QgKmNtZHFfaGFuZGxlID0gJm10a19jcnRjLT5jbWRxX2hhbmRsZTsNCj4gKwlz dHJ1Y3QgY21kcV9jbGllbnQgY21kcV9jbGllbnQ7DQo+ICsJc3RydWN0IGNtZHFfcGt0ICpjbWRx X2hhbmRsZTsNCj4gICNlbmRpZg0KPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9ICZtdGtfY3J0 Yy0+YmFzZTsNCj4gIAlzdHJ1Y3QgbXRrX2RybV9wcml2YXRlICpwcml2ID0gY3J0Yy0+ZGV2LT5k ZXZfcHJpdmF0ZTsNCj4gQEAgLTU4MiwxNCArNzU4LDM2IEBAIHN0YXRpYyB2b2lkIG10a19kcm1f Y3J0Y191cGRhdGVfY29uZmlnKHN0cnVjdA0KPiBtdGtfZHJtX2NydGMgKm10a19jcnRjLA0KPiAg CQltdGtfbXV0ZXhfcmVsZWFzZShtdGtfY3J0Yy0+bXV0ZXgpOw0KPiAgCX0NCj4gICNpZiBJU19S RUFDSEFCTEUoQ09ORklHX01US19DTURRKQ0KPiAtCWlmIChtdGtfY3J0Yy0+Y21kcV9jbGllbnQu Y2hhbikgew0KPiArCWlmIChtdGtfY3J0Yy0+c2VjX29uKSB7DQo+ICsJCW1ib3hfZmx1c2gobXRr X2NydGMtPnNlY19jbWRxX2NsaWVudC5jaGFuLCAwKTsNCj4gKwkJbXRrX2NydGMtPnNlY19jbWRx X2hhbmRsZS5jbWRfYnVmX3NpemUgPSAwOw0KPiArDQo+ICsJCWlmIChtdGtfY3J0Yy0+c2VjX2Nt ZHFfaGFuZGxlLnNlY19kYXRhKSB7DQo+ICsJCQlzdHJ1Y3QgY21kcV9zZWNfZGF0YSAqc2VjX2Rh dGE7DQo+ICsNCj4gKwkJCXNlY19kYXRhID0gbXRrX2NydGMtPnNlY19jbWRxX2hhbmRsZS5zZWNf ZGF0YTsNCj4gKwkJCXNlY19kYXRhLT5hZGRyTWV0YWRhdGFDb3VudCA9IDA7DQo+ICsJCQlzZWNf ZGF0YS0+YWRkck1ldGFkYXRhcyA9ICh1aW50cHRyX3QpTlVMTDsNCj4gKwkJfQ0KPiArDQo+ICsJ CW10a19jcnRjX2VuYWJsZV9zZWN1cmVfc3RhdGUoY3J0Yyk7DQo+ICsNCj4gKwkJY21kcV9jbGll bnQgPSBtdGtfY3J0Yy0+c2VjX2NtZHFfY2xpZW50Ow0KPiArCQljbWRxX2hhbmRsZSA9ICZtdGtf Y3J0Yy0+c2VjX2NtZHFfaGFuZGxlOw0KPiArCX0gZWxzZSBpZiAobXRrX2NydGMtPmNtZHFfY2xp ZW50LmNoYW4pIHsNCj4gIAkJbWJveF9mbHVzaChtdGtfY3J0Yy0+Y21kcV9jbGllbnQuY2hhbiwg MjAwMCk7DQo+IC0JCWNtZHFfaGFuZGxlLT5jbWRfYnVmX3NpemUgPSAwOw0KPiArCQltdGtfY3J0 Yy0+Y21kcV9oYW5kbGUuY21kX2J1Zl9zaXplID0gMDsNCj4gKw0KPiArCQljbWRxX2NsaWVudCA9 ICBtdGtfY3J0Yy0+Y21kcV9jbGllbnQ7DQo+ICsJCWNtZHFfaGFuZGxlID0gJm10a19jcnRjLT5j bWRxX2hhbmRsZTsNCj4gKwl9DQo+ICsNCj4gKwlpZiAoY21kcV9jbGllbnQuY2hhbikgew0KPiAg CQljbWRxX3BrdF9jbGVhcl9ldmVudChjbWRxX2hhbmRsZSwgbXRrX2NydGMtDQo+ID5jbWRxX2V2 ZW50KTsNCj4gIAkJY21kcV9wa3Rfd2ZlKGNtZHFfaGFuZGxlLCBtdGtfY3J0Yy0+Y21kcV9ldmVu dCwgZmFsc2UpOw0KPiAgCQltdGtfY3J0Y19kZHBfY29uZmlnKGNydGMsIGNtZHFfaGFuZGxlKTsN Cj4gIAkJY21kcV9wa3RfZmluYWxpemUoY21kcV9oYW5kbGUpOw0KPiAtCQlkbWFfc3luY19zaW5n bGVfZm9yX2RldmljZShtdGtfY3J0Yy0+Y21kcV9jbGllbnQuY2hhbi0NCj4gPm1ib3gtPmRldiwN Cj4gKwkJZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2UoY21kcV9jbGllbnQuY2hhbi0+bWJveC0+ ZGV2LA0KPiAgCQkJCQkgICBjbWRxX2hhbmRsZS0+cGFfYmFzZSwNCj4gIAkJCQkJICAgY21kcV9o YW5kbGUtPmNtZF9idWZfc2l6ZSwNCj4gIAkJCQkJICAgRE1BX1RPX0RFVklDRSk7DQo+IEBAIC02 MDIsOCArODAwLDggQEAgc3RhdGljIHZvaWQgbXRrX2RybV9jcnRjX3VwZGF0ZV9jb25maWcoc3Ry dWN0DQo+IG10a19kcm1fY3J0YyAqbXRrX2NydGMsDQo+ICAJCSAqLw0KPiAgCQltdGtfY3J0Yy0+ Y21kcV92YmxhbmtfY250ID0gMzsNCj4gIA0KPiAtCQltYm94X3NlbmRfbWVzc2FnZShtdGtfY3J0 Yy0+Y21kcV9jbGllbnQuY2hhbiwNCj4gY21kcV9oYW5kbGUpOw0KPiAtCQltYm94X2NsaWVudF90 eGRvbmUobXRrX2NydGMtPmNtZHFfY2xpZW50LmNoYW4sIDApOw0KPiArCQltYm94X3NlbmRfbWVz c2FnZShjbWRxX2NsaWVudC5jaGFuLCBjbWRxX2hhbmRsZSk7DQo+ICsJCW1ib3hfY2xpZW50X3R4 ZG9uZShjbWRxX2NsaWVudC5jaGFuLCAwKTsNCj4gIAl9DQo+ICAjZW5kaWYNCj4gIAltdGtfY3J0 Yy0+Y29uZmlnX3VwZGF0aW5nID0gZmFsc2U7DQo+IEBAIC03MDYsNiArOTA0LDggQEAgc3RhdGlj IHZvaWQgbXRrX2RybV9jcnRjX2F0b21pY19kaXNhYmxlKHN0cnVjdA0KPiBkcm1fY3J0YyAqY3J0 YywNCj4gIAlpZiAoIW10a19jcnRjLT5lbmFibGVkKQ0KPiAgCQlyZXR1cm47DQo+ICANCj4gKwlt dGtfY3J0Y19kaXNhYmxlX3NlY3VyZV9zdGF0ZShjcnRjKTsNCj4gKw0KPiAgCS8qIFNldCBhbGwg cGVuZGluZyBwbGFuZSBzdGF0ZSB0byBkaXNhYmxlZCAqLw0KPiAgCWZvciAoaSA9IDA7IGkgPCBt dGtfY3J0Yy0+bGF5ZXJfbnI7IGkrKykgew0KPiAgCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9 ICZtdGtfY3J0Yy0+cGxhbmVzW2ldOw0KPiBAQCAtNzQ1LDYgKzk0NSw4IEBAIHN0YXRpYyB2b2lk IG10a19kcm1fY3J0Y19hdG9taWNfYmVnaW4oc3RydWN0DQo+IGRybV9jcnRjICpjcnRjLA0KPiAg CXN0cnVjdCBtdGtfY3J0Y19zdGF0ZSAqbXRrX2NydGNfc3RhdGUgPQ0KPiB0b19tdGtfY3J0Y19z dGF0ZShjcnRjX3N0YXRlKTsNCj4gIAlzdHJ1Y3QgbXRrX2RybV9jcnRjICptdGtfY3J0YyA9IHRv X210a19jcnRjKGNydGMpOw0KPiAgDQo+ICsJbXRrX2RybV9jcnRjX3BsYW5lX3N3aXRjaF9zZWNf c3RhdGUoY3J0Yywgc3RhdGUpOw0KPiArDQo+ICAJaWYgKG10a19jcnRjLT5ldmVudCAmJiBtdGtf Y3J0Y19zdGF0ZS0+YmFzZS5ldmVudCkNCj4gIAkJRFJNX0VSUk9SKCJuZXcgZXZlbnQgd2hpbGUg dGhlcmUgaXMgc3RpbGwgYSBwZW5kaW5nDQo+IGV2ZW50XG4iKTsNCj4gIA0KPiBAQCAtMTAyMCw4 ICsxMjIyLDcgQEAgaW50IG10a19kcm1fY3J0Y19jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UNCj4g KmRybV9kZXYsDQo+ICAJCWlmIChyZXQpIHsNCj4gIAkJCWRldl9kYmcoZGV2LCAibXRrX2NydGMg JWQgZmFpbGVkIHRvIGdldA0KPiBtZWRpYXRlayxnY2UtZXZlbnRzIHByb3BlcnR5XG4iLA0KPiAg CQkJCWRybV9jcnRjX2luZGV4KCZtdGtfY3J0Yy0+YmFzZSkpOw0KPiAtCQkJbWJveF9mcmVlX2No YW5uZWwobXRrX2NydGMtPmNtZHFfY2xpZW50LmNoYW4pOw0KPiAtCQkJbXRrX2NydGMtPmNtZHFf Y2xpZW50LmNoYW4gPSBOVUxMOw0KPiArCQkJZ290byBjbWRxX2VycjsNCj4gIAkJfSBlbHNlIHsN Cj4gIAkJCXJldCA9IG10a19kcm1fY21kcV9wa3RfY3JlYXRlKCZtdGtfY3J0Yy0NCj4gPmNtZHFf Y2xpZW50LA0KPiAgCQkJCQkJICAgICAgJm10a19jcnRjLQ0KPiA+Y21kcV9oYW5kbGUsDQo+IEBA IC0xMDI5LDE0ICsxMjMwLDYzIEBAIGludCBtdGtfZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1f ZGV2aWNlDQo+ICpkcm1fZGV2LA0KPiAgCQkJaWYgKHJldCkgew0KPiAgCQkJCWRldl9kYmcoZGV2 LCAibXRrX2NydGMgJWQgZmFpbGVkIHRvDQo+IGNyZWF0ZSBjbWRxIHBhY2tldFxuIiwNCj4gIAkJ CQkJZHJtX2NydGNfaW5kZXgoJm10a19jcnRjLQ0KPiA+YmFzZSkpOw0KPiAtCQkJCW1ib3hfZnJl ZV9jaGFubmVsKG10a19jcnRjLQ0KPiA+Y21kcV9jbGllbnQuY2hhbik7DQo+IC0JCQkJbXRrX2Ny dGMtPmNtZHFfY2xpZW50LmNoYW4gPSBOVUxMOw0KPiArCQkJCWdvdG8gY21kcV9lcnI7DQo+ICAJ CQl9DQo+ICAJCX0NCj4gIA0KPiAgCQkvKiBmb3Igc2VuZGluZyBibG9ja2luZyBjbWQgaW4gY3J0 YyBkaXNhYmxlICovDQo+ICAJCWluaXRfd2FpdHF1ZXVlX2hlYWQoJm10a19jcnRjLT5jYl9ibG9j a2luZ19xdWV1ZSk7DQo+ICAJfQ0KPiArDQo+ICsJbXRrX2NydGMtPnNlY19jbWRxX2NsaWVudC5j bGllbnQuZGV2ID0gbXRrX2NydGMtPm1tc3lzX2RldjsNCj4gKwltdGtfY3J0Yy0+c2VjX2NtZHFf Y2xpZW50LmNsaWVudC50eF9ibG9jayA9IGZhbHNlOw0KPiArCW10a19jcnRjLT5zZWNfY21kcV9j bGllbnQuY2xpZW50Lmtub3dzX3R4ZG9uZSA9IHRydWU7DQo+ICsJbXRrX2NydGMtPnNlY19jbWRx X2NsaWVudC5jbGllbnQucnhfY2FsbGJhY2sgPSBkZHBfY21kcV9jYjsNCj4gKwltdGtfY3J0Yy0+ c2VjX2NtZHFfY2xpZW50LmNoYW4gPQ0KPiArCQkJbWJveF9yZXF1ZXN0X2NoYW5uZWwoJm10a19j cnRjLQ0KPiA+c2VjX2NtZHFfY2xpZW50LmNsaWVudCwgaSArIDEpOw0KPiArCWlmIChJU19FUlIo bXRrX2NydGMtPnNlY19jbWRxX2NsaWVudC5jaGFuKSkgew0KPiArCQlkZXZfZXJyKGRldiwgIm10 a19jcnRjICVkIGZhaWxlZCB0byBjcmVhdGUgc2VjIG1haWxib3gNCj4gY2xpZW50XG4iLA0KPiAr CQkJZHJtX2NydGNfaW5kZXgoJm10a19jcnRjLT5iYXNlKSk7DQo+ICsJCW10a19jcnRjLT5zZWNf Y21kcV9jbGllbnQuY2hhbiA9IE5VTEw7DQo+ICsJfQ0KPiArDQo+ICsJaWYgKG10a19jcnRjLT5z ZWNfY21kcV9jbGllbnQuY2hhbikgew0KPiArCQlzdHJ1Y3QgZGV2aWNlX2xpbmsgKmxpbms7DQo+ ICsNCj4gKwkJLyogYWRkIGRldmxpbmsgdG8gY21kcSBkZXYgdG8gbWFrZSBzdXJlIHN1c3BlbmQv cmVzdW1lDQo+IG9yZGVyIGlzIGNvcnJlY3QgKi8NCj4gKwkJbGluayA9IGRldmljZV9saW5rX2Fk ZChwcml2LT5kZXYsIG10a19jcnRjLQ0KPiA+c2VjX2NtZHFfY2xpZW50LmNoYW4tPm1ib3gtPmRl diwNCj4gKwkJCQkgICAgICAgRExfRkxBR19QTV9SVU5USU1FIHwNCj4gRExfRkxBR19TVEFURUxF U1MpOw0KPiArCQlpZiAoIWxpbmspIHsNCj4gKwkJCWRldl9lcnIocHJpdi0+ZGV2LCAiVW5hYmxl IHRvIGxpbmsgZGV2PSVzXG4iLA0KPiArCQkJCWRldl9uYW1lKG10a19jcnRjLQ0KPiA+c2VjX2Nt ZHFfY2xpZW50LmNoYW4tPm1ib3gtPmRldikpOw0KPiArCQkJcmV0ID0gLUVOT0RFVjsNCj4gKwkJ CWdvdG8gY21kcV9lcnI7DQo+ICsJCX0NCj4gKw0KPiArCQlyZXQgPSBtdGtfZHJtX2NtZHFfcGt0 X2NyZWF0ZSgmbXRrX2NydGMtDQo+ID5zZWNfY21kcV9jbGllbnQsDQo+ICsJCQkJCSAgICAgICZt dGtfY3J0Yy0NCj4gPnNlY19jbWRxX2hhbmRsZSwNCj4gKwkJCQkJICAgICAgUEFHRV9TSVpFKTsN Cj4gKwkJaWYgKHJldCkgew0KPiArCQkJZGV2X2RiZyhkZXYsICJtdGtfY3J0YyAlZCBmYWlsZWQg dG8gY3JlYXRlIGNtZHENCj4gc2VjdXJlIHBhY2tldFxuIiwNCj4gKwkJCQlkcm1fY3J0Y19pbmRl eCgmbXRrX2NydGMtPmJhc2UpKTsNCj4gKwkJCWdvdG8gY21kcV9lcnI7DQo+ICsJCX0NCj4gKw0K PiArCQkvKiBmb3Igc2VuZGluZyBibG9ja2luZyBjbWQgaW4gY3J0YyBkaXNhYmxlICovDQo+ICsJ CWluaXRfd2FpdHF1ZXVlX2hlYWQoJm10a19jcnRjLT5zZWNfY2JfYmxvY2tpbmdfcXVldWUpOw0K PiArCX0NCj4gKw0KPiArY21kcV9lcnI6DQo+ICsJaWYgKHJldCkgew0KPiArCQlpZiAobXRrX2Ny dGMtPmNtZHFfY2xpZW50LmNoYW4pIHsNCj4gKwkJCW1ib3hfZnJlZV9jaGFubmVsKG10a19jcnRj LT5jbWRxX2NsaWVudC5jaGFuKTsNCj4gKwkJCW10a19jcnRjLT5jbWRxX2NsaWVudC5jaGFuID0g TlVMTDsNCj4gKwkJfQ0KPiArCQlpZiAobXRrX2NydGMtPnNlY19jbWRxX2NsaWVudC5jaGFuKSB7 DQo+ICsJCQltYm94X2ZyZWVfY2hhbm5lbChtdGtfY3J0Yy0NCj4gPnNlY19jbWRxX2NsaWVudC5j aGFuKTsNCj4gKwkJCW10a19jcnRjLT5zZWNfY21kcV9jbGllbnQuY2hhbiA9IE5VTEw7DQo+ICsJ CX0NCj4gKwl9DQo+ICAjZW5kaWYNCj4gIAlyZXR1cm4gMDsNCj4gIH0NCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaA0KPiBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaA0KPiBpbmRleCAzZTkwNDY5OTNkMDkuLmZmN2Y4 MWZhNjE4NCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f Y3J0Yy5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaA0K PiBAQCAtMTksNiArMTksNyBAQCBpbnQgbXRrX2RybV9jcnRjX2NyZWF0ZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZHJtX2RldiwNCj4gIAkJCWNvbnN0IHVuc2lnbmVkIGludCAqcGF0aCwNCj4gIAkJCXVu c2lnbmVkIGludCBwYXRoX2xlbiwNCj4gIAkJCWludCBwcml2X2RhdGFfaW5kZXgpOw0KPiArdm9p ZCBtdGtfY3J0Y19kaXNhYmxlX3NlY3VyZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOw0K PiAgaW50IG10a19kcm1fY3J0Y19wbGFuZV9jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHN0 cnVjdCBkcm1fcGxhbmUNCj4gKnBsYW5lLA0KPiAgCQkJICAgICBzdHJ1Y3QgbXRrX3BsYW5lX3N0 YXRlICpzdGF0ZSk7DQo+ICB2b2lkIG10a19kcm1fY3J0Y19hc3luY191cGRhdGUoc3RydWN0IGRy bV9jcnRjICpjcnRjLCBzdHJ1Y3QNCj4gZHJtX3BsYW5lICpwbGFuZSwNCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX3BsYW5lLmMNCj4gYi9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jDQo+IGluZGV4IGRiMmY3MGFlMDYwZC4uODli NWE0ZTg3NTQ4IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9wbGFuZS5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX3BsYW5l LmMNCj4gQEAgLTI2NSw2ICsyNjUsMTMgQEAgc3RhdGljIHZvaWQgbXRrX3BsYW5lX2F0b21pY19k aXNhYmxlKHN0cnVjdA0KPiBkcm1fcGxhbmUgKnBsYW5lLA0KPiAgCW10a19wbGFuZV9zdGF0ZS0+ cGVuZGluZy5lbmFibGUgPSBmYWxzZTsNCj4gIAl3bWIoKTsgLyogTWFrZSBzdXJlIHRoZSBhYm92 ZSBwYXJhbWV0ZXIgaXMgc2V0IGJlZm9yZSB1cGRhdGUgKi8NCj4gIAltdGtfcGxhbmVfc3RhdGUt PnBlbmRpbmcuZGlydHkgPSB0cnVlOw0KPiArDQo+ICsJaWYgKG10a19wbGFuZV9zdGF0ZS0+cGVu ZGluZy5pc19zZWMpIHsNCj4gKwkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3N0YXRlID0N Cj4gZHJtX2F0b21pY19nZXRfb2xkX3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7DQo+ICsNCj4g KwkJaWYgKG9sZF9zdGF0ZS0+Y3J0YykNCj4gKwkJCW10a19jcnRjX2Rpc2FibGVfc2VjdXJlX3N0 YXRlKG9sZF9zdGF0ZS0+Y3J0Yyk7DQo+ICsJfQ0KPiAgfQ0KPiAgDQo+ICBzdGF0aWMgdm9pZCBt dGtfcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwNCg==