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 6A4F1EB64D7 for ; Fri, 16 Jun 2023 08:47:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A7E838E0001; Fri, 16 Jun 2023 04:47:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A2CDE6B0075; Fri, 16 Jun 2023 04:47:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8F4B58E0001; Fri, 16 Jun 2023 04:47:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 80C406B0074 for ; Fri, 16 Jun 2023 04:47:25 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 4E7C41C821B for ; Fri, 16 Jun 2023 08:47:25 +0000 (UTC) X-FDA: 80907982050.25.710CDE6 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) by imf05.hostedemail.com (Postfix) with ESMTP id 53AC5100007 for ; Fri, 16 Jun 2023 08:47:23 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=shopee.com header.s=shopee.com header.b=d+2AVHZs; dmarc=pass (policy=reject) header.from=shopee.com; spf=pass (imf05.hostedemail.com: domain of haifeng.xu@shopee.com designates 209.85.216.50 as permitted sender) smtp.mailfrom=haifeng.xu@shopee.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1686905243; 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=14jtraihfDQYuZKnWqtYB4vhXjv2bj/la1fKtOJoayo=; b=dt4kZkXFmlrIkGUsUA+R/H67XdlwH9lGRu8NcnFE3LmUAabayyIeIANZt5eCgjPnM4Hl3L oS7nlehalCAOaaQpYMjWs9LvubWLKqU3gRYTH7SyhvSU17c9/ID3wKOgQgRuKB7OGzmdGG Vl429h76G1ZIMKC0wM1NzT8xr0AWI4w= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=shopee.com header.s=shopee.com header.b=d+2AVHZs; dmarc=pass (policy=reject) header.from=shopee.com; spf=pass (imf05.hostedemail.com: domain of haifeng.xu@shopee.com designates 209.85.216.50 as permitted sender) smtp.mailfrom=haifeng.xu@shopee.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1686905243; a=rsa-sha256; cv=none; b=8ZLgtvDBjU2/c0t790I2xBlpv/58wUYDNsd0kFLV7aeG1roHY1tudeJTBOGDl3MoPb1yWn B+2cIwSY0sA61ZnDk6Od2EVZVVMEd8P1ZS6Pdq1F9pT7mwbEcWZ2H0fIngC7Tj/zGPnP9e wtRmM3JgtftWNYKRqIPTRTGFmQ0cwK0= Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-25ea43115dbso417669a91.1 for ; Fri, 16 Jun 2023 01:47:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shopee.com; s=shopee.com; t=1686905242; x=1689497242; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=14jtraihfDQYuZKnWqtYB4vhXjv2bj/la1fKtOJoayo=; b=d+2AVHZsTy1E9KJtZsJvVVIyla7VzuCveJTq0FID83gOrCC7aVgr8vXcIuC65p7y+t HYPlVbzUYU+h2icnfnip4UwI5FywmONNI/kPFPFF9vEj5fRZqpJto8QVv7mdi7rS3MHK W7KuNCQkLcdtegaVBZfWp4lrUveeUdg658RxbJ34/yLhNlXG/c4U8fEcYhZo838ulhVy WDHZ1HXAlUmVqKGCI+DDDEw1E35RTcqsghoZOYqGHbPZgXWCsXKHUGVBCn9e1liIIzGd TBbUtCAJxZ1XmbK4m0E4CTseD8E3dPQoVkuN312wIj9IxC05IkX7dpdKJL2xuH6fjvRo VUNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686905242; x=1689497242; h=content-transfer-encoding:in-reply-to: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=14jtraihfDQYuZKnWqtYB4vhXjv2bj/la1fKtOJoayo=; b=WV9MAuwesMYavD4rcIKEMmkCGVrLqTIUz0Zi259ruiySOov42fH0evHcb0VTNV7K7a m7hRystLgUFlwRcEQYesU1m4da2pWmzRxL/vbVEMEbXSkzkh9mWkRo4bAvid3jT5OgUI pcr1QcvuGLTD9Ua0EztgXAPALBqSAwqLow1VdT095blBHZxCtssYJuRVdkx9f7xyQKtm /n2S55AhCXx5rCrqcOrayWlAp919cKwxQGhWC8o0e3eA4K385VUxGtgj/hafK1glZSEy m/0sMl3nsRxdgSLuw+whR5kU2bfjsmi9ToWmUp5bGhHQX9DtRrUz5VcJ6M9hBW9IChHa btmw== X-Gm-Message-State: AC+VfDxBsmT6zdWGQIjnBvTWzG/Cd1np2LFOaBinf2uWL/oaleYFKVJW QjOy1I8nq5+d8s6i0M5M/6JefQ== X-Google-Smtp-Source: ACHHUZ4mlwtlcw7qmHw9X64xtozPVzjrxFtFRk+MgSU1GT/TXSW1rB9S5VYSXnTACzY4ffxsNkgzLg== X-Received: by 2002:a17:90b:368b:b0:258:d910:6196 with SMTP id mj11-20020a17090b368b00b00258d9106196mr1188311pjb.14.1686905242108; Fri, 16 Jun 2023 01:47:22 -0700 (PDT) Received: from [10.54.24.10] ([143.92.118.3]) by smtp.gmail.com with ESMTPSA id t191-20020a6381c8000000b0054fe07d2f3dsm3373691pgd.11.2023.06.16.01.47.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Jun 2023 01:47:21 -0700 (PDT) Message-ID: <69cea432-f784-a734-f93e-50b0f897767c@shopee.com> Date: Fri, 16 Jun 2023 16:47:17 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.11.2 Subject: Re: [PATCH 2/2] mm/memcontrol: add check for allocation failure in mem_cgroup_init() To: Michal Hocko Cc: roman.gushchin@linux.dev, hannes@cmpxchg.org, shakeelb@google.com, akpm@linux-foundation.org, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20230615073226.1343-2-haifeng.xu@shopee.com> From: Haifeng Xu In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Stat-Signature: 7onz1dhjfc43anzn36g1y4izsstaf5mq X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 53AC5100007 X-HE-Tag: 1686905243-722808 X-HE-Meta: U2FsdGVkX188DMSZT3yLSj4Df3zizpEbPaNlsCPktamNqTayzXNr4FagQfPWTHJs8EfwZQk7WeaHI8beKCNx3t0GLVG7jlvENow6Tur82r4VVZICnZDN6C/JMxUptd9Xv7UzVJ/Qt0aYgNUfIbbZ1bQaBv3+V7w601NUhXr4qp5nkYMpe/t/vY7gXVLlMBZY1GbD4i5mALDl0xNKEhmCd5NeTHBKRM1w7YH0pCaPn+YX5kxJ1e5m4qHC+rWrE690mI9836Wa100owVdFDW9zyXPnQTihs/hWg1LoWHam4RldowEgUVBAh6fCDKO9o8ls7pH19ji1PoFe6NZwS/Cl7hkrHdamb3hYTcglYgaNZYt+gHcCH+Eb1n4O/wgZ9RNSiXdYhEPBqw7FKHks07yIC5jfk57KuNTUlNWzRooqSyDVzn0ja9IEH+k0oZj2A5hkNx5XlLKaVp3UNEc+bcEBomtML6Us90Gh1wIUDycqU+6UQRIm2uwllTK/2rDcGq93M3Y+ahR/LxS/lW4dv+VKbvf1rHTq0CvLOG/Y5iC5MMsFZVUoIZHOjkYkMQkHhWsM3CSB6yE/JoF/qxULIX8lUVqoZ0HXyJ/1y3WSRo84GqmJoFHEbxDEdF8roh/umiimePIP59LtxK0Ae1tu0sZRdqdFOR0FPbiQdlKdDW8D1PBnjD1wf0B32xD7WCWjITmBv/sCWnrfP4oVPjTAvoONjm9qGITYqMx8pVGj4d5mB1t5Fjh+NqkRYuQkXN3EhUDODh8BxhQNWoYfwnVu1hkqWtug3VxYNlBv+qlSZWiVrDt1OXim9XMPCBa1PvaBeFjCCJaCG6TgbpdJ6dSW9zB5kXaRc8xjQGAUn0N1J6Uo4fcGqbpMJUdxiW39E7Y9m4feOybNp3fb2LRBbkdI6G0hNBlwcWyBEM/jwmhWySraoKGUBbiI3QYDjOocJ4rVewOgoO9dNu6JZc1fJVmnhcQ 8E4PeMKv YfV3eTa36V9uWcD1Z5094eoZTBOZClpVovbFvk3SSHHMna+zc2TfA98YoRswn2FHmud6dOEw4BpjdsaZl1snpmwXAWVnzhG698XjE3xasy05RSnyT2u6IfvzGCAxvaFtG/SSATkwBnPDdarWupeSHUqJw0wuQjHxJcuHBFVWZLR6cwfipg3vI78QQPSnn2vhaxCgmbJ4M8vhhWPmeA2tRLUslfKSEBcCEq4cXoUmdlU4ajGC9xIjbjT/CVFwp+0jS7p8mGOL4bLqGSONQBPm96VA8iUPAKD0Zd70lNmlUYZ7phoPfbnZBIU0QLI3idsz3TPIszYawWatEJYus/m+0XKepc0UgjCmpq1EMy5NDhzUwEigyeeZgQjiId5D4q1iWrNaIkXcTFkYE+8wjw1uw0Ku3GpZ86Lb0smdod1/9lOf4Ocb2bM7ib1Tm19X6yT0eIogOgDl5YoGVFp8= 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 2023/6/15 16:26, Michal Hocko wrote: > On Thu 15-06-23 07:32:26, Haifeng Xu wrote: >> If mem_cgroup_init() fails to allocate mem_cgroup_tree_per_node, we >> should not try to initilaize it. Add check for this case to avoid >> potential NULL pointer dereference. > > Technically yes and it seems that all users of soft_limit_tree.rb_tree_per_node > correctly check for NULL so this would be graceful failure handling. At > least superficially because the feature itself would be semi-broken when > used. But more practically this is a 24B allocation and if we fail to > allocate that early during the boot we are screwed anyway. Would such > a system have any chance to boot all the way to userspace? Woul any > userspace actually work? > The memory request is too small and It's unlikely to fail during early init. If it fails, I think the system won't work. > Is this patch motivated by a code reading or is there any actual > practical upside of handling the error here? > There is no real world problem, just from code review. >> Signed-off-by: Haifeng Xu >> --- >> mm/memcontrol.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/mm/memcontrol.c b/mm/memcontrol.c >> index c73c5fb33f65..7ebf64e48b25 100644 >> --- a/mm/memcontrol.c >> +++ b/mm/memcontrol.c >> @@ -7422,6 +7422,8 @@ static int __init mem_cgroup_init(void) >> struct mem_cgroup_tree_per_node *rtpn; >> >> rtpn = kzalloc_node(sizeof(*rtpn), GFP_KERNEL, node); >> + if (!rtpn) >> + continue; >> >> rtpn->rb_root = RB_ROOT; >> rtpn->rb_rightmost = NULL; >> -- >> 2.25.1 >