From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (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 5CD381F2C51 for ; Tue, 7 Jan 2025 15:10:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736262612; cv=fail; b=W1XCupYaMD6VmCT9DMaHZe7MxarRu+4oJETEZDpEAs/MIKm+KAUO6e7cGPvy3bH8UiyAmgCeZzp0gJ3A5qCj9Q+0Z+uwfq97qhsmNX4h+7H4b6uw5Os80pdTPDJQYNeFPeqpUywyA/lip+IoDabZrtAKtLA6yzopGnHpFyTiTlk= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736262612; c=relaxed/simple; bh=ce7w2PGbcgI+pNubpJ3m9wQvgmrVnToHNLMMTGwbf0Y=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=kNCDhK9s0QJfbiPBm6OT8n6UNJvcDAoccJEinjJqlIKgw8dcnJ5FyTuKEnWoVieUUiKrv6/cmaO9ooSMH2xMiSBvIUL9zrP1hIwcyFy5hzSlpnvra/Zpxatbvp9y8wGpbV9pYNgyMgLsmql0Z9oBACl0Bnqa4KwuY0/Cdi7XioM= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=G9wTLWQ7; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Tg//Hi2A; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="G9wTLWQ7"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Tg//Hi2A" Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 507EtrVn026717; Tue, 7 Jan 2025 15:10:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2023-11-20; bh=I+X83s4Z9xwM/Lok2f Zv+z+3QevUGoRrvL6KQna4E/Q=; b=G9wTLWQ76wKN8WPPhXGXEjPAIHht1NPIGm RyfZY2oYuDnecnRDEecZ+L0A7zGDKbadTUdHuvoYgoPmiAb0FNo1o5XqSNoJ0SVj XMFaxopr7X/RAVxrlDBl1qYEftr/gEdEn3sPUC2L7+c4jXVGprSpw6RVr22mJh1c QRojkOFnYBTuIWF2RGAjicAxSzbl9pb4IOEuu9nYD9s+2TJe5oQEzVikrivZTIyQ wv7g7DbDEdq4WDzNgd7y3iN1YbfgBYv80wkQSxGFLcZhNskOotdyxMZSLSYaxLUg PKLfWg9xR4ou+QCdSSDtPOu5fmWdR7yEuQukjhsfLB9ueCX7/S4g== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 43xvv94mq6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 07 Jan 2025 15:10:01 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 507F4IGT010924; Tue, 7 Jan 2025 15:10:00 GMT Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2040.outbound.protection.outlook.com [104.47.66.40]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 43xue8d4ed-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 07 Jan 2025 15:10:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EEQcUQPTTtCSpPtbNi2xcmACsQ2ph6ddB4edmgv/DB/Ar4wvne0j6fZQGITHrTh3WUcnr5YquNvLiVAPvdgVHtKtqQ1aTE6r8twI7fdBCnbL7dGW6cCgXRb39+VwwONvbCpElsPMuEp9M3LK+UpF3Mc6l8Mo4lpVjDER7ADqIZxUGVaU5RETUBTTEtBQaHeHK6DEUZmODPKxh9LH7gV+cTJzvLAc9JjcUrh8fBvN9ZPG6umK98EEthaXNitSRr/1x3XBGYpyDP7V1KzJQTQagvqiQNWbB6jfVomGH6dlrXs2jtSUiuvRDnq3Q0sGvLe7usbKN8Okj1L8ElJG96gZjQ== 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=I+X83s4Z9xwM/Lok2fZv+z+3QevUGoRrvL6KQna4E/Q=; b=U1a1edk+myAT8M5fH7GaxJ85B3qWkIFY3dnjt0SNvg5R+vZRMnDI6CjCVW14twJQzHeuRmsffD8LmJ/m7ylp73gJYPxwQuxeqSFxziMgzzV0XNbl1Df7icLf31cz4XP6lwlGsCfpQq6CBZ09nMX6IroAkqzpVNbCt4Z4oNEENtqPmey29w3gWCVCuPjuxjdetRY5uxM2Sg7bRi67SW/twyBZ/2Gz8SQmcB3yHsWd+jqCgFU0C/eEUnmxhM2+zffMZMemJQa0b0Fe/rJaH8yNasK8+Bu13qva7+Cck5QfgQ0jLh12p2dkAlk7fdu9bgxHTzfGDOI14Q0xEBH0h3iRTg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=I+X83s4Z9xwM/Lok2fZv+z+3QevUGoRrvL6KQna4E/Q=; b=Tg//Hi2AVQ8uu3yrTyPSuxB+Q81CbvcYXpoBUMOYT6O3lZv3yu9GbGVs4lHWu9K3NdnwwsFUOTVsa/sLVmBLi0gIuyNMcFego/InfcPPT0m7zd5nlETGHddbVK5WONxa/ySUOHLpoVjG34b2UhXvMO20Xs7PXoXlSG2w35duqew= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by PH0PR10MB7064.namprd10.prod.outlook.com (2603:10b6:510:280::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.17; Tue, 7 Jan 2025 15:09:52 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%4]) with mapi id 15.20.8314.015; Tue, 7 Jan 2025 15:09:52 +0000 Date: Tue, 7 Jan 2025 15:09:49 +0000 From: Lorenzo Stoakes To: "Isaac J. Manjarres" Cc: Andrew Morton , kaleshsingh@google.com, jstultz@google.com, aliceryhl@google.com, surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 0/2] Cleanup for memfd_create() Message-ID: <9ee67338-b0af-4fdf-b8d6-bab4e6c4ccc3@lucifer.local> References: <20250102230658.1112261-1-isaacmanjarres@google.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250102230658.1112261-1-isaacmanjarres@google.com> X-ClientProxiedBy: LO4P265CA0073.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:2bd::6) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) 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: BYAPR10MB3366:EE_|PH0PR10MB7064:EE_ X-MS-Office365-Filtering-Correlation-Id: ad42ca07-dcba-408e-ee6e-08dd2f2d565b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?JBzVRkO6I+EzT5bO/PSrecz9f6q8O0ugySDDk2uQNTFcZcmGT950FGG6gi8J?= =?us-ascii?Q?XBkRX3/bJ8jtXAYUzmNSGvvuUopqhCGox3BcHI9NowsPlGsJzII4ONL+B9sn?= =?us-ascii?Q?5imGH4m535J8szezSIBh0MgJIuoVVdtD9/HxYKpcbAwkQi20A5dYO0u1mV1R?= =?us-ascii?Q?OthrpBR0NhWFJDoAKQh9t+lKbSZvL+J85SAcY36TlOkkp93dBHU1xi1MeDGT?= =?us-ascii?Q?Xes7mJ++YEUDoHkEcYYNdqpnmyc/JQKYCBuvDC4oFWxwcpqqI3nfDDGpI5r5?= =?us-ascii?Q?T1y5FNRa/tk8LRLY8GeTN/TscM7q0Ds/zEEtfnv4LeG2ZJfi6itwhrf1oqwB?= =?us-ascii?Q?0xdyAJPXOZonMj67r1MrfIzgmwJK87neuSSt/vH2pdEpARTPC9O/IXpnmAY3?= =?us-ascii?Q?qovoSzTqDuMdr4d4fK9xu4tWwnkvgWV1uCul/Y3z/pzCMewUZIU+pWy7HVWa?= =?us-ascii?Q?mj85iYQcBNfmBnKe5W8DpufvcxXuO/dUIcNzd6bIyEocFuGkAC0JvSEpV+oI?= =?us-ascii?Q?N9AHYqUQcSDufCb151GBviFU/ngQpZHQWA7f2M0YdFxmsi1Rw1j5yMiJcDg8?= =?us-ascii?Q?J+4yiedHnaQc2IDMr+Fd9CbgWYn1rGr16opifZPcrNNIOgEulot66ZObCuHy?= =?us-ascii?Q?xf8pamsD1lNwrEnWuPH4RW/zmuz7mpnLiGuLQSugpikASkFlo7hprN1Fu3It?= =?us-ascii?Q?/b2xFbjaW+wOsc+wR2X5t81HSHvbycSK9y1RyKWoQjepq24ZHFn+KlIMeU0s?= =?us-ascii?Q?RN1CWxWi66SMaiKR4FboD9S5tcA6XJYrwjubZkt0NSgMjBscjCi4gHzN45IN?= =?us-ascii?Q?gToEeGhDQpG9LOGEzR+pQkauUmrmNxc3Lxr9FuWr8ik06KNRi/lWJNuIyLuN?= =?us-ascii?Q?5bdqzIOI/r0nv/yqLuIBInj3gXY+lne1wU5aFrZwSTlqo6xOauPkWtzcoTxT?= =?us-ascii?Q?hPlmHMVvAli1gw5lD4io7Mn3zwYsm6cQczqPQ1NZnCLa+MlyZFsWMtP5UZTT?= =?us-ascii?Q?vwy9JW8oKacrJaxDDAIpH8EZBYL37rp1khvd5/kb6sRG8vbEtDrhf/e0dL+l?= =?us-ascii?Q?+7+bsmVc8I9hZ78hQcdNhE2SjcBi6cetEwy8GSh0yw3Pc2OAGtF/GuV8rYM1?= =?us-ascii?Q?GEYNZ+b+HbDWUXVH00hSwejfUV/HDBFWI/pBqlTctcF68GEvkLv+tYtz5QdM?= =?us-ascii?Q?aOk/EbmxLR+dICW1rgCrTajrIuYsEqoZoUezXnRAzTmNGOU6fLDCOy1TypTM?= =?us-ascii?Q?CIdF/FQzKs/HXKnf10sADSRtM3DLukroyqBQDlJ2kBSrMM7dyk+7Kk295lb0?= =?us-ascii?Q?4zl7yaMKv4G9YpKP5Am9a7HVz+d/8TDqFFYdDyHdUS9xJpE7aFUTpxgM6yvo?= =?us-ascii?Q?6u3ZVWVKmtbt3HcVqSXBhtqratQT?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB3366.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?li/ydAgGi6TU1778VoSfHPKfJsTbIWjD99t3Bg9n+0PSlDFWP9lzq2uiKe9o?= =?us-ascii?Q?9axBS06jVEc6rAnsg1GMzt3R0DdYv6VN8b0UDXq4fPqp1RM89PphV45+YR5R?= =?us-ascii?Q?nZal+sd2clGxhV0oHLD99rQgn1tk2HdvcY8kXW16r72L+A44XK0h61t6k3LX?= =?us-ascii?Q?s7NXp45MfOAnyUUhOqJh2Hvs2vGt4+YKJB9LhIvy7+EF8ZwtWbajf2Qkdppx?= =?us-ascii?Q?e4WY92t1SdZkDoJk5wrmGHVHnBsfCYzIrjYm0PVYiiLyTvpIyez5/Rm6TpPd?= =?us-ascii?Q?eUEDCXvuv4UMTCJkHTGPrhs0sF3X/2GYIOVO4LM+RQIAdjHiOLFoT7kJVoWx?= =?us-ascii?Q?PyEARdgevVrm5a33JrKYFF/NhlqE1ftKj8l1E+hyIAVWV9q7ggNqZPpEwKeQ?= =?us-ascii?Q?bexT4wExayIySZdCjJxyZ7NVCCwKTyM+Q9LAKh/1yCS2uSLmoFA6RvQJMisK?= =?us-ascii?Q?C669WVedSZ6eYErTT0BlB+b7R2IS+u6GHYasA8Ieb5yYbwsvrB3/V7ePM6Eq?= =?us-ascii?Q?xcZaKseCVvOt0tyPfoApZ8QvZTBJBKuIRoWaBImCFgXnboNFjgw27r7kUjXa?= =?us-ascii?Q?boXC6EIP1E6lXQqB4ZYNjOlVCv/W/TqUwc+uQZtpKfq+S9qwZLFBpFmV18nG?= =?us-ascii?Q?NUaLOMG0QG1hAMALuccH5CVJB2dcDY2TzuDnSUpCC0UKLqr9l/xZkoSqOwUr?= =?us-ascii?Q?3NPpzuCoVeAfe7ZwRFBHSZsYRWs7FySbkESOINQBW7KcWDxlNdj6BxKD4as+?= =?us-ascii?Q?CdaFPdMtXNfoyNqOPhOyKu6lz6rXXyFJU9gXN3JVjaeN5XraUWA5zDyZdHoO?= =?us-ascii?Q?NiyYOyC0h6gov4jALAQU3BgNqx3OXORRI8Bwb2Gcy5cpzoAmOefv0NwY0fc5?= =?us-ascii?Q?VuYn+I7nT2mDOy7k0GrfWrtjPxHmLXCxvcKq3sWyr2uncvKhvIOUG7vmG79c?= =?us-ascii?Q?/pXMHveIZLSNPngHDxgN7ItGAt9zQMNFCAeo89L7iXulqsppfT4bIFq590wZ?= =?us-ascii?Q?ce+uGU/Wx76kxtMGf9ek2+lHy8FK2am/DRDlnJH607zAPUz8ySfkrR82pAx4?= =?us-ascii?Q?cJt3wxrsG3gxAliHn8DK6gomaF8DHugfwUg/RnaUZMjIVoXCjuUKTenIr6xD?= =?us-ascii?Q?0xgAuOoz4r7LeoY/VsPhzMxNms2dDEIFDmH/GMPDkMPb0Z+Tsy1T9xsm/Fsh?= =?us-ascii?Q?5QvNo3TbKgyTLvo8pJy2OmteYCwc5eVRGCqtbSBzjSFm4l1XRZd8FJj/OkiH?= =?us-ascii?Q?YtGrz7Qi6MUfPf6GAB/OkMBQOutk9tQPtESKh03fRenXB177+dxBNmzp86Yx?= =?us-ascii?Q?IP0N/a9UUyaM2YlWfGhd9muR1mdVE51Hhkbtlv3edd+k7y1Rz5SxQbNFHZYp?= =?us-ascii?Q?lNnJOsYgZOIEkDjtwrj/szl0J5aOUPZ8YIdHckYXJ5dtJWtFEc5ENtTa0t5U?= =?us-ascii?Q?GzbTTOVafNnVDFCZ5EquEDMUM2Pb7gfEfc2PGfBTCVp2vH5gBFKywbFY7Ry1?= =?us-ascii?Q?KvCIj7ctpASMixsmQC5cVlGYAbxijXXKJnvMI3HD18qbr04qU75H01lmGOBQ?= =?us-ascii?Q?Z6dRwpFzz4MDQVBWFhNsU1kHtJMHyU8/imLsNLo4Kd459o5kNDuEwVGKEtUQ?= =?us-ascii?Q?Hw=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: twA1cFhB/QtZMkgCzkVn7wNX2YBEieUanDIcbNYSaxQHHQYkFFU+4AHyUuw0IJaM2+c2/xX7f/q2j6dRGaRfNd+eFkAD1Mg+HZtBHFqiEMFwxsHNj8Kk24ngVfUgUMISdFIwJyBmgoy8sZDh6r+cRbiPQnQK5FTZ/++KoaOXV3gojwfbZ3pF2a1Ef23KL3Vw5v1BVZL+FS/pNA2nG7NGDPx1MauS1Ge81rRCevUFQm3aJdoM/VsJkTPttR5D8k9XTLszgedZxh7X5arsy9c/rADYXWmREgualXf1G25rtvVR51vB+4Bx5ASjQQBcGPSdfBvQ76fetMt0ZOu6ZMfHwF5+GnrxIipqH4pmxvJyoSSPKgCeV2oI7e0gNbm834B/MONuhfHxFcGK1vJ/B0olBp202yINrB48/v4oV1wCGEQLW9RxPMGmj+/radNMXhAK4zEysIrr1q9WBhl6pS5Hx4HYiJfmkWwUZ5M8a/Gp55Y2q7Z9DzYWSoU4ql41ri2RiYkEPyOux5Mr2enDm4lP6UOoCclxw3GxtpvecmvZ/7RFHffsIYvDf6JhYjKsNXqtr5kFvYKg3YZX/MB7wD8mk2v2a48JkFD2aJOjAXjpt2g= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad42ca07-dcba-408e-ee6e-08dd2f2d565b X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2025 15:09:52.7379 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ncYUcXVLOfEAxY65tWctCssF1hGKoEzCzhREjgz9ASVKxNS7L4yM4tiOv2WjFx53eFyU/cMPVONKyASwJt9iviKcuIixgXL2aHkK8+n0L2A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB7064 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-07_03,2025-01-06_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 malwarescore=0 adultscore=0 mlxlogscore=567 suspectscore=0 mlxscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501070127 X-Proofpoint-GUID: 2zyiK6wZv7TKW7JOLoKv0pu09A-6msol X-Proofpoint-ORIG-GUID: 2zyiK6wZv7TKW7JOLoKv0pu09A-6msol On Thu, Jan 02, 2025 at 03:06:53PM -0800, Isaac J. Manjarres wrote: > memfd_create() handles all of its logic in a single function. Some of > the logic in the function is also somewhat contrived (i.e. copying the > memfd name from userpace). > > This series aims to cleanup memfd_create() by splitting out the logic > into helper functions, and simplifying the memfd name copying to make > the code easier to follow. > > This has no intended functional changes. > What is this against? I tried b4 shazam'ing it against mm-unstable and it didn't apply. Could you rebase on mm-unstable? Thanks! > Isaac J. Manjarres (2): > mm/memfd: Refactor and cleanup the logic in memfd_create() > mm/memfd: Use strncpy_from_user() to read memfd name > > mm/memfd.c | 101 +++++++++++++++++++++++++++++++---------------------- > 1 file changed, 59 insertions(+), 42 deletions(-) > > -- > 2.47.1.613.gc27f4b7a9f-goog >