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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 82C15EB64D9 for ; Thu, 15 Jun 2023 07:48:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 053396B0072; Thu, 15 Jun 2023 03:48:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 003B16B0074; Thu, 15 Jun 2023 03:48:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D9A528E0001; Thu, 15 Jun 2023 03:48:29 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id CA7B26B0072 for ; Thu, 15 Jun 2023 03:48:29 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 8CAFBB0462 for ; Thu, 15 Jun 2023 07:48:27 +0000 (UTC) X-FDA: 80904204654.10.26AB393 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2088.outbound.protection.outlook.com [40.107.14.88]) by imf11.hostedemail.com (Postfix) with ESMTP id 638DA4001B for ; Thu, 15 Jun 2023 07:48:24 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=suse.com header.s=selector1 header.b=SBwDYtIb; dmarc=pass (policy=quarantine) header.from=suse.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf11.hostedemail.com: domain of nik.borisov@suse.com designates 40.107.14.88 as permitted sender) smtp.mailfrom=nik.borisov@suse.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686815304; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=QDiZfHHu5UuW89C3SOpWMjNWGIsDXjq48VYLFVUKlr0=; b=kNdY32rJygyhmQRfJSh0vpHoGeUiOOaJ2VCNUX9b16l5Ouz/VosXWQ0nDePIPgWI3yzMNn QAVTV4K6Yod4/dhSHRSs6vKiOdXFN8wMtbc2hW8a0AW1kpWwGjR7zJuiVZqmUi0+Ja6wWr zdNbtF0pC25QdiB/jW8VEjsP7A7A5t0= ARC-Authentication-Results: i=2; imf11.hostedemail.com; dkim=pass header.d=suse.com header.s=selector1 header.b=SBwDYtIb; dmarc=pass (policy=quarantine) header.from=suse.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf11.hostedemail.com: domain of nik.borisov@suse.com designates 40.107.14.88 as permitted sender) smtp.mailfrom=nik.borisov@suse.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1686815304; a=rsa-sha256; cv=pass; b=4z/JaYBy/yI2djF+LJtufWQBi008HJiahSn1nQ/2judvAAN6WPd5zX3bWkDca0Aug9iO+W LlXBgTysjhRZaVHM7zTkQ4cGgeQLXvAMEOka26kCHg7Edf4jR132CkqHT/LrPe4+bC0XJ3 rasOhZACAJyaAU3bG4Naf4J6uue/yYQ= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g+1rQs5j0ZVpuFs9vhKENu7m6ESlKIlAlwVLgFiPOFmjWg0Vsgo84K0MjW75usnYOUclInREVl2TSklJuyzJreE/B+BMShkqIoB+yYRl2+Kabh5KVpi8dsKiphu9LZugFrJCY+q3z42tfoGsSrQLI7+VuGzt3vqLYnbDTHx6EAFHmDN+Xoa2Fa1Tqk7VsV9aCqMvKdYZBnbQrQb8M2iFk/QEaOPHgk79Aim9JHEJ6FlXLnNpkQXqH+QhVuIQoG/zNG3FZDA8CjEbFlDVTQbERfuOO1l2lmQpXmyIXOjdV8gyLL6VgFU21r++69rVPbbXBy89+rY954QlvjQB4W8hxQ== 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=QDiZfHHu5UuW89C3SOpWMjNWGIsDXjq48VYLFVUKlr0=; b=lnvLZvQx3LIh6L9nSc4nASBfTf/N9SpdNKKsAvCG9QA9QGDnwWOatMMLR6b3YL1Vm7SEjH7yDqBOIzxIB6BcLSlv9CdJ0tYfZ5ew/e1a5uqpdMCsCIWEPDL6jHoKm0LfGbStni7n0OKgGBfB71tow8mBIr4j7Bo8MdSfPsHGpN7ZxDnptTE0Uo4xLJcUTLE9eIXVO02USSvQ1nA4qLECr58Fb4L5NzEtb164eyay5eh212ddQg7lTTQ3t4zCZ6991p/zba1wKak7TCmB8gx0ZlVD1vpMXy53i0mpAu5t3Z/2NCraDGufe5HRP2/nUhVBMZA0JDkxtRe0MQABMRiEuw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QDiZfHHu5UuW89C3SOpWMjNWGIsDXjq48VYLFVUKlr0=; b=SBwDYtIbDmM0lXb4y+qXj+e6fvPWGrdXnZgR7K/8uTEMX3k2tAX0TaCt45rGKDhbEuCfLOZ5OOgxKD29+JoYE3qhJgGTaYvSxzk1nsLx4l3nqWTpl+MkdWrUfVjN76CuFVF7uQ8MEwO8id0e81wy+Uk9uFHeMc7JX6t/lIpzby9Ye8pfkTyyxuiSKQiuTJn/RikykWZ8QnBoBv1VlKXEzYPTo8cCdAgLtWy48qWupRGGiMGDmUrH6Lt1SEsxmYCouYFgIBLEMvDSgBv4N/Fiw4Ki/B4iPdUfavBZSNRPfUJHxgsb8Vzx0oMLFzDNBdubnl9ZwlIuGQhN/dNQ7afEOg== Received: from PA4PR04MB7790.eurprd04.prod.outlook.com (2603:10a6:102:cc::8) by AM0PR04MB6916.eurprd04.prod.outlook.com (2603:10a6:208:185::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.37; Thu, 15 Jun 2023 07:48:21 +0000 Received: from PA4PR04MB7790.eurprd04.prod.outlook.com ([fe80::66a2:8913:a22a:be8d]) by PA4PR04MB7790.eurprd04.prod.outlook.com ([fe80::66a2:8913:a22a:be8d%4]) with mapi id 15.20.6500.025; Thu, 15 Jun 2023 07:48:21 +0000 Message-ID: Date: Thu, 15 Jun 2023 10:48:17 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Content-Language: en-US To: Kai Huang , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: linux-mm@kvack.org, dave.hansen@intel.com, kirill.shutemov@linux.intel.com, tony.luck@intel.com, peterz@infradead.org, tglx@linutronix.de, seanjc@google.com, pbonzini@redhat.com, david@redhat.com, dan.j.williams@intel.com, rafael.j.wysocki@intel.com, ying.huang@intel.com, reinette.chatre@intel.com, len.brown@intel.com, ak@linux.intel.com, isaku.yamahata@intel.com, chao.gao@intel.com, sathyanarayanan.kuppuswamy@linux.intel.com, bagasdotme@gmail.com, sagis@google.com, imammedo@redhat.com References: <4e108968c3294189ad150f62df1f146168036342.1685887183.git.kai.huang@intel.com> From: Nikolay Borisov Subject: Re: [PATCH v11 12/20] x86/virt/tdx: Allocate and set up PAMTs for TDMRs In-Reply-To: <4e108968c3294189ad150f62df1f146168036342.1685887183.git.kai.huang@intel.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: ZR0P278CA0151.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::12) To PA4PR04MB7790.eurprd04.prod.outlook.com (2603:10a6:102:cc::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR04MB7790:EE_|AM0PR04MB6916:EE_ X-MS-Office365-Filtering-Correlation-Id: ae2c5d3f-59cf-429c-6065-08db6d74e3b4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HZ1929BrvtogSeRZi6/6+Vs/ECJU0gOIH8NbbB3ZOSxmEMU4UsvNilP6PcwwYRJdvBGjX/opiiDTyTMTbBM+1nksT/PYxNKAVrB2BSOmhFSsTDQZjI9ajfKdBPTcT+J1c3w34UoRyZ0j7MeZuzRr3O9RPds1Tc0QAcDr/qxKdZjQXKZDf7ypl3dY9OACoidyQiUP2FRypeG0wpVQ8aLS5R6BJFwHLxy9+j/ZwyGxho2r+FChJSNwLjj4I+SDmIRtUvgkXZLCwBrF8xJgMj4M0okZAYtUrGbIc6UzmvqLoeEZy0EgC5rZTjLO/xh68E+eL2YKJp+ZMHcBC5r0tKoFmr7jFckCyT6A4OT7XS8R4FE4jRMw2q+MTV9lEfZDLVbuFMIjC1qaSVzDw/56ZW9NAbUqI7xdpauS1HJ8PcjooN7Zg5ovuArTFrV0u2tERIr6fVjuHcHmoVqmxWMeyz77+BWaazDi0tNWAsoGkxYB4dEgPStZlSZ6dsKHcJ6y4Sx0KC0sGvfzjfop1ZsC12BKigBWC3gh1s8NKoRpzXX5b9uMUdNJBPIxSzwMMKD4VdxSUt181dg/qu8w3iil4oqqmpypVIvrCnf8FaPKSurck+F2QVqF1uwyxD/FlgYTpUXg0JoTCfPIfZwCjAKSffgv4pTIVa1X7965PNyoxpilpwE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB7790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(366004)(376002)(346002)(39860400002)(136003)(451199021)(36756003)(6506007)(6512007)(186003)(478600001)(6666004)(6486002)(2906002)(316002)(41300700001)(8936002)(86362001)(31696002)(31686004)(5660300002)(8676002)(7416002)(38100700002)(2616005)(66946007)(83380400001)(66476007)(66556008)(4326008)(17423001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eWxESjV1bDAxQnJFcFJOSjRPTkFPd2cwaW5QY0w0a1BkQXdvVi82STlJZ2ox?= =?utf-8?B?emFNWlhEa0Q1bVFnTkVUWDVQallSMkw5NHZnd2dGOXorNDI4ZndxUVlVMmMv?= =?utf-8?B?YlYyeU1sUlJ5WURONnBPTTBhS2s0Ynh5SXZmQmJIQWFCNFc1YzBJdlhVcW51?= =?utf-8?B?OGh1enNOSnBJd3pWL1hHdXVvQTBEdnZKRllNK3M2YXh5RnpVd096UU4raHNl?= =?utf-8?B?M2pvUjEvSXpGcFZEd2U0WEV5S2VnZU5NVE5IQWFJZFh3aHJGVzVUSTlFMmtl?= =?utf-8?B?OHEzSTY5aUQ2ZHFXNzF4dUxBa0g4NlBIcWVoKzZxREVzM2hLMGpIai95LzBE?= =?utf-8?B?YlhSaC9TNUdLTzJ5dEhzYzF2SU02QWRsbXZDWVdGRWFsbmxQK2FZaVE1Q1Ry?= =?utf-8?B?TGNiT0V3aStOdEEwK0Q2NUhac2xkTktNd21wNHd2eDd2YWErbjJ1aXYrdy9o?= =?utf-8?B?Y1hoUUNGbE9uMEFVN01XUzNLNXpsanFBQkpZc3NOdis3T05vb3BMNllvenBj?= =?utf-8?B?eVFkTnFPdmZTOVI1NERkdnRTQzl1UkZrR3lwSnJkWXI5SmFSK2lmd1FwbVFJ?= =?utf-8?B?aHpOV3BscnJPQlVsNE5JYkcrVEpDV05FbUVkMzFURmU3VWwwOFVQTkhqMGts?= =?utf-8?B?ZEhsWXJjSTBWL0hlZ016aUkzNW5ZTVpVNW1FdWVjdnVadUI2SS81MXVtQkIx?= =?utf-8?B?d2Ryd3lyQmtrNnB4MFZkZldXS3RNWjZBYmZSUWRveVk0K1BQV1NoMWlvYkUy?= =?utf-8?B?cWpNS3l0OVhHbFc5STh6YTBQSWtCMk82dTF3QXhXL1RFKy9oVzRYUFZrZ1lD?= =?utf-8?B?M2JDNGFIcFQyMEQyMVMwTVU5bU1OckloOHUxWktrTGQxd1QweW1HNzF4eHR1?= =?utf-8?B?L0d2Z1B5bmp4ejdvWjN3a1R4REZHK1VZVmQ2azZsdVQxL251WE1KcDN5cUJV?= =?utf-8?B?SjZvTDl5TzFsejRlT0lYL2hmS1lidlBQSXdmUUNsdVRMc1gxSzA1ZFBuUk9q?= =?utf-8?B?a1ltRHB3TW1Qb0djd3NXUW1SeGowNElYNUcwbnkxNlhPSk9POWc5ZFd3UzB6?= =?utf-8?B?bTYvU3JMbDI2bmlwSGtnK3hpai9CakRpT1NVREpabkJtVWNzVnFyVjVZUlpL?= =?utf-8?B?Q3IvSEp2VU9jYmRBRjA5cUxGZEMwS1V2S3VKVlhrOE9VMlhqVGxEaThsT0xT?= =?utf-8?B?d3JvSGVXdFE5cHl0ZTJibzcvMktZb2NUdVovL0preWhDbGJwbGRsdkk5eks4?= =?utf-8?B?VlA4LzdxY1JMQlEvTjF4ZERuaFIzYkU0MXR4VFhRUmlXQlkzbnpmVytJK0Ri?= =?utf-8?B?V09abTBsMmUvTHFmTkxFQ3JSM3MxbVo0ZFIrNndZZFFNbExIdFlBdzhVZFVh?= =?utf-8?B?bSszdU04Wk9LMzlJSXZ4U1RmbGlSMWtLTGtOaTFMaFd1SUhxN0NzYmQzTThS?= =?utf-8?B?T1NCM2ZTWUl1MW96aTZwMGZ3eVk0MDN5T0hHQWZNNTZKNXlkRzBBOFlRWWVx?= =?utf-8?B?SHFOZ05Sb1N1VFFCUG5JMGVwNnAyclBuUy9ycnI0RmkwbFR6OHphS0hoTGNt?= =?utf-8?B?Ri85NWxSWWhkdjBET0pOWGhJKzVMQkF6UXF6cDk1bkZSRzVNOHdod0FVOFNr?= =?utf-8?B?TVFRdTQ4eHlxSW1ISzVqRDR1RStyUjZpQVV3ZG5CNzFGK2l1cGErdDhtaGps?= =?utf-8?B?RHFnQ1k0dEVHVjgwRnRVN29Za0dZd0NsSkVPZVVSVzZhRGdLYkI3bTJmeDVV?= =?utf-8?B?WjA0N1F4WTFCSjlyc3k5ZUtQaFpxaHMvVzRBNTFYbTJzdFdIVElHM2srZGpL?= =?utf-8?B?YTc1WlBMenEwVU5QYklycjB1WFNhaDdReUtIMndqcDY2RGZiQlduMU9IQTBI?= =?utf-8?B?T252b25id05uODREak9YTi9BL1pZV3ZERzJ0R2Zqbk05Z2RsdUkyOHpUWFdN?= =?utf-8?B?NjVGc1R5bmdqLzNGSnB6OGJYSFMvR1gzRFA4RTVjNmhKRXlmZVBHY0lqeHVP?= =?utf-8?B?bGlHSUtVMFltVjFZL3d3N2FSQW5ic29QaW1lQnpCckRKRXg4ZWY0Y1pRYlVK?= =?utf-8?B?eXVGSW00QmdzejB4NHhCNmdNMG8ycXpVc29Tc0JnVThETFY2MDRPZzB4bEVk?= =?utf-8?B?UEhhc0t5NlZKSU5FK2RNRkJNN01VTXZNOXU5RS9ncVc5M0RydVpjVnNQY3pa?= =?utf-8?Q?pFX+176lgU8kLuFh+20Gj5BtjrKosGS66A25wcudhCSh?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae2c5d3f-59cf-429c-6065-08db6d74e3b4 X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB7790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2023 07:48:20.8678 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eClDVououNUybRG+ikqCD1i5V4S/aGL8x6Ge7ywyRWTTLnfb6hw8wfq+R19fdNZagwLExHYWQ4AfB4BuePfmgw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6916 X-Rspamd-Queue-Id: 638DA4001B X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: eyydx86jqcu91upk7oo3sxu7c55jg8bx X-HE-Tag: 1686815304-421923 X-HE-Meta: U2FsdGVkX1/zmeR3Zb3UOhlYjuh/jzcZOw0tVz/NwHjJjTK8DUSfAHEpPCuwq1Z5Mu+TkmOsEeGJYhvnQgttODFluyiRJohyT34AlzAkwdZaLbWGoHZd4VmWgWmd6dAhF23rHWf0IESJXTS5B0ZabsiRcCoGGu6o/V5mfoYKXRbj9WIFTzq6EIKcG4JG8HlYzFxcoe6sNL6LVbDfww0XyfMaofZFXevJHoANiTaBv1mABUUb8B21CBq/6ejX8hnfa/mf6IyKdDRl6iBRWho9R3Zf2MkvkVw8bK/H3L7YmAy1oqHXZOjbn9XGC1uuEz9iZSGB/tPgQt9aDUj8YydpoqmxX7XtYRi7oCRpqzpHULCPVwmzH+731RN/nZCHOIqLVtJ6RQOXgi1lHI0yCI6oKUtXnBWyqTuC6y0IRAT42ZIPERy8LXmezRCThaQqmCltT6LwFfLvokZySIsZEKHU7yuxdyve6Tz5o8jCX/FymMAZlVTQuYLlQTAWCIq+Myb40GkmeSRkRWBG3IFKUVb2BQNWASUocFX9qxra0Y5VVAVi4xaFkeJ/m2ucRV48r6PPNtbCa5u1RXvzGMo1EfeWQWnWcLqOFm0/G6HvsW0/9PhbS2G3jVR1+IEvY7eejY6iFuYtUOFjRGreUVPzlyUkX3/2DjveqXChtd/zL5/dg6PrgicQ1HTWQ29Oi36hHOiHCmXs8/aDchjvVT20rGIiiWFe2cH4SvXdC8KNgRuYrG8YycMwJjsRbKmu92bjGLvv/HIOwD4qnrFqOrxZiSIMthEPdZaKyMcjkOjto4HZ5/IHuLzHqUaLPPFehmHlmcD2WfASxRRrqx3D6nhd4r1jhyEs5gkp3+mDoN+PbCqV4szyWdv/WEx9GdBL/lJf4pbZ7ty9SDCvZIoJ3B6vd5460VxpETSLWFIIjc1Be/whVo6f6pYMCWIlhhbUUnbDmQj61Ct6Z+oWFSGcyNMzGNZ LEbftzrD 6qtx3xkkECHF9UNobjWEbxcLLUJGC0UbCOLJ8RrJaKD1DwdoHmjgyOvxcLmI2h1vw6yKKLzF2cL2AiuOIoCLN8mAHHxlYFlbOQaryhKrCx96xI0WdrPC24oqldTvmgdiBRYBHZd75JF2NoJrF4M1AT6+ASYcy1RhA7KcUsNFdB/15Lt077GxpL86SZjBcwJSTXnOlCWPpQ1SDfWm64PqKSqqy6w== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 4.06.23 г. 17:27 ч., Kai Huang wrote: > /* > * Construct a list of TDMRs on the preallocated space in @tdmr_list > * to cover all TDX memory regions in @tmb_list based on the TDX module > @@ -487,10 +684,13 @@ static int construct_tdmrs(struct list_head *tmb_list, > if (ret) > return ret; > > + ret = tdmrs_set_up_pamt_all(tdmr_list, tmb_list, > + sysinfo->pamt_entry_size); > + if (ret) > + return ret; > /* > * TODO: > * > - * - Allocate and set up PAMTs for each TDMR. > * - Designate reserved areas for each TDMR. > * > * Return -EINVAL until constructing TDMRs is done > @@ -547,6 +747,11 @@ static int init_tdx_module(void) > * Return error before all steps are done. > */ > ret = -EINVAL; > + if (ret) > + tdmrs_free_pamt_all(&tdx_tdmr_list); > + else > + pr_info("%lu KBs allocated for PAMT.\n", > + tdmrs_count_pamt_pages(&tdx_tdmr_list) * 4); Why not put the pr_info right after the 'if (ret)' check following tdmrs_setup_pamt_all(). And make the tdmrs_free_pamt_all call unconditional. It seems the main reason for having a bunch of conditionals in the exit reason is that you share the put_online_mems(); in both the success and failure cases. If you simply add : put_online_mems(); return 0; // failure labels follow Then you can make do without the if (ret) checks and have straight line code doing the error handling. > out_free_tdmrs: > if (ret) > free_tdmr_list(&tdx_tdmr_list); > diff --git a/arch/x86/virt/vmx/tdx/tdx.h b/arch/x86/virt/vmx/tdx/tdx.h > index c20848e76469..e8110e1a9980 100644 > --- a/arch/x86/virt/vmx/tdx/tdx.h > +++ b/arch/x86/virt/vmx/tdx/tdx.h > @@ -133,6 +133,7 @@ struct tdx_memblock { > struct list_head list; > unsigned long start_pfn; > unsigned long end_pfn; > + int nid; > }; > > struct tdmr_info_list {