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 AC824C282EC for ; Fri, 14 Mar 2025 13:42:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AB45C280004; Fri, 14 Mar 2025 09:42:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A3D3A280003; Fri, 14 Mar 2025 09:42:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B75A280004; Fri, 14 Mar 2025 09:42:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 6A52F280003 for ; Fri, 14 Mar 2025 09:42:37 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 86FE3566E5 for ; Fri, 14 Mar 2025 13:42:37 +0000 (UTC) X-FDA: 83220271554.11.FE5A332 Received: from mail-qv1-f49.google.com (mail-qv1-f49.google.com [209.85.219.49]) by imf14.hostedemail.com (Postfix) with ESMTP id 84E3C100014 for ; Fri, 14 Mar 2025 13:42:35 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gourry.net header.s=google header.b=RUn8+vVm; spf=pass (imf14.hostedemail.com: domain of gourry@gourry.net designates 209.85.219.49 as permitted sender) smtp.mailfrom=gourry@gourry.net; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1741959755; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=OPmTde2UkY8hmMygpptvq6ZcJy0VG5G4ypKl+rd41pc=; b=KSr/afnY+XF4aYoXuO4ft650lyTpNmKxiCaEKh5//dlKATRDA8+aeuOuwr0pWSJI+G8KX1 A77RflYPo7GpRoJL7AwuwvOoI+c1FHk9YrA6U/D9NHj6Ytz7+JuPE/EVQHDTNe64DJg0RK GydCJew9IeuW9p/eZv72YK08xkt609Q= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741959755; a=rsa-sha256; cv=none; b=iyWeYqep2WbombnsmSflgL9RcpK2ey1JCGLvP+b9jok7rRg77JxiVgEdL5FsizArzpmJTR WYfXk3eJoZ0kwh3v0EZXmm6vjY5bVtbXx9qfUU03GdBohbtLVj+UtwwREaPswn5SAYS1Tr nScfM0Skny08M4eegpKCaJGH97yLNsE= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gourry.net header.s=google header.b=RUn8+vVm; spf=pass (imf14.hostedemail.com: domain of gourry@gourry.net designates 209.85.219.49 as permitted sender) smtp.mailfrom=gourry@gourry.net; dmarc=none Received: by mail-qv1-f49.google.com with SMTP id 6a1803df08f44-6dd1962a75bso15758616d6.3 for ; Fri, 14 Mar 2025 06:42:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gourry.net; s=google; t=1741959754; x=1742564554; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=OPmTde2UkY8hmMygpptvq6ZcJy0VG5G4ypKl+rd41pc=; b=RUn8+vVmO865y+R+Pk+NHHPddGrwtVsUvDdbkFLPdZxLAUp+oq4uCax0K92xsYnYTe wBRS8p9k0GYSWKCcceKqcVQ33uDTN2CIt+P1ldtqt5xpwv5GhgJYepufQwyNuAXV054n mhO7TDAm9Oyuz6zi+kKCvgF7TvNMTuPTfMcj4YeJpfdnrJA254cvvonFoLwd/L6ehNXs mtEkDDvynzC2ohGkt157lyL5qYiGRU3rDW8KjcV/ehxvs9oNRQybN7Iv6TNrOpmGWLZn Inh3FxOGn/2cgMXJfGLM7Q2Qcx2IK3SwEF2DHVISaIUmwhT/hZCsDuaj/uysXWhPM6NI 9tMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741959754; x=1742564554; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OPmTde2UkY8hmMygpptvq6ZcJy0VG5G4ypKl+rd41pc=; b=pzMKnDQC0ejZaIJ4VR+c1iWKvbcikYyyScs+vGQLcDp//0XxeQLF3CUoCRybdFIB7M N+TzZn+703ebtyBoBDCBpc5bN0x4ORtM4Dixj2WrDjl7gKN9Sw+oI01ihTbvsSqd978X iWnFB8P4oHOK9V5NORJPhCEhxkD0+ExWJn7imW4jTL4maFv1F+RcQAth+YDT612uV19u 540/AIR66ZdKOeOYPiwxHIGst2sLBccvj/VfMjouYJnxWHrDjlmUqrtkKgqL4vJ2d22S H4X/Jl2sfTs6gbsWc+Opb36//ifWFqRhfl1S2xXSNBy8H3FZD9wERqtrTAZXSREPfqKE mRcA== X-Forwarded-Encrypted: i=1; AJvYcCXS6sk3XZImd7Sbug87ykO4EyIO5Q9Gluav+uacevjnbXUpsTkmLeZvmsYqPB1FinYvWPUqcBwS8A==@kvack.org X-Gm-Message-State: AOJu0Yz7P/kVDNvaL2eVlR3ogOVScCsJcHn9a2wllcdaasGgREQVNBLy +gFOF9bmKT6Z1SO2m9G8z8OWtDZEeLZnR3cmpjeacfv+xI2ybRBzzdvWCSLgoOk= X-Gm-Gg: ASbGnctHmx73V85VNDGVx/Hr5z13i9l6IFCV2/eeE/FTiCmP7Rlv4JAj41dAX6BrAmO iljCUw9BO3OCZ1LEkkcW0FzO+mCPZfaO+hHhL8dbD4ieZU0+xeAN9Br2uj3IKLIs40DoFysCjeE /BS4G00q4L3bxMjTzXCnl+OSewkfZb11orXebSoBdvGa8l7+i88ewVD77itTrsQXjV0n8q+PtZW LZ2VUYInfLlSAoV0EK0r7/9z8VjjUE+NcfflzjV1cQ/Rsb2fHCw4s8oxdOWlfuKGcOrr/3OSIal bEokpS+0nmMtBf0rQgWvrt5J5TM+R+qvsguc78nQVRsz3z6t3FlYs+Xz6JZZgfnZHHYH9DzNQVt DtXMHBXp2qClgXah6+Qu7l1KR2S8= X-Google-Smtp-Source: AGHT+IGPUbrzvzxuTFoznGJ1NMG5BctIcsuLHRaOHo5xqKBuPTb1ZQUOrATYZjhY4w0Hpk5vfoVj8A== X-Received: by 2002:ad4:5b8d:0:b0:6d8:8fdd:9791 with SMTP id 6a1803df08f44-6eaeaa98f3amr36986026d6.25.1741959754512; Fri, 14 Mar 2025 06:42:34 -0700 (PDT) Received: from gourry-fedora-PF4VCD3F (pool-173-79-56-208.washdc.fios.verizon.net. [173.79.56.208]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6eade209329sm23898726d6.16.2025.03.14.06.42.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Mar 2025 06:42:34 -0700 (PDT) Date: Fri, 14 Mar 2025 09:42:31 -0400 From: Gregory Price To: Jonathan Cameron Cc: Rakie Kim , akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-cxl@vger.kernel.org, joshua.hahnjy@gmail.com, dan.j.williams@intel.com, ying.huang@linux.alibaba.com, kernel_team@skhynix.com, honggyu.kim@sk.com, yunjeong.mun@sk.com Subject: Re: [PATCH v2 1/4] mm/mempolicy: Fix memory leaks in mempolicy_sysfs_init() Message-ID: References: <20250313063247.681-1-rakie.kim@sk.com> <20250314105500.00000157@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250314105500.00000157@huawei.com> X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 84E3C100014 X-Stat-Signature: tun33ketaixi5898beupms3nbkni7uyj X-HE-Tag: 1741959755-393516 X-HE-Meta: U2FsdGVkX19EEyWtXWEIgxzPNuUBApR/yRDsQ4NAg/F4yboXxy+fk9APeAFkJAgQRhDQNavKaC/IRIY+5GWoZ+WVSWU7GeAQpEuo+xGnizBhEj/1zLxar7TJCm27ZvBmwtY+0Qsyka7xDzBLgCrrQhDlDza2Z/D3W5cKQo754GnPVAIc9OsZwqzSNDin2rbMZRvfKUkyXxi/s/39yyNN1mTcRx0Om+5Nm84gwAHt42NhejzBMkRaG9FwsJ9TbEVAfijt1L4gQ4+BbM9i6vQDR3Depd4iKIqtZ32Rmx/nIQO/iyqQRRa701+0UXv3Guvh9a5x8cMZIIcDv3CHoLTobuEojDk7SebbJVjQFJk/X02X5SAwtznbPauEjVpw/3UKoR9hIPun0SeNFR/FgsNsF1vlUp8ycnF0SfRCJv4IDbaU52noVeHckT3oMG3NxZoItTnYRHa5cjUz5CPwhH+bh8qEv9TnSIerE6TwHXAZUuT+ofi1GzzlM131F8vKOnzu4L2Z/o3zfc7JW8r/2Qudzq1onQSOduGBFYofl1PDc+7RFYuQSQzZHq1LG6n1/1Ot6j+ez2Eh4pXQ9djaQfCd4GI7jRKDEkuO3hL3I65mOH1hw3PY0DfEPc1pHwSMtvzXzsaOz/sJpsXfP55DGEZTynYKFMoKWn62ij/9Jh0WmAX26KIQsf/IsMU+Y2jUl2NP9NFJ/rszaDAQtG9vngInptnbukaIQA56SPXcHhLvZhJykK6TfHWQp2F3kxGd06ZDdskQ/PuJx2Dlxnz6U+VCJr86v+AwYiVBIS6sgCcrUnF/h9MzEjCTuwVKgCg9MFaQNNV81H7UUvUsSvTJNJ2IDG1RhR0lfEdmuA1J9MzJI31l4WpubQXuyHtGXyannAyEjA7MynpBKU1PL8djxzmQkj2Jakdxxdq/qZO0SCzEAyzmyTvRFDCZ1CYPZa6SZL4rS3w9jUwsh/yiEAiuh8D 9ZL0PG03 /Mr+KmDSgc71ZsSZb3JrSkF974qVYiL5fq2hImrn9vOgimSinsmQVMqwDqhwWY/7stcHOAZc7Yo+diivN99Db3uLLbQZxP5huvjpUrF1g+sQijfD9LNO1ZlFz2evg9ofg56ZxzB3lgUcVpKvjsWn/U4++ShuBULxGwLsVDgCM/jN4Yb474AteTIN1a3t07zvCBBsroD8TDJwo7PCA6UXx1/3wZkenOgzgM4JnHT2Qv4iEYlU4+V6fdZwAfQuP/0z57H3dWYOuLRufB3ht4dpI9d8Ia1H0pRB5ipiPFdoVbowdPmvCjL8JHwnaEPQD5juH3vqNhPZtY5Ujxa2HUXvlIiMIs371ZpxSk0ZSpj12H+W9iZ7s+wrXDhd2uEmleA98dq1i2rXCHufFJpNN6FlPlho1hufTG7YXteHBB/w3EpPi2nUebxOM2Hch63rUOLJNCgRo 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: List-Subscribe: List-Unsubscribe: On Fri, Mar 14, 2025 at 10:55:00AM +0000, Jonathan Cameron wrote: > > > > 1) allocate node_attrs and mempolicy_kobj up front and keep your > > reordering, this lets us clean up allocations on failure before > > kobject_init is called > > > > 2) after this remove all the other code and just let > > mempolicy_kobj_release clean up node_attrs > > > > 3) Add a (%d) to the error message to differentiate failures > > Given how unlikely (and noisy) a memory allocation failure is, > maybe just drop the printing at all in those paths - allowing > early returns. > > The lifetime rules around node_attrs in here are making readability > poor. It is implicitly owned by the mempolicy_kobj, but no direct association. > Maybe just encapsulating the kobject in a structure that contains > this as a [] array at the end. Then we end up with single allocation of > stuff that is effectively one thing. > Even better recommendation, lets do as Jonathan suggests. <3 ~Gregory