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 45D6CC25B08 for ; Thu, 18 Aug 2022 01:12:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D039C8D0002; Wed, 17 Aug 2022 21:12:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CB2496B0074; Wed, 17 Aug 2022 21:12:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B2B528D0002; Wed, 17 Aug 2022 21:12:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A494B6B0073 for ; Wed, 17 Aug 2022 21:12:55 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 80B1CA0713 for ; Thu, 18 Aug 2022 01:12:55 +0000 (UTC) X-FDA: 79810939068.18.8A35F6B Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by imf31.hostedemail.com (Postfix) with ESMTP id 5F211201D8 for ; Thu, 18 Aug 2022 01:12:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660785174; x=1692321174; h=message-id:date:subject:to:cc:references:from: in-reply-to:content-transfer-encoding:mime-version; bh=bR+juqm9KYNSHqKBRDDudoNE70J7GuEnzc2NXNdAbJU=; b=XMut1IFE2s9y7gNblo7ci/eN/SZE4EpBONFnwu+0z0PasPSxbf8v9QNw Yd6lgKnEq5ccX8K0vJ05fbhWb4mLcGTbdcCZlGdctrELrMzCFBg+N8jnl f30cAxPylGEDGNQKP+hHXDoMjxEqcF+hW29uZ0jm7my2ErAA5ZRKw/jD3 +TvjBT4fBlX/ROPNRH3BALoQDclt1slQ1j8CV48oGNVCc0iMSf1ndMSKb k3NL4boPPfeKi7kJfbNPxq/CVWtCaB0tGP4IFnjyjpi2/bb/h6T/gYz2S 0inyloy8lWyTlYMuDX74RZ6u0NCJktGHUSWc89bQzBI5YmoDR9KlUBoYR g==; X-IronPort-AV: E=McAfee;i="6500,9779,10442"; a="356631571" X-IronPort-AV: E=Sophos;i="5.93,244,1654585200"; d="scan'208";a="356631571" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2022 18:12:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,244,1654585200"; d="scan'208";a="935595057" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga005.fm.intel.com with ESMTP; 17 Aug 2022 18:12:52 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 17 Aug 2022 18:12:50 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 17 Aug 2022 18:12:50 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Wed, 17 Aug 2022 18:12:50 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Wed, 17 Aug 2022 18:12:50 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=djv6bazh/N7WrJOLXQqmhQfCIb3OdECZfiEjIAl2NOmZV/wt2oi7GTKu80GVUA9Zcqik2Hw56c7q8iNvZsgd8C3gZsNG1/V9pu2bNY8vrahAMN2DLGoCjvjLpwPICUN+9ENjjv0K3nvpgFvcyxqsexMJy9dq80KQm+HeScA3vp56X4KNi2gAoN8h1tMfYHI3lK73nprxbrj8wBAXwwAJdYjd2bpXRWK8z9LJPvnZ9htDuXxereLbv/AOqOuwDkSzeRog5Lrz4UfnydlRZW5LjJyTGZa+rB5n0CBV3KL2rCWmQgaVQ2sOaW5lej6BVIWczbykNl8g1pCn0PBU12EUmA== 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=PEbT7XG8t6nmSSs2R8TfL2etaBu/NWC50gU7PE6+FJU=; b=DjUjAAgwAxv/Mumao/8Txe8SSSsbhni/+eKTElqeD1+s1keRoV3Gmb+3fwGbOFc5GSzDXmQVVhVmtf8EnLoDdy82V+zc04uWjY4nHubXfzu49i+mRP7IIZIeVlANX+XiaEIwamu4ToOI1z+gG6PUUgMIOMoc/ecB2x2LYuAFL11Vt3ylRKUg+Wl6/W0bOgbjmUQRIlcZ6l6sm7avteum5ata0oyGZgxMJlLG5nYTPFWsL7PwuvVpebEdz0/F/optxFU6FpF9O4QjG8USiHIfEWL6oUxGdVoEVURosTYoNLOTb8BK89aaF0V3l/FnfNZkyQFcw0SQtgAl8KTgGtrBQw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) by DM4PR11MB6041.namprd11.prod.outlook.com (2603:10b6:8:60::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Thu, 18 Aug 2022 01:12:49 +0000 Received: from CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::fcda:4c77:5786:209c]) by CO1PR11MB4820.namprd11.prod.outlook.com ([fe80::fcda:4c77:5786:209c%4]) with mapi id 15.20.5525.019; Thu, 18 Aug 2022 01:12:49 +0000 Message-ID: Date: Thu, 18 Aug 2022 09:12:41 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 Thunderbird/91.12.0 Subject: Re: [PATCH 5/6] mm/hugetlb: fix sysfs group leak in hugetlb_unregister_node() Content-Language: en-US To: Miaohe Lin , , , CC: , References: <20220816130553.31406-1-linmiaohe@huawei.com> <20220816130553.31406-6-linmiaohe@huawei.com> From: "Yin, Fengwei" In-Reply-To: <20220816130553.31406-6-linmiaohe@huawei.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG2PR06CA0216.apcprd06.prod.outlook.com (2603:1096:4:68::24) To CO1PR11MB4820.namprd11.prod.outlook.com (2603:10b6:303:6f::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 205f03c1-d8d8-4a06-f5d2-08da80b6c402 X-MS-TrafficTypeDiagnostic: DM4PR11MB6041:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hzfHcy8ydldSHpPmPIhZyyMky5bhiad68nM3+GnMBrISz+PIxqGOpptUVECKJhHToYO6to4uXJYdMr8n8UVtAiGln5xT+6n/BnnOmZ2U61ZpxlFiJp1j3Rzt85ZKSHXq+7MaFeExO2Ay+KLX1/kX8l9GeylCdbsgkB5sa0J3KAMigJeWZ9x4KpiI1l9aITkOAJzq2gpqWG32WAV2kzcx1KsCbVeHUDho7gb+oi7yB2O5MRBVGj+5zdOz1UfOZ7GmM+ESDb+tY9iAvBnstqGrsXMi/I9gL3bNeNTYXFpZ7Zw2uZDtfM/zIZMYCUrpkvW3f2JmOcbz9udAD67AGDhPsAIFpbbmOj4ntKBVfNAN/OoOQVz5FA4VyCHjMAL2IeXnfzNFERYftgNRRLSIKNpDHW+3aD0JJfolMoguKffiDXutnp3lN/Vr1eP4QoBB40ZSJkWy8j+CzNYQgPOy3szXwREa361rzyJw59nG0XhTAi7Bb0QTQQPrXn6xkuEieJxGnIFSe3W05+i8gHkNpDlDMOmTbKfzHSXwejM+YvMoF7QvDuOiTp11qxJBtKZ3MqXhL7CSdoMb7zxhp3N0KED1cWfUOhZg3enZ6QTkvQyQaQlUpPZOCDzgFPSuSTc/VB6rT9lKX0FtWMPOP8/APh6WYzcyKOadcfaj5xoxTk6gkvxE17BicUFQwS5LptXuzfiWKa59/T4LV84ec4kCBKcVZAgwSsUidKmoPr4VUHsHlMX2JYwUNP5INs90BwCP6zV7zbE7uVvbb/ra6smLTbGqyhuDGe3LQ2i9lm+lt80Ba74= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4820.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(366004)(39860400002)(396003)(376002)(346002)(31696002)(2616005)(66556008)(38100700002)(86362001)(316002)(8676002)(82960400001)(4326008)(66946007)(66476007)(6666004)(6506007)(6486002)(53546011)(478600001)(83380400001)(5660300002)(8936002)(6512007)(26005)(36756003)(41300700001)(186003)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OVd4QXRmYk9ubDZqYklsd2NMUnpEeCtmUE8wVXpVdHRkczBZeUx1ZXp2UUxu?= =?utf-8?B?ZFNmRWxZU1JicitCemtteCs3aTNsa2liVlBZY3B6ZXAxVTloZ0ljcGZ1NDA1?= =?utf-8?B?bDI3ckZBNVBBV1RQZDN4eFNVTTA3OSt1TFdpM0xkQzF6U3d2ditkUnZrNUNu?= =?utf-8?B?N2RoQldxakptT0RXTElWRWhZQWh3dUJiTk1CcE1odDhXSEJ2S1QvdDlCdk5r?= =?utf-8?B?ZU1JeHQ0aVF5N3BNNktqc0hvNXdZVW5RZi8rL2FGZjhUYUV2YXhoL3NzMmdm?= =?utf-8?B?THQ0SElxeE1UKy8wbjZCOWxzZDY5MjF1WXAyQ1Jzb21hS044RC9tQ0hWYU85?= =?utf-8?B?ZFRBZkRxZXZsV013dWRFTVlLZU1Zd3BybUxoSjhmWnVNcDlURVo1Nk1zQUZj?= =?utf-8?B?Z2d1UVphNFl0ZDErTTRZRGVlcnFMcXR6bmNnOVptcC93MWdrNDNWaGFOYWJw?= =?utf-8?B?Z2lOdEVhVkNMMXdZU1YrOGlwWHh5UXVuRmZZN2U5U25FUjVvYXExQngzbDhv?= =?utf-8?B?VFRBc1JKZGFaNitwZjd3YUd0MGxsVmhzQ1hmbTR0NjJvL2dyTk1XM2orVTBy?= =?utf-8?B?SkoyMzJRZUpSS0FOZzh5eTdFQ2VyQkJOQmYxLzBmL2Q4amdzRkZkTHJaeUR6?= =?utf-8?B?MjVRbFJaMTBkWjlXK1hqRE5yaU1EcW5uUzZwckN3MEdCUEpHR2ZsRWNkU0xT?= =?utf-8?B?Y2crQWRHUnlOcm13aTBlZ3NJa2hxSzRUcm0rb0xSekFPVHVybkpQUk92emJ0?= =?utf-8?B?citnN2c4VnJibkh2V2N6anNDV1c4UGdiemZlSmZCSWlxaHZrR3VNdUlxeUx4?= =?utf-8?B?WTRDRVd4bDcxZWszdlhWMkpzdTZ2c3lPSVgzbjhzdWRxN0UwTFdMekJJd01s?= =?utf-8?B?MStEYUIySkxmV0ZINnVmZFJ1a0RQVWZ5TkNpb3UyNVJueGdFVlg2V2FaYmR4?= =?utf-8?B?QmhxKzFEQ2hPNnFyTmZjOE1seE1XSVdWclBUU0t6R09Bb0swU3ZMTzN3dFpo?= =?utf-8?B?SmxZNVF2L3E1NXFic0ZsQ1d1SmhrZFpsOE14NTJwWFNLQy8yWTNYYXduV0Y5?= =?utf-8?B?MjY3b0xlQ0lrRzNKa0FILzY0YUc3cjVpbzdUQlhnNHhVTXVwc3NlUGM3Skhx?= =?utf-8?B?QklXZDh0MGxGMHpWZTQ5L3FCQU1XdUJPTEJ3YzNPMHdzRnZlZmNoalJoZ0pH?= =?utf-8?B?Q0xUV29JdzRkUnVoZ0Rla01SRm52aWpQWExwVkhxd3FqcVp0eU1yMkNRb1pm?= =?utf-8?B?R0FDYlpoTVBXakpEc2lJekZhc25Nd3VncEhnalNBbVVpYTF1YVk4cFVTQUZa?= =?utf-8?B?UFVwM2dJVEtSNUg1OEtKK1pkQkJoTnd0czBhdzhCUURuMkhCRkQvRFNkdEdC?= =?utf-8?B?dXJjYy9ZV2lSK1ZEeEorK2hwOXJkWXo1bEZ5V0hSekVMZDM3eHBQcDlHaW1m?= =?utf-8?B?VDJuTUtidFpXTnNya01IOUhXSnpia3B3ZzFpZklVRFFqUVpEdHVHS1hYZlRU?= =?utf-8?B?Y3Ezblp6c0s1bDJUZVFkTFdpUWg1UjBrM2VGWVpsVEg4bUVLcVdHbTVUQVBr?= =?utf-8?B?NUxFNHNIaUZyZ000Ujh2aEo5dWRSWXFEdUdCbXkzWlN4TmlHSlFxR1dZcWU2?= =?utf-8?B?dUlmWDVxRCtuTEFlK3UyY1pDcFF5dDhwaW5VVndiUnRsbjJjSXRpUlY0RHhW?= =?utf-8?B?Mkl5NFNLNmxDOVFGcnJlSmtFUjd5OThvOEhiWVZTbUdqdXdCTmR5MzM2a3Fn?= =?utf-8?B?L0J2Qy9ta2tQWkpxcVBrSVV0M3ZKYlVzUSthbFZPN0VabFpYenZabDBMbmhV?= =?utf-8?B?cUtDeERPSXgxbStLa0VJQW5vWkFkME9JeXB3d1NZdTRPdjI3d2wwV0hRbXM1?= =?utf-8?B?QVYzVTVFTHo3Qm9FR05xUGVyT0Q3dFZvcUNIaGZRQlo2bmxDd1lQTnpNY0xi?= =?utf-8?B?dEZKLzBkVEZhNnZoRlFIdmc3MDdKMFZsRnMzbVJlYlNGQVVWVjM3OEh3ZERM?= =?utf-8?B?d2Rzb0V4MXViSGhSWDlESEdTaUF2QjFxOHhyQnVIaExkM3NDaFdHM1VhM0ZG?= =?utf-8?B?dDhkSEZUZFlUTGM5SFJYV1dNLytXcTUvYUVBdHU1bXhISDlzVE4yQmFNZDBL?= =?utf-8?Q?5wL57lvpybXeDjFkZMzcop3Vk?= X-MS-Exchange-CrossTenant-Network-Message-Id: 205f03c1-d8d8-4a06-f5d2-08da80b6c402 X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4820.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2022 01:12:48.9621 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /6zFTlp21NHT2v8LWqAl4ET/qrrVVKOEUtQGbWKmS9EQ2YK1rQWfsPnIqUYobhpmL4+Vr4BbXhE9E2iq/PCj5Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB6041 X-OriginatorOrg: intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1660785174; a=rsa-sha256; cv=fail; b=kdKj/BscE4DVc4AFYTHb+cUJ+747UWZ9tFUldwuY6AoMJUp/FDYnmQuBDhuEnFdyLFibGf 5jj5CIPCW6lvLujUqIm1bZCakO+mVVcG4beOY2Q1KyWI86ssO7w6aHfZ3wkvB78+LXDKfv f5PoQD1dOO4QLS4yj5a6gx94RJO+Lso= ARC-Authentication-Results: i=2; imf31.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=XMut1IFE; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf31.hostedemail.com: domain of fengwei.yin@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1660785174; 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=PEbT7XG8t6nmSSs2R8TfL2etaBu/NWC50gU7PE6+FJU=; b=BpLCoWXtz6hlyO1ZKAKDa3M0uktYgK0ayuM462SzLKSofEZC3PkCWdlRJbwwfRw5OFJJVL XOCBuM69NFqHAKHboLfb/Yhh7n386/dZcQVkXk4MD3Pe3KGy3qRTBpuVnsYXKmmtjSeSc2 qQboANCu+qYdkWq/TtAP3RPU72jTrfU= X-Stat-Signature: mkmoxy199jyq771phkfpu4mfdbwz5jh1 X-Rspamd-Queue-Id: 5F211201D8 Authentication-Results: imf31.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=XMut1IFE; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf31.hostedemail.com: domain of fengwei.yin@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1660785174-288472 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 8/16/2022 9:05 PM, Miaohe Lin wrote: > The sysfs group per_node_hstate_attr_group and hstate_demote_attr_group > when h->demote_order != 0 are created in hugetlb_register_node(). But > these sysfs groups are not removed when unregister the node, thus sysfs > group is leaked. Using sysfs_remove_group() to fix this issue. > > Signed-off-by: Miaohe Lin Reviewed-by: Fengwei Yin Regards Yin, Fengwei > --- > mm/hugetlb.c | 25 ++++++++++++++++++------- > 1 file changed, 18 insertions(+), 7 deletions(-) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index b69d7808f457..e1356ad57087 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -3850,12 +3850,18 @@ static int hugetlb_sysfs_add_hstate(struct hstate *h, struct kobject *parent, > } > > if (h->demote_order) { > - if (sysfs_create_group(hstate_kobjs[hi], > - &hstate_demote_attr_group)) > + retval = sysfs_create_group(hstate_kobjs[hi], > + &hstate_demote_attr_group); > + if (retval) { > pr_warn("HugeTLB unable to create demote interfaces for %s\n", h->name); > + sysfs_remove_group(hstate_kobjs[hi], hstate_attr_group); > + kobject_put(hstate_kobjs[hi]); > + hstate_kobjs[hi] = NULL; > + return retval; > + } > } > > - return retval; > + return 0; > } > > static void __init hugetlb_sysfs_init(void) > @@ -3941,10 +3947,15 @@ static void hugetlb_unregister_node(struct node *node) > > for_each_hstate(h) { > int idx = hstate_index(h); > - if (nhs->hstate_kobjs[idx]) { > - kobject_put(nhs->hstate_kobjs[idx]); > - nhs->hstate_kobjs[idx] = NULL; > - } > + struct kobject *hstate_kobj = nhs->hstate_kobjs[idx]; > + > + if (!hstate_kobj) > + continue; > + if (h->demote_order) > + sysfs_remove_group(hstate_kobj, &hstate_demote_attr_group); > + sysfs_remove_group(hstate_kobj, &per_node_hstate_attr_group); > + kobject_put(hstate_kobj); > + nhs->hstate_kobjs[idx] = NULL; > } > > kobject_put(nhs->hugepages_kobj);