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 6BFD0D1A42C for ; Sat, 12 Oct 2024 02:16:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 021136B00B4; Fri, 11 Oct 2024 22:16:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F12B66B00B5; Fri, 11 Oct 2024 22:16:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DB51E6B00B6; Fri, 11 Oct 2024 22:16:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id BD2226B00B4 for ; Fri, 11 Oct 2024 22:16:43 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 20ADB815E3 for ; Sat, 12 Oct 2024 02:16:39 +0000 (UTC) X-FDA: 82663336644.29.0A36D3B Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) by imf28.hostedemail.com (Postfix) with ESMTP id B93C8C0004 for ; Sat, 12 Oct 2024 02:16:37 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=YaDDxgZR; spf=pass (imf28.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.210.175 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728699330; a=rsa-sha256; cv=none; b=Yg/kPpCOnaZiefdMrS7aLZuwiPXpVpz7a1tEfz/zPEDqzpKbYlb1HIUK+W6qnl8NhkSyfn 8pfMiz/VONVwRpzR9niLTAB5gDWlWT2MndmQ0SYgjfSgKs8ccAiZoIkX62CezqeePHhNT/ MacfLmaEliJ62mtZavOHqynbo29k1Hk= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=YaDDxgZR; spf=pass (imf28.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.210.175 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728699330; 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=JIpgGULhRMFB311FDWvWmP5IfvB3HTG59Wut79DELzU=; b=hyEZbP6dYOeWMKUkO+31F8gQ+zfTuA+1QUsYY54ZaydOGwr6yw9ALs0WmAHggOurK/Ieqz ywYDcuBS8zG0qUc87yLrkQhDw1Dsr+KLo3Xl4zT+9bDtFjGbU5opdSBZc3zof6TcL4d8Ue 1V5kIZ9K+Oo8f8Gs+vgcdkMFu3yO5go= Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-71e49ad46b1so486503b3a.1 for ; Fri, 11 Oct 2024 19:16:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1728699399; x=1729304199; darn=kvack.org; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=JIpgGULhRMFB311FDWvWmP5IfvB3HTG59Wut79DELzU=; b=YaDDxgZRQ1KLg8sohSRbvmNSX51tZD/ZQUKOxwZMem4ynoGPzj/INMcRwnxDcYXvYW J4wwr08yeCC/1nPV0BJRhFTn6YMm4V2MfnhCW8c6m7wTIGT/LatbHiLhTe+iN8re7uVY cdX5yjE7vd925pfSa3AzYTsGjAXJoiggRbCt5rxUul44qSElEpmfohmY02TwjWNjcJ/w 6Giw2q28fHQITTU6UUX2p9upVH0KNF8bE+LDoI9lptuBfffyw0j7zqZiUsxqoiUAV6vg RUaODX4NrwDbNGUAx/uXSubtLXwW0KMfpZO+UEYslhwQ0YtEaPzCh0rPkSVf89LtrA33 f7iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728699399; x=1729304199; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JIpgGULhRMFB311FDWvWmP5IfvB3HTG59Wut79DELzU=; b=LY87GqAoqVA6XCWM/12PD+yRirGqqKdbDndBh92XK+hAyBtat4nBJkd4X2YMOnKMKn IN3Af/Qt08JHKfZ7w5JuI/+T15e9J5OMesoV1YjoSRGqx4Rb5/RF5hN5m6FznTwp/MRX dvfBwtdqg1HW5LUJycmRO7B+muUTxlJeBEy6hOSKcz4WQUNZ7A5OlvtTKNLQdfq3Hsmm uHqL/mlB2JeYqRLrLy01yEsUJLuFobJk7q9J4UPVoDevvcKV7Az+oMfJ2ngQ60AgXRUR lHakP4AsCQAAQFDWF4mtx8K6WEAEL/wEMlj/OFZ2aPk2pokU4tynUPWuLfyucGrkdo1z E9CQ== X-Forwarded-Encrypted: i=1; AJvYcCVMGBIWCnIs4DRL/b8Xiw+xtkCRdDcmEqzUTe7qSDg7u5LZy9/cz2tGK7mwh81BBKE/9Svzr245dQ==@kvack.org X-Gm-Message-State: AOJu0YxrmgDFApV9/NkVl9p0YXwfAtjNRTcDeHFKIll8MOvjM4BCKGVU +qW7kil9Wmva9r2GGd5C1P6NLrN+pP7w6K1EmoZRVdz+d+pDYUBn7TSHdYCDwtE= X-Google-Smtp-Source: AGHT+IH9VIofSm2MjZ1/qlSwo6NShX9cLA2C/KbhDfW9rAR746IidW/T3BSEvyuDXnIpopM7RDxnPQ== X-Received: by 2002:a05:6a20:c6ce:b0:1cf:3f2a:d1dd with SMTP id adf61e73a8af0-1d8bcf29a9bmr6890777637.12.1728699399062; Fri, 11 Oct 2024 19:16:39 -0700 (PDT) Received: from [10.84.149.95] ([63.216.146.178]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-71e2a9e98c1sm3319287b3a.9.2024.10.11.19.16.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 11 Oct 2024 19:16:38 -0700 (PDT) Message-ID: <3647f368-7901-4fd8-9eb0-edc35bffb520@bytedance.com> Date: Sat, 12 Oct 2024 10:16:30 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH] mm: shrinker: avoid memleak in alloc_shrinker_info To: Chen Ridong Cc: akpm@linux-foundation.org, david@fromorbit.com, roman.gushchin@linux.dev, muchun.song@linux.dev, linux-mm@kvack.org, linux-kernel@vger.kernel.org, chenridong@huawei.com, wangweiyang2@huawei.com References: <20241011142105.391157-1-chenridong@huaweicloud.com> From: Qi Zheng Content-Language: en-US In-Reply-To: <20241011142105.391157-1-chenridong@huaweicloud.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: 4t4w1pogxpf6a9dschy69ub9nyjr57jh X-Rspamd-Queue-Id: B93C8C0004 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1728699397-873078 X-HE-Meta: U2FsdGVkX18bmqPGHOOxiT4lsGtHttOBoHFP+1yL7zwGBeUMaaBoGWVMi+M2F02fZ/KYzuutxXZS0gQe5o22gaKBmBsTjhmIlJFqboSh0ZeI/ElARQXMHNfVRWJTR3T5QDKVFQc38wSqmAvg4DUytOl2NDqxf8m5yPS8rJb7E5uUZJxBhLwOW5ZUNz1njliUgYno3ILFRAUtovrx3DthcTS7owoiazIzyCYCL7qEoNuSTuu1c9JGxmSF/epkjOkCs6uf+Ba5Ib8ta9o0CJXzEomsqpGZkXcXLrfFJFdkxLbwhSViQ+KMuuYgmN0rVxPkPh5WOXOqXMVOL7PdxXsAPrPZPxCLG1rd3jDPTo/4P1jvSZUAgMd5rsch1vye2nCTmzH8k7lCjOZXkCETiQgyvd9LlLAHVmxWWQK6CDnwn0btE5eUPHibRAekRQHz8qrqUNEh6hWQek3mAZ0HYzyCGl3sWQDPsCqcYG6/dh1evwljF5KumQ0MFDYgpYDp5/9udM39YEhXlK6bW8V0yg/TmhwQ5MXG9a6ldHDYUk3M7Y2ae/oBx8IrwT5AlDDgqmLbFhwz6g6C06NPMCY68z2W4Dn08gCTPdiEeGD/JNLg3XWVHPvGoXtg1b2Im3/THTIDz1BV04sFs6KFjFp1j2ygPro6YBzsk7uBnWE3NlMel3K+hP8lLGMx2JmI1nOZ0GWRQjH8wClAJhjzErtVC9vUFu9WFniTrhA7bIWzDof3P+uha5G79a6zJzFdePilRGK700IP2wAXZIQv1K9DPZ0EWzxrEaCqujP8fE/k/Rmt4SwHhAWiDIpdlptfsFUKiPYdd8EVXxsSn3cbyAri62ftggD+8yq9lSlZUoYZl1B9HQfL1QI1pn5HSA4XNho72rT/hsTosT3yNdMsI1iCkWB/eXs8Waho1bJbS6p4+zhYZp4Tu51d08CDViqhlSkLac+vDiAseWcCOp+AXv4Fbd3 jtUZLGnX 66z3dPaAVrqOHvdQq9rF8ZRt3p6U/BJgiezSEAzcqVVsLAfEknI0tCVEJbYLV8WFeoMkWMVNjtHOUsAkpQl8rQCljcdmoBbXpG+WMI9EMEvUwt6B8yisuWeQT0FBrZeu9A9jy2b9/ICZXgZWO5tYhEzNRTNeVmRUrZL7NBSJlWZijM2otzZVPSyoloU6Sop00vNbz6ms6KU1enCou80eMBAR6NLopsZJHhV2VUDh6emWy1j0AZplhKkS+UB5UfE+x+yMLExOg3v0Gf4eAYbONBGbADJcCe+VrOEcr2cdyJWTlSBBut/66B1Ud4GBzzvnhgbjQ19jlysc6Ofqw2Yl0uy7Z3HI1S/O5Ln5QOgdipgDT4V/Xj/VEAPxwtL9ohqj+BnDHoYq0iD8lbvBgSd8eQd15CeY75wFQKkpXvIJxeQxj2BmZj6XT9uvAR1o9n5ze0jXInKeuJKBQ92s= 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 2024/10/11 22:21, Chen Ridong wrote: > From: Chen Ridong > > A memleak was found as bellow: > > unreferenced object 0xffff8881010d2a80 (size 32): > comm "mkdir", pid 1559, jiffies 4294932666 > hex dump (first 32 bytes): > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ > 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @............... > backtrace (crc 2e7ef6fa): > [] __kmalloc_node_noprof+0x394/0x470 > [] alloc_shrinker_info+0x7b/0x1a0 > [] mem_cgroup_css_online+0x11a/0x3b0 > [] online_css+0x29/0xa0 > [] cgroup_apply_control_enable+0x20d/0x360 > [] cgroup_mkdir+0x168/0x5f0 > [] kernfs_iop_mkdir+0x5e/0x90 > [] vfs_mkdir+0x144/0x220 > [] do_mkdirat+0x87/0x130 > [] __x64_sys_mkdir+0x49/0x70 > [] do_syscall_64+0x68/0x140 > [] entry_SYSCALL_64_after_hwframe+0x76/0x7e > > In the alloc_shrinker_info function, when shrinker_unit_alloc return > err, the info won't be freed. Just fix it. > > Fixes: 307bececcd12 ("mm: shrinker: add a secondary array for shrinker_info::{map, nr_deferred}") I think this also needs to be cc'd to the stable mailing list: Cc: stable@vger.kernel.org > Signed-off-by: Chen Ridong > --- > mm/shrinker.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Other than that, LGTM. Acked-by: Qi Zheng Thanks! > > diff --git a/mm/shrinker.c b/mm/shrinker.c > index dc5d2a6fcfc4..e4b795ee6d2e 100644 > --- a/mm/shrinker.c > +++ b/mm/shrinker.c > @@ -87,8 +87,10 @@ int alloc_shrinker_info(struct mem_cgroup *memcg) > if (!info) > goto err; > info->map_nr_max = shrinker_nr_max; > - if (shrinker_unit_alloc(info, NULL, nid)) > + if (shrinker_unit_alloc(info, NULL, nid)) { > + kvfree(info); > goto err; > + } > rcu_assign_pointer(memcg->nodeinfo[nid]->shrinker_info, info); > } > mutex_unlock(&shrinker_mutex);