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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99A7AC433EF for ; Wed, 13 Apr 2022 09:46:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231281AbiDMJtA (ORCPT ); Wed, 13 Apr 2022 05:49:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46250 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234829AbiDMJrk (ORCPT ); Wed, 13 Apr 2022 05:47:40 -0400 Received: from esa17.fujitsucc.c3s2.iphmx.com (esa17.fujitsucc.c3s2.iphmx.com [216.71.158.34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A78C73C4BD; Wed, 13 Apr 2022 02:45:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1649843120; x=1681379120; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=ikhK/SFpoT21uhpgZ3KZaubrvQNvodAcPyboCYWIRoQ=; b=KDPdcf64Cb7HWCNAxU8XKZDECLUGCyC8aHPKqyE5LqvOpeUeD6xtkQER ZwmgQ88OGlTVypxN7qVKrgCv7gGe0Yx5MG7gLAu3MAugkRClgaVHyvevQ Rf6bGPLnBsO2cM4EDx7+NzyKfU3eD5DOdqQQjXADzwgOFnK2lPNG1KIix remXKB4Dfn1pNlUJkEVsSY6Nt8/OjTrWrlLBNoBmZVeIsn8gP17tpaT7w HxSYGnhKrw6bYj2Y+FtRo++s3cz5SvxC+R+uH4A+p4gSBDCQzn92DYiYp mqbqFDbmiv4RAFnGcpFUadyi29yPs+8C40foSJKhETzts1RgtllcdrtbK g==; X-IronPort-AV: E=McAfee;i="6400,9594,10315"; a="53818066" X-IronPort-AV: E=Sophos;i="5.90,256,1643641200"; d="scan'208";a="53818066" Received: from mail-os0jpn01lp2105.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.105]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Apr 2022 18:45:15 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dclm4DYwkXG0oSX+iCNstTRjwQFxifCCVSwHJQ6gVnKE5F2rK0FhM7I3J57wE9iOeNNWpmV4hzkuskLm+8yuDQZB/HNllghDCBXotDyTByz66yFYqC3LO+C+/rqiIVOIJYB5op0WkQGW0G9frfh+cEgPrJsTJuq3FwVZUzVpd1yRVt6eP7rYuCGECoApSJuAiSQSBVdi614pxckkTn5T1XJPzSMt5ow58cu2KZpgZlhG0/AeWKBlYvHZmnrYBuwPlDOjDhy23uc89J/Ut/SY6XVtBKfs7x/W7ZUkmTdHrHKMocvp7VcAHoUJT3nasj1xGjmYE8y4WIHQSRyGWSR+DA== 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=ikhK/SFpoT21uhpgZ3KZaubrvQNvodAcPyboCYWIRoQ=; b=IFBXwtRuuTQX9C3hKwzFbrqaVjv7eNBmeblIlrfn5cV2rD+iprZkSxGPI645/X44yNT1G1knVB5q8SpBkzj0xtkscs+FDqTA8CEQCHsWs7xoW9lmn0ERc+nqUo4B7ov+YFNR8Y2wlgaTwDKuS6QI0oi5AHdrD0OQD0O8VDnD8EEC5nqwjEUnP69WAMHyOoXTFA8g7phzsT05bl8hPv1R8r4S/KRd4Vx5wrrzSBU2nlXeJ/eh/hX75DXuflPOYL5jTIik0VxoC4iSur7+U1BY/0zx/Hx5XR3Y7fJ5bnAe67+8TljPHnmFUZLF1eJH+f8pplg3HBXKvt2RJpDbkFAUPg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ikhK/SFpoT21uhpgZ3KZaubrvQNvodAcPyboCYWIRoQ=; b=FPXKyhw/ESmZVZHhIIpe+Ezf7mPtLx2JJnQ905MSxIH3mIguRcOX8U1w/+OY/aU3EtjvlQmRKF5747T7IZAHgHG4bFM2WeJvKjnL7ZY2MAJ+8lrwNn2C+jdwNxeGHDgsR3J/LzMOUx21vJXT0R2WPzYqWb1K+0+9W0e2q6Nc/uc= Received: from TY2PR01MB4427.jpnprd01.prod.outlook.com (2603:1096:404:10d::20) by OS0PR01MB6051.jpnprd01.prod.outlook.com (2603:1096:604:cf::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.18; Wed, 13 Apr 2022 09:45:11 +0000 Received: from TY2PR01MB4427.jpnprd01.prod.outlook.com ([fe80::fca9:dcb9:88b4:40fd]) by TY2PR01MB4427.jpnprd01.prod.outlook.com ([fe80::fca9:dcb9:88b4:40fd%7]) with mapi id 15.20.5144.030; Wed, 13 Apr 2022 09:45:11 +0000 From: "xuyang2018.jy@fujitsu.com" To: Christian Brauner CC: "david@fromorbit.com" , "djwong@kernel.org" , "linux-fsdevel@vger.kernel.org" , "fstests@vger.kernel.org" Subject: Re: [PATCH v3 4/5] idmapped-mounts: Add new setgid_create_umask test Thread-Topic: [PATCH v3 4/5] idmapped-mounts: Add new setgid_create_umask test Thread-Index: AQHYTljV1XLIppAYZUyHKyMK/b7m8KztjPMAgAAduwA= Date: Wed, 13 Apr 2022 09:45:11 +0000 Message-ID: <6256A9F2.2030801@fujitsu.com> References: <1649763226-2329-1-git-send-email-xuyang2018.jy@fujitsu.com> <1649763226-2329-4-git-send-email-xuyang2018.jy@fujitsu.com> <20220413085946.bh2cii5q5isx2odr@wittgenstein> In-Reply-To: <20220413085946.bh2cii5q5isx2odr@wittgenstein> Accept-Language: zh-CN, 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=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 45aa5a0f-e023-485c-0a1b-08da1d324dbe x-ms-traffictypediagnostic: OS0PR01MB6051:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: f6Llgb03zcfy2uJ7m+UJpMQf/3A+LZXQMfFp+YIaM6gbKxJfW+kwPwKi3xqDqBtCI/bCe5aUKKPJHcrRLV+UwXedtnui4yLUyFDT3D067956wKC875ZuBMmel2Qs515Ly78qa0JhQGJs1qdl+v/P8YtvomgfIUiLiB9jR42jA0Y7b4ysZ9bRPfWSC423FfodBEduQmLHjW2iOok5uaQJxRgEHutDpkZlwy9MnwMRaouqBxTRX+R7k4F6/VS0LJow+Gt0xJdw7rgaTi7b/2KPMi0KxDOP3oaxPKY/UcD4vvyLO707F9yT8m1haovN6ZUz6eGKbOt53n6Sr3UL+Uzf7NKcLBLYQstcq2Rkn5ZqGiJm27QJWzMfXho72odd3dn7rynkAktMbGtqBkOSRQeMPWulu/ZbEjJhiaLOtimmfv/J6PqmY1UPs75t8EUgN3JEpVjaij71aD5dx7YwGL9KUNd3Eg+UN6+IPh0F/GyKuZazsgjlpP+D4buOHI4y4lSiBrd3hDgmYJYKS0UPw5xQqb/fkp1BAnwykxA+DhK+ofl0csebreD8S0Bpa3WpitwId4yDhOuCH1qq/gRAVHSObSxSbDt6LcJvqmPCDKNdMvQrGJmFh2Op25PlBUB0K41gd7YTny7RIDlkCxh4SdWpzsKp2Qu0Ufp9GnR/4YwDrLAkzO/1trRFLpD1pS9vu4irh/3ofzE3HOU3Aqje9xbBYa+UKF8doygRcm8ConIVlcokB/TzHifM5nuybz9gb46RucUXIKknYAj2Bh264pi+/xqyCn+rQimymWqvmKmUmkw= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY2PR01MB4427.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(87266011)(2906002)(186003)(2616005)(83380400001)(6506007)(6512007)(54906003)(85182001)(316002)(6916009)(86362001)(33656002)(36756003)(6486002)(966005)(508600001)(8936002)(91956017)(64756008)(8676002)(26005)(4326008)(66946007)(71200400001)(66446008)(38100700002)(82960400001)(38070700005)(66476007)(5660300002)(66556008)(122000001)(76116006);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NW1MdVFDbEl0WVd2dFVlYWRZWFF6WkNaelBoZVdXTzlLWWY1ZjlwRlBobDdu?= =?utf-8?B?VTRwaVUvZ1JxTUlVdGVJSzFpNWx5aU9raTRWRSt2UjhuOHZsZUxuazY0STVW?= =?utf-8?B?Ukl5MHpSS0tNL256MEpHdXV6bFBQZU5EbW1GMmQrSG4vMjNvbE5nWWxHS056?= =?utf-8?B?TWJYditNODZJcDIyZm1GWWovK3VaSU1uT042cEVoQ3FQNG9zdUJqenpNem8y?= =?utf-8?B?TzlGYmpHejFxN0FvWUF0UkNCbStvM00xcTdtSW00MCt3cHNDMHgvcGo3ZkR5?= =?utf-8?B?TndVTzc1Ky8zc05XVjRKbHNhbUhPa3k1MitnZ2xWdlVpTWF4Q0FrcXh1Rmxa?= =?utf-8?B?U0xRSWNyVHp1aGlORnFGN1ZZQzcwUEtLcEFKWkFYaSttT05SajRobFoxcSts?= =?utf-8?B?WWMxZ0FldE9hS25aZEJrcXlqbFBXeXNBVG1NQmtyOXJsTGRoRW5kcTlYcTc4?= =?utf-8?B?N3ZtSGttNWdSWVZtQWI2VHd2MFR6alp2Z2NacHJwZWRleHJCUVNtbVhualhY?= =?utf-8?B?WWgrUkZVeTBHZjNEVGQrUTFqdVpsdHdJR2IybXh6dmRCYU12U3psdnM1cStH?= =?utf-8?B?aEdERWd2aUxTcE93NVhZcU5vTUpoMHVDaVFCMFV5amg0eGY4REZwTUZrYWg0?= =?utf-8?B?cmloMWVRUDlPYjdxdWF3ZG9uSW0xQkp2STltS0VkVUxDVFMrYkJycG5FemNZ?= =?utf-8?B?OHcwVjRvSjc1YUZEa1pBMHFTaHdPUE1WMjg0Z095cldrWjZuOW5OWnprdGtW?= =?utf-8?B?ckRwdUdxZnY0NTlEQTJGaDBGUUhkMmV2T3JGRmREYnFBdytsbnVDaW8wQ0I2?= =?utf-8?B?eFdob3l5R2Nia3hIZ1pMcE1YUGhaNGV1Vm5jdkxOQlFEZ0NJMCtybWd1MElC?= =?utf-8?B?MTN3c2k3TEExZW1XOFF6T1o5b3hwSjlSUVhocmlXOWIydHVDcUtBS2lMci9i?= =?utf-8?B?dzBWR1NXYVJaMmgxRTFnZk1uaHNOOCs4RjhsUm9tcUUySVk2UXNOVmVrUGtB?= =?utf-8?B?UVQ1S1VDdXp2YjRoZGpqSlc2WTRYREZ3Q1J5MGxzNmQvamxXTTI2VldpQjhJ?= =?utf-8?B?YkJjb0tCUUN2OC8vTSt3MnpmbVBCallBT1k1ZnNuMzRCbjJNK1Rza3N1V252?= =?utf-8?B?bm5NR2lCNHY1a2FaaDZxVjhlN3E1c1BCR1FYWUhsV05FMHdLTEpnN1lEVzJM?= =?utf-8?B?a2NCTitmNldmaThpdnFRTkRxTzZLYTN1cTNhR3BTUnpKVzFONWZMUEtUNTIv?= =?utf-8?B?KzduOGhGTUFsZFltcWhzTHlaT21tdGNaTzhEa08relkxMldXOVhaZ2ZYLzE0?= =?utf-8?B?STFURlYyVnBGNGp1NTNaNEVRa2IyRmd5V2IxeG1yVDliTXVHdWhMb0dnY1FQ?= =?utf-8?B?aEN4K0xVeUFabTdxT1gvZ05kdVZRbDBWNVVnV1JPdFRTTXFIWjg0RkNEV3Q4?= =?utf-8?B?cy90SDhuUGpDOUtueCtBTlN0NDZhZUlhZkJQeEE4aDNJcGp4V2V3NlA0NVJF?= =?utf-8?B?ZWs1S3l5aGl1YXRlZzdxdkRJUGZZYmZnZnJkRnJITWhrSGU0cnlUUGlrUGhF?= =?utf-8?B?bkwxd2ZJRm1Ob2FCR081aXlZRVRGU3FtQVhhajlFaC9KRDZYTTBhZW5UVWZX?= =?utf-8?B?U3ZWN3ErTVdMTnduY0pveEhOUDA2WU0ydVZnSW9hTWlmNUgydXZZR014QTlw?= =?utf-8?B?SnI5WWlBcno0MFhqRjNnTkRxWTRaMkdnOVEva0IyR3RTbXk1YVluSVA3TlRS?= =?utf-8?B?WTB2ZGlTL0xnQ2Q2WEE1T1RpK0p2MExyd1JPeEtQZVlIWGVQSUdxZ3N2OWVG?= =?utf-8?B?STltd3RFcFd3TllSK1VCaFk0d3QreU1ramZ0bmFZeXBIdHB2RHpFQjd4MjZJ?= =?utf-8?B?eGIwM2FjYkxnSTk3UkI5Zk1RZ0tKcEZNTlQ3b1BQMzNLOUZVM282Nys5eWVL?= =?utf-8?B?cVN2bEpoNEFTRWZua1lBVFRDSzkzRXdQWUdZaEhyZTlCWk9SZUxObWp2RzdC?= =?utf-8?B?WTRUc3hwZzRoeHpzRUM0d1M4NnlWODBkL0VtMk91SE80Mms4Wi94L1BOOVFJ?= =?utf-8?B?K3Rka2ppMHJIOGpQS2IwK3hlZ2FraTRLQW1SbDMvMmJIVTNDWitDRWNMVnBS?= =?utf-8?B?VHpMdE9KTmNXVWtQTk5aVHNJZDBVcTd5clRkVXhTL01KbzJwQ1JFcFhISzFY?= =?utf-8?B?enlFQno4K25sbFArUWl1UEpZSWo4cXhQbjl3SUwwYkVkazI0RDRGN1lWS2dq?= =?utf-8?B?dGxoc0xjUUEyVlZueGJGVGQ2UzhiVWRGSU0rZndvOFFCWUNzRlBIQXZpYkE3?= =?utf-8?B?VndNV3ZCMSttcDVEMEozKzRxVzdtRVRicjROUkF4YWcxQjlhSmppYUNnT2di?= =?utf-8?Q?og+Hp3IO6cQOQkW/rAbg+BEKRJEpAWf5xA3HE?= Content-Type: text/plain; charset="utf-8" Content-ID: <637774A319BF67488A0ED93BC3C6497B@jpnprd01.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY2PR01MB4427.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45aa5a0f-e023-485c-0a1b-08da1d324dbe X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2022 09:45:11.5591 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XKJACE53hkZfVWrY/AT/mz0eBsnrqtCLZeOjLEnPC5z71C0jFPlusZrGvM5n1mkScn/imM6SGTF4Rq9k9t7wmj/iirsFjQ79/LWUSOcF21s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS0PR01MB6051 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org b24gMjAyMi80LzEzIDE2OjU5LCBDaHJpc3RpYW4gQnJhdW5lciB3cm90ZToNCj4gT24gVHVlLCBB cHIgMTIsIDIwMjIgYXQgMDc6MzM6NDVQTSArMDgwMCwgWWFuZyBYdSB3cm90ZToNCj4+IFRoZSBj dXJyZW50X3VtYXNrKCkgaXMgc3RyaXBwZWQgZnJvbSB0aGUgbW9kZSBkaXJlY3RseSBpbiB0aGUg dmZzIGlmIHRoZQ0KPj4gZmlsZXN5c3RlbSBlaXRoZXIgZG9lc24ndCBzdXBwb3J0IGFjbHMgb3Ig dGhlIGZpbGVzeXN0ZW0gaGFzIGJlZW4NCj4+IG1vdW50ZWQgd2l0aG91dCBwb3NpYyBhY2wgc3Vw cG9ydC4NCj4+DQo+PiBJZiB0aGUgZmlsZXN5c3RlbSBkb2VzIHN1cHBvcnQgYWNscyB0aGVuIGN1 cnJlbnRfdW1hc2soKSBzdHJpcHBpbmcgaXMNCj4+IGRlZmVycmVkIHRvIHBvc2l4X2FjbF9jcmVh dGUoKS4gU28gd2hlbiB0aGUgZmlsZXN5c3RlbSBjYWxscw0KPj4gcG9zaXhfYWNsX2NyZWF0ZSgp IGFuZCB0aGVyZSBhcmUgbm8gYWNscyBzZXQgb3Igbm90IHN1cHBvcnRlZCB0aGVuDQo+PiBjdXJy ZW50X3VtYXNrKCkgd2lsbCBiZSBzdHJpcHBlZC4NCj4+DQo+PiBIZXJlIHdlIG9ubHkgdXNlIHVt YXNrKFNfSVhHUlApIHRvIGNoZWNrIHdoZXRoZXIgaW5vZGUgc3RyaXANCj4+IFNfSVNHSUQgd29y a3MgY29ycmVjdGx5Lg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IFlhbmcgWHU8eHV5YW5nMjAxOC5q eUBmdWppdHN1LmNvbT4NCj4+IC0tLQ0KPj4gICBzcmMvaWRtYXBwZWQtbW91bnRzL2lkbWFwcGVk LW1vdW50cy5jIHwgNTA1ICsrKysrKysrKysrKysrKysrKysrKysrKystDQo+PiAgIHRlc3RzL2dl bmVyaWMvNjgwICAgICAgICAgICAgICAgICAgICAgfCAgMjYgKysNCj4+ICAgdGVzdHMvZ2VuZXJp Yy82ODAub3V0ICAgICAgICAgICAgICAgICB8ICAgMiArDQo+PiAgIDMgZmlsZXMgY2hhbmdlZCwg NTMyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4+ICAgY3JlYXRlIG1vZGUgMTAwNzU1 IHRlc3RzL2dlbmVyaWMvNjgwDQo+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9nZW5lcmlj LzY4MC5vdXQNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvc3JjL2lkbWFwcGVkLW1vdW50cy9pZG1hcHBl ZC1tb3VudHMuYyBiL3NyYy9pZG1hcHBlZC1tb3VudHMvaWRtYXBwZWQtbW91bnRzLmMNCj4+IGlu ZGV4IDAyZjkxNTU4Li5lNmMxNDU4NiAxMDA2NDQNCj4+IC0tLSBhL3NyYy9pZG1hcHBlZC1tb3Vu dHMvaWRtYXBwZWQtbW91bnRzLmMNCj4+ICsrKyBiL3NyYy9pZG1hcHBlZC1tb3VudHMvaWRtYXBw ZWQtbW91bnRzLmMNCj4+IEBAIC0xNDE0Niw2ICsxNDE0Niw0OTQgQEAgb3V0Og0KPj4gICAJcmV0 dXJuIGZyZXQ7DQo+PiAgIH0NCj4+DQo+PiArLyogVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgY29u Y2VybmVkIHdpdGggc2V0Z2lkIGluaGVyaXRhbmNlLiBUaGVzZSBjYW4gYmUNCj4+ICsgKiBmaWxl c3lzdGVtIHR5cGUgc3BlY2lmaWMuIEZvciB4ZnMsIGlmIGEgbmV3IGZpbGUgb3IgZGlyZWN0b3J5 IG9yIG5vZGUgaXMNCj4+ICsgKiBjcmVhdGVkIHdpdGhpbiBhIHNldGdpZCBkaXJlY3RvcnkgYW5k IGlyaXhfc2dpZF9pbmhpZXJ0IGlzIHNldCB0aGVuIGluaGVyaXR0aGUNCj4+ICsgKiBzZXRnaWQg Yml0IGlmIHRoZSBjYWxsZXIgaXMgaW4gdGhlIGdyb3VwIG9mIHRoZSBkaXJlY3RvcnkuDQo+PiAr ICoNCj4+ICsgKiBUaGUgY3VycmVudF91bWFzaygpIGlzIHN0cmlwcGVkIGZyb20gdGhlIG1vZGUg ZGlyZWN0bHkgaW4gdGhlIHZmcyBpZiB0aGUNCj4+ICsgKiBmaWxlc3lzdGVtIGVpdGhlciBkb2Vz bid0IHN1cHBvcnQgYWNscyBvciB0aGUgZmlsZXN5c3RlbSBoYXMgYmVlbg0KPj4gKyAqIG1vdW50 ZWQgd2l0aG91dCBwb3NpYyBhY2wgc3VwcG9ydC4NCj4+ICsgKg0KPj4gKyAqIElmIHRoZSBmaWxl c3lzdGVtIGRvZXMgc3VwcG9ydCBhY2xzIHRoZW4gY3VycmVudF91bWFzaygpIHN0cmlwcGluZyBp cw0KPj4gKyAqIGRlZmVycmVkIHRvIHBvc2l4X2FjbF9jcmVhdGUoKS4gU28gd2hlbiB0aGUgZmls ZXN5c3RlbSBjYWxscw0KPj4gKyAqIHBvc2l4X2FjbF9jcmVhdGUoKSBhbmQgdGhlcmUgYXJlIG5v IGFjbHMgc2V0IG9yIG5vdCBzdXBwb3J0ZWQgdGhlbg0KPj4gKyAqIGN1cnJlbnRfdW1hc2soKSB3 aWxsIGJlIHN0cmlwcGVkLg0KPj4gKyAqDQo+PiArICogVXNlIHVtYXNrKFNfSVhHUlApIHRvIGNo ZWNrIHdoZXRoZXIgaW5vZGUgc3RyaXAgU19JU0dJRCB3b3JrcyBjb3JyZWN0bHkuDQo+PiArICov DQo+PiArc3RhdGljIGludCBzZXRnaWRfY3JlYXRlX3VtYXNrKHZvaWQpDQo+PiArew0KPj4gKwlp bnQgZnJldCA9IC0xOw0KPj4gKwlpbnQgZmlsZTFfZmQgPSAtRUJBREY7DQo+PiArCWludCB0bXBm aWxlX2ZkID0gLUVCQURGOw0KPj4gKwlwaWRfdCBwaWQ7DQo+PiArCWJvb2wgc3VwcG9ydGVkID0g ZmFsc2U7DQo+PiArCWNoYXIgcGF0aFtQQVRIX01BWF07DQo+PiArCW1vZGVfdCBtb2RlOw0KPj4g Kw0KPj4gKwlpZiAoIWNhcHNfc3VwcG9ydGVkKCkpDQo+PiArCQlyZXR1cm4gMDsNCj4+ICsNCj4+ ICsJaWYgKGZjaG1vZCh0X2RpcjFfZmQsIFNfSVJVU1IgfA0KPj4gKwkJCSAgICAgIFNfSVdVU1Ig fA0KPj4gKwkJCSAgICAgIFNfSVJHUlAgfA0KPj4gKwkJCSAgICAgIFNfSVdHUlAgfA0KPj4gKwkJ CSAgICAgIFNfSVJPVEggfA0KPj4gKwkJCSAgICAgIFNfSVdPVEggfA0KPj4gKwkJCSAgICAgIFNf SVhVU1IgfA0KPj4gKwkJCSAgICAgIFNfSVhHUlAgfA0KPj4gKwkJCSAgICAgIFNfSVhPVEggfA0K Pj4gKwkJCSAgICAgIFNfSVNHSUQpLCAwKSB7DQo+PiArCQlsb2dfc3RkZXJyKCJmYWlsdXJlOiBm Y2htb2QiKTsNCj4+ICsJCWdvdG8gb3V0Ow0KPj4gKwl9DQo+PiArDQo+PiArCSAgIC8qIFZlcmlm eSB0aGF0IHRoZSBzZXRnaWQgYml0IGdvdCByYWlzZWQuICovDQo+PiArCWlmICghaXNfc2V0Z2lk KHRfZGlyMV9mZCwgIiIsIEFUX0VNUFRZX1BBVEgpKSB7DQo+PiArCQlsb2dfc3RkZXJyKCJmYWls dXJlOiBpc19zZXRnaWQiKTsNCj4+ICsJCWdvdG8gb3V0Ow0KPj4gKwl9DQo+PiArDQo+PiArCXN1 cHBvcnRlZCA9IG9wZW5hdF90bXBmaWxlX3N1cHBvcnRlZCh0X2RpcjFfZmQpOw0KPj4gKw0KPj4g KwkvKiBPbmx5IHVtYXNrIHdpdGggU19JWEdSUCBiZWNhdXNlIGlub2RlIHN0cmlwIFNfSVNHSUQg d2lsbCBjaGVjayBtb2RlDQo+PiArCSAqIHdoZXRoZXIgaGFzIGdyb3VwIGV4ZWN1dGUgb3Igc2Vh cmNoIHBlcm1pc3Npb24uDQo+PiArCSAqLw0KPj4gKwl1bWFzayhTX0lYR1JQKTsNCj4+ICsJbW9k ZSA9IHVtYXNrKFNfSVhHUlApOw0KPj4gKwlpZiAoIShtb2RlJiAgU19JWEdSUCkpDQo+PiArCQlk aWUoImZhaWx1cmU6IHVtYXNrIik7DQo+PiArDQo+PiArCXBpZCA9IGZvcmsoKTsNCj4+ICsJaWYg KHBpZDwgIDApIHsNCj4+ICsJCWxvZ19zdGRlcnIoImZhaWx1cmU6IGZvcmsiKTsNCj4+ICsJCWdv dG8gb3V0Ow0KPj4gKwl9DQo+PiArCWlmIChwaWQgPT0gMCkgew0KPj4gKwkJaWYgKCFzd2l0Y2hf aWRzKDAsIDEwMDAwKSkNCj4+ICsJCQlkaWUoImZhaWx1cmU6IHN3aXRjaF9pZHMiKTsNCj4+ICsN Cj4+ICsJCWlmICghY2Fwc19kb3duX2ZzZXRpZCgpKQ0KPj4gKwkJCWRpZSgiZmFpbHVyZTogY2Fw c19kb3duX2ZzZXRpZCIpOw0KPj4gKw0KPj4gKwkJLyogY3JlYXRlIHJlZ3VsYXIgZmlsZSB2aWEg b3BlbigpICovDQo+PiArCQlmaWxlMV9mZCA9IG9wZW5hdCh0X2RpcjFfZmQsIEZJTEUxLCBPX0NS RUFUIHwgT19FWENMIHwgT19DTE9FWEVDLCBTX0lYR1JQIHwgU19JU0dJRCk7DQo+PiArCQlpZiAo ZmlsZTFfZmQ8ICAwKQ0KPj4gKwkJCWRpZSgiZmFpbHVyZTogY3JlYXRlIik7DQo+PiArDQo+PiAr CQkvKiBOZWl0aGVyIGluX2dyb3VwX3AoKSBub3IgY2FwYWJsZV93cnRfaW5vZGVfdWlkZ2lkKCkg c28gc2V0Z2lkDQo+PiArCQkgKiBiaXQgbmVlZHMgdG8gYmUgc3RyaXBwZWQuDQo+PiArCQkgKi8N Cj4+ICsJCWlmIChpc19zZXRnaWQodF9kaXIxX2ZkLCBGSUxFMSwgMCkpDQo+PiArCQkJZGllKCJm YWlsdXJlOiBpc19zZXRnaWQiKTsNCj4NCj4gVGhpcyB0ZXN0IGlzIHdyb25nLiBTcGVjaWZpY2Fs bHksIGl0IGlzIGEgZmFsc2UgcG9zaXRpdmUuIEkgaGF2ZQ0KPiBleHBsYWluZWQgdGhpcyBpbiBt b3JlIGRldGFpbCBvbiB2MiBvZiB0aGlzIHBhdGNoc2V0Lg0KPg0KPiBZb3Ugd2FudCB0byB0ZXN0 IHRoYXQgdW1hc2soU19JWEdSUCkgKyBzZXRnaWQgaW5oZXJpdGFuY2Ugd29yayB0b2dldGhlcg0K PiBjb3JyZWN0bHkuIEZpcnN0LCB3ZSBuZWVkIHRvIGVzdGFibGlzaCB3aGF0IHRoYXQgbWVhbnMg YmVjYXVzZSBmcm9tIHlvdXINCj4gcGF0Y2ggc2VyaWVzIGl0IGF0IGxlYXN0IHNlZW1zIHRvIG1l IGFzIHlvdSdyZSBub3QgY29tcGxldGVseSBjbGVhcg0KPiBhYm91dCB3aGF0IHlvdSB3YW50IHRv IHRlc3QganVzdCB5ZXQuDQo+DQo+IEEgcmVxdWVzdGVkIHNldGdpZCBiaXQgZm9yIGEgbm9uLWRp cmVjdG9yeSBvYmplY3QgaXMgb25seSBjb25zaWRlcmVkIGZvcg0KPiBzdHJpcHBpbmcgaWYgU19J WEdSUCBpcyBzaW11bHRhbmVvdXNseSByZXF1ZXN0ZWQuIEluIG90aGVyIHdvcmRzLCBib3RoDQo+ IFNfU0lTR0lEIGFuZCBTX0lYR1JQIG11c3QgYmUgcmVxdWVzdGVkIGZvciB0aGUgbmV3IGZpbGUg aW4gb3JkZXIgZm9yDQo+IGFkZGl0aW9uYWwgY2hlY2tzIHN1Y2ggYXMgQ0FQX0ZTRVRJRCB0byBi ZWNvbWUgcmVsZXZhbnQuDQpZZXMsIG9ubHkga2VlcCBTX0lYR1JQLCB0aGVuIHdlIGNhbiBydW4g aW50byB0aGUgbmV4dCBqdWRnZW1lbnQgZm9yIA0KZ3JvdXAgYW5kIGNhcF9mc2V0aWQuDQo+DQo+ IFdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggdHdvIGNhc2VzIGFmYWljdDoNCj4NCj4gMS4gVGhlIGZp bGVzeXN0ZW0gZG9lcyBzdXBwb3J0IEFDTHMgYW5kIGhhcyBhbiBhcHBsaWNhYmxlIEFDTA0KPiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+DQo+IHVtYXNrKFNfSVhHUlApIGlzIG5vdCB1c2VkIGJ5IHRoZSBrZXJuZWwgYW5kIHRo dXMgU19JWEdSUCBpcyBub3QNCj4gc3RyaXBwZWQgKHVubGVzcyB0aGUgQUNMIGRvZXMgbWFrZSBp dCBzbykgYW5kIHNvIHdoZW4gZS5nLg0KPiBpbm9kZV9pbml0X293bmVyKCkgaXMgY2FsbGVkIHdl IGRvIG5vdCBleHBlY3QgdGhlIGZpbGUgdG8gaW5oZXJpdCB0aGUNCj4gc2V0Z2lkIGJpdC4NCj4N Cj4gVGhpcyBpcyB3aGF0IHlvdXIgdGVzdCBhYm92ZSBpcyBoYW5kbGluZyBjb3JyZWN0bHkuIEJ1 dCBpdCBpcyBhIGZhbHNlDQo+IHBvc2l0aXZlIGJlY2F1c2Ugd2hhdCB5b3UncmUgdHJ5aW5nIHRv IHRlc3QgaXMgdGhlIGJlaGF2aW9yIG9mDQo+IHVtYXNrKFNfSVhHUlApIGJ1dCBpdCBpcyBtYWRl IGlycmVsZXZhbnQgYnkgQUNMIHN1cHBvcnQgb2YgdGhlDQo+IHVuZGVybHlpbmcgZmlsZXN5c3Rl bS4NCkkgdGVzdCB0aGlzIHNpdHVhdGlvbiBpbiB0aGUgbmV4dCBwYXRjaCBhcyBiZWxvdzoNCnVt YXNrKFNfSVhHUlApOw0Kc25wcmludGYodF9idWYsIHNpemVvZih0X2J1ZiksICJzZXRmYWNsIC1k IC1tIHU6OnJ3eCxnOjpyd3gsbzo6cnd4LG06cncgDQolcy8lcyIsIHRfbW91bnRwb2ludCwgVF9E SVIxKQ0KDQphbmQNCnVtYXNrKFNfSVhHUlApOw0Kc25wcmludGYodF9idWYsIHNpemVvZih0X2J1 ZiksICJzZXRmYWNsIC1kIC1tIHU6OnJ3eCxnOjpydyxvOjpyd3gsIA0KJXMvJXMiLCB0X21vdW50 cG9pbnQsIFRfRElSMQ0KDQo+DQo+IDIuIFRoZSBmaWxlc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQg QUNMcywgaGFzIGJlZW4gbW91bnRlZCB3aXRob3V0DQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IHN1cHBvcnQgZm9y IGl0LCBvciBoYXMgbm8gYXBwbGljYWJsZSBBQ0wNCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPg0KPiB1bWFzayhTX0lYR1JQKSBpcyB1c2VkIGJ5IHRoZSBrZXJu ZWwgYW5kIHdpbGwgYmUgc3RyaXBwZWQgZnJvbSB0aGUgbW9kZS4NCj4gU28gd2hlbiBpbm9kZV9p bml0X293bmVyKCkgaXMgY2FsbGVkIHdlIGV4cGVjdCB0aGUgZmlsZSB0byBpbmhlcml0IHRoZQ0K PiBzZXRnaWQgYml0Lg0KVGhpcyBpcyB3aHkgbXkga2VybmVsIHBhdGNoIHB1dCBzdHJpcCBzZXRn aWQgY29kZSBpbnRvIHZmcy4NCnhmcyB3aWxsIGluaGVyaXQgdGhlIHNldGdpZCBiaXQgYnV0IGV4 dDQgbm90IGJlY2F1c2UgdGhlIG5ld19pbm9kZSANCmZ1bmN0aW9uIGFuZCBwb3NpeF9hY2xfY3Jl YXRlIGZ1bmN0aW9uIG9yZGVyKFNfSVhHUlAgbW9kZSBoYXMgYmVlbiANCnN0cmlwcGVkIGJlZm9y ZSBwYXNzIHRvIGlub2RlX2luaXRfb3duZXIpLg0KPg0KPiBUaGlzIG1lYW5zIHRoZSB0ZXN0IGZv ciB0aGlzIGNhc2UgbmVlZHMgdG8gYmU6DQo+DQo+IAlmaWxlMV9mZCA9IG9wZW5hdCh0X2RpcjFf ZmQsIEZJTEUxLCBPX0NSRUFUIHwgT19FWENMIHwgT19DTE9FWEVDLCBTX0lYR1JQIHwgU19JU0dJ RCk7DQo+IAlpZiAoZmlsZTFfZmQ8ICAwKQ0KPiAJCWRpZSgiZmFpbHVyZTogY3JlYXRlIik7DQo+ IAkNCj4gCS8qDQo+IAkgKiBTX0lYR1JQIHdpbGwgaGF2ZSBiZWVuIHJlbW92ZWQgZHVlIHRvIHVt YXNrKFNfSVhHUlApIHNvIHdlIGV4cGVjdCB0aGUNCj4gCSAqIG5ldyBmaWxlIHRvIGJlIFNfSVNH SUQuDQpObyBObyBObywgc2VlIHRoZSBrZXJuZWwgcGF0Y2ggdXJsDQpodHRwczovL3BhdGNod29y ay5rZXJuZWwub3JnL3Byb2plY3QvbGludXgtZnNkZXZlbC9wYXRjaC8xNjQ4NDYxMzg5LTIyMjUt Mi1naXQtc2VuZC1lbWFpbC14dXlhbmcyMDE4Lmp5QGZ1aml0c3UuY29tLw0KPiAJICovDQo+IAlp ZiAoIWlzX3NldGdpZCh0X2RpcjFfZmQsIEZJTEUxLCAwKSkNCj4gCQlkaWUoImZhaWx1cmU6IGlz X3NldGdpZCIpOw0KPg0KPiBBbmQgYWRkaXRpb25hbGx5IHlvdSBtaWdodCB3YW50IHRvIGFsc28g YWRkIGEgbmV3IGhlbHBlciBpc19peGdycCgpIHRvDQo+IGFkZCBhbiBhZGRpdGlvbmFsIGNoZWNr Og0KPg0KPiAvKg0KPiAgICogU19JWEdSUCB3aWxsIGhhdmUgYmVlbiByZW1vdmVkIGR1ZSB0byB1 bWFzayhTX0lYR1JQKSBzbyB3ZSBleHBlY3QgdGhlDQo+ICAgKiBuZXcgZmlsZSB0byBub3QgYmUg U19JWEdSUC4NCj4gICAqLw0KPiBpZiAoaXNfaXhncnAodF9kaXIxX2ZkLCBGSUxFMSwgMCkpDQo+ IAlkaWUoImZhaWx1cmU6IGlzX2l4Z3JwIik7DQpUaGlzIHNvdW5kIHJlYXNvbmFibGUuDQo+DQo+ DQo+IC0tLQ0KPg0KPiBTbyBmb3IgdGhlIHVtYXNrKCkgdGVzdHMgeW91IG5lZWQgdG8gZmlyc3Qg Y2hlY2sgd2hldGhlciB0aGUgdW5kZXJseWluZw0KPiBmaWxlc3lzdGVtIGRvZXMgc3VwcG9ydCBB Q0xzIGFuZCByZW1lbWJlciB0aGF0IHNvbWV3aGVyZS4gSWYgaXQgZG9lcw0KPiBzdXBwb3J0IEFD THMsIHRoZW4geW91IHNob3VsZCBmaXJzdCByZW1vdmUgYW55IEFDTHMgc2V0IG9uIHRoZQ0KPiBk aXJlY3RvcmllcyB5b3UncmUgcGVyZm9ybWluZyB0aGUgdGVzdHMgb24uIFRoZW4geW91IGNhbiBy dW4geW91cg0KPiB1bWFzaygpIHRlc3RzLg0KWWVzLCBJIGNhbiBqdXN0IGFkZCBhIHJlbW92ZSBz dGVwIGluIHRoZSBiZWdpbm5pbmcuDQoNCnBzOiBXaGVuIEkgd3JpdGluZyBteSB2MiBrZXJuZWwg cGF0Y2gsIEkgZm91bmQgSSBzdGlsbCBtaXNzIHRoZSBHUlBJRCANCnRlc3RjYXNlIGluIGZzdGVz dHMuDQoNCkJlc3QgUmVncmFkcw0KWWFuZyBYdQ0K