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 310A7E732D0 for ; Thu, 28 Sep 2023 13:26:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9D2D06B01F4; Thu, 28 Sep 2023 09:26:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9839E6B01F5; Thu, 28 Sep 2023 09:26:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 84B736B01F6; Thu, 28 Sep 2023 09:26:38 -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 740686B01F4 for ; Thu, 28 Sep 2023 09:26:38 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id D9A381A0309 for ; Thu, 28 Sep 2023 13:26:34 +0000 (UTC) X-FDA: 81286080708.24.5D122E2 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by imf21.hostedemail.com (Postfix) with ESMTP id C7A7D1C0011 for ; Thu, 28 Sep 2023 13:26:29 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b="JZ0Fmn/3"; spf=pass (imf21.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.215.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=1695907593; a=rsa-sha256; cv=none; b=huYGB0+UDicPuuRbV0Z5X7k6+gZeX4JryB070Fsgg1k8g8Tf2TkvJozqz75IWfcrh+IYgh bnAckxKV2vUsBkhDBjVRLjOUKDcxkabKPlCqrRjYzwUOogYlQ+tlIYDmFZlHMKyD0Pcqy7 2gRhLd7dAHPCGkAt9X7O7XT9f3r0AwY= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b="JZ0Fmn/3"; spf=pass (imf21.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.215.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=1695907593; 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=WxhktcUpsASgAA5tY6WuBTbKkNgvyJxpO/+D+zJ6GlE=; b=Al/cmrUE5HwEYAazkaImF61OWWAVF7KzByHoKkQ3MTXenFZVL9+oLtPAlpdif2glppSJSd gdkRFlJWNO6Sg+KoOxYih15E/0Yd5Ei9WUiYGgo3R+FsUm6k9k+TH+bdvGNgdBJ2DLiPD8 +ftcnIRryCpxqkgCRYD2njWLfyz6uKY= Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-55b5a37acb6so2081352a12.0 for ; Thu, 28 Sep 2023 06:26:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1695907588; x=1696512388; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=WxhktcUpsASgAA5tY6WuBTbKkNgvyJxpO/+D+zJ6GlE=; b=JZ0Fmn/3O+T7QqfxDGzku4EwdkUKosxSjCAoBtdNdNWnht895GFckHKiOdx9JB1oK5 0ALB86+Qz/Po46Mm1fSzwbeh4WcycrdMZ/V4SdlG312P8kFSUuksVd/N76c8/R7I+C+z Lwhf3DtuwxbwWpeVInJFgqeGlBOikMj9Tyda/hhLYYfODuz/s4IudphfYD70Hn1dPG73 dEBZjGioRg6E5Of8qVm0DO53OUvjNFwP9AERZ9b4Sw/rh489jjDm2gMch1CwiYaLEzIu 3hmKpfk/bWSxcD49V/RzPxmkHr3TwnpWqJghMUpiyibAzXaPJ5fJ9TVfv2r4TqT3Pse6 uElg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695907588; x=1696512388; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=WxhktcUpsASgAA5tY6WuBTbKkNgvyJxpO/+D+zJ6GlE=; b=YlWJIoh/jFwmQp+s94FC0dq6p5PuLxVXNwQlD8Xa/Alr44r6B5lv55FwbRHVAvbkX8 d6zOrVsfbGp4crFXii+yOWmrW5fsuSrCHEnoDbtZvGMg8//xf68YCJpBO+8vtIPM2Iys dw5qgjVoAOY3CdKJeNtMBX+ITTR3TWFboSuPClSG23bwefILJ3Y5lnY/1Aep3jPt9FVt z5TwzXPJ8O9m92PwwVv8ibT/8XQPmtlRBCvLCP52cB+hKcYesFOGJ0ImsP4LBr5XbkWP tfa9lccL8AunZVH3mdKzhxcWcL/DdnSRawEd9/23pJFjjDamy+5IK/Zw2cmrX/w1uuZW ELAw== X-Gm-Message-State: AOJu0YxTDk49yYmgIxPfoEvCaAoB4B3/9f98NaaFZ7BUULBPN5+K6CZo Oga76wtCKQDnnwrXKAdOgVeShA== X-Google-Smtp-Source: AGHT+IF29DX+poso5Q62dESZH1ka/JUVWmddaIpCuNXxR7SQ2GzkZxqdmBvnlIs9pAsSwCWRwx67SQ== X-Received: by 2002:a17:902:e80e:b0:1c4:1e65:1e5e with SMTP id u14-20020a170902e80e00b001c41e651e5emr1213184plg.0.1695907588139; Thu, 28 Sep 2023 06:26:28 -0700 (PDT) Received: from [10.254.136.132] ([139.177.225.236]) by smtp.gmail.com with ESMTPSA id jg19-20020a17090326d300b001b3bf8001a9sm11208633plb.48.2023.09.28.06.26.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 Sep 2023 06:26:27 -0700 (PDT) Message-ID: Date: Thu, 28 Sep 2023 21:26:21 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [External] [bug report] mm: shrinker: add a secondary array for shrinker_info::{map, nr_deferred} Content-Language: en-US To: Dan Carpenter Cc: linux-mm@kvack.org References: From: Qi Zheng In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: C7A7D1C0011 X-Stat-Signature: qppg8osfsyh6m5qobgdtwj3a3zn6fecq X-Rspam-User: X-HE-Tag: 1695907589-717075 X-HE-Meta: U2FsdGVkX1+cIj0R2bphI2/+MUvCZRK4jUr0czpL3IlwwEnCF8eG2yc8jA3qKDlju1nCxPBzALXV+fyxzaPOIauyEFjLcYGy9ZMEkLdt7YNiIsszU+40b84elra1jgyJ13/j5DL137Nw3DqcRaPaPA68prRb38BpKnJtlxhQdbw/6757y9wGSOFkwMlUZr1qfzGA4IyhUIFWqTzIB/X8GcBUcVqwD0VMsdD6P2yFn63Ndp48GGHF/WO8JpEsPWaIhKEbmCQ39XSNIFlXfFna93HAW669nHHZTJoSKxb7Azuu4RZvz4U2euUJLH+wg/XfCbbHzapoWdEaY7wtwj3rMOgNR8rsOL6TqNW+UAWbluuMshkxs2jGhtErUgbKNQ865q/5bfGJo/94Wzi5XOucVZcwW0rgJ5aDKBbp/vqy9qFFYaycdqX909aki9Tk/7eyVW6pMy4raJYr5kFFgKGhC36LtT+VSb0y2G67UlJdAobLy7k0ZQghXxi7XJ5t6BwW1KIobMEL3+YnlT0yJaagQR4XAYpSh2ZLRPH0k9xG5ghP5u1tlQtesdlc1j/nFMi9jbD8q8M0Uzl7hvIAXK1y9WP9v1S6SLUhDa9dGtSWiYs9bvsCXZx4ymzpsY5Lfh0jDyEdYZpMDYTYVPmaSVu5ilrb/28Tf2L8/JYIEYpgS28EQASFn8rdqmSnpKbYP9YQJ/DevUI1LlZY83KzFA+kG2Gr3gSAul9lwtIe8obkNuPvn+Uyx38VpuilhiIudeBahWlU9wuJcO3hBMN6nc5GmewG4OJ6q9A9hJOunYnbDdSFrBxGU/aMEGban/6IpmqlAd68nkaa4kA9qb91gXyvKVX4soD3KFB1Wg5EB3meRHiPM+/u75fQeMenpSaPeVEllACHvWVpdevkxblWT+AwdrpUUf6eoEFPnww789bDzhRwi5gSNxuwGc60ZxIGLviwA+ZUDBAaf0tS1XHrLOK XWpBkbyj Pv9YsBG468eUH3H2IeRt6rTDET3DhqGtBmKtVqacrIZ1XKr5AptSrZKlZ66lQxafZ5o7RlhTnTtMHBT7I5164+7iyL8Fr1jdz5lRbCFwc4bqpWZ+Ny6275NLzZfv2ITj0RAcbbfUdZilAH1FMZOivdeMZ9YEsuUWqfdST2yiW01thdt/RKLiWovn8Z5tPYWY75Odn8ibNKW/ifUvMs0RwJgnjRPIzLv+CR01+7GHOnOdBIQ0aB5TrVYEI/v8vZk2UmtXO8CpgW/YzVR5Fp1scZqM0lnvBhThV8hq44pJgbNRTYt75mc1RNG7wmis9uEbFkAHwQnWmS+961H1HckzKA47OETYjNn5f9p1H+ulFFVIZwSSN4fAsxjd6OSe6LHyM1UqC7WBIcvybpBdjzIvhlU9rapWCci65EHhc X-Bogosity: Ham, tests=bogofilter, spamicity=0.000159, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi Dan, On 2023/9/28 21:03, Dan Carpenter wrote: > Hello Qi Zheng, > > The patch b6884b5f15cf: "mm: shrinker: add a secondary array for > shrinker_info::{map, nr_deferred}" from Sep 11, 2023 (linux-next), > leads to the following Smatch static checker warning: > > mm/shrinker.c:100 alloc_shrinker_info() > warn: inconsistent returns '&shrinker_mutex'. > > mm/shrinker.c > 77 int alloc_shrinker_info(struct mem_cgroup *memcg) > 78 { > 79 struct shrinker_info *info; > 80 int nid, ret = 0; > 81 int array_size = 0; > 82 > 83 mutex_lock(&shrinker_mutex); > 84 array_size = shrinker_unit_size(shrinker_nr_max); > 85 for_each_node(nid) { > 86 info = kvzalloc_node(sizeof(*info) + array_size, GFP_KERNEL, nid); > 87 if (!info) > 88 goto err; > ^^^^^^^^^ > > 89 info->map_nr_max = shrinker_nr_max; > 90 if (shrinker_unit_alloc(info, NULL, nid)) > 91 goto err; > ^^^^^^^^ > These error paths need to unlock. I'm not 100% positive if you want to > unlock before or after the call to free_shrinker_info(). Thanks for reporting this. The shrinker_mutex should be unlocked before the call to free_shrinker_info(). I will send a fix patch ASAP. Thanks, Qi > > 92 rcu_assign_pointer(memcg->nodeinfo[nid]->shrinker_info, info); > 93 } > 94 mutex_unlock(&shrinker_mutex); > 95 > 96 return ret; > 97 > 98 err: > 99 free_shrinker_info(memcg); > -->100 return -ENOMEM; > 101 } > > regards, > dan carpenter