Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp694954pxb; Mon, 25 Oct 2021 16:49:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzYUVhs70LSHsvIgQpbSiVkkh0WlBC9GA3rKY9Gnl6dBLCBjL6dPtXcWQkRhR6i7FN7dIR4 X-Received: by 2002:a50:e142:: with SMTP id i2mr19895292edl.159.1635205763649; Mon, 25 Oct 2021 16:49:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635205763; cv=none; d=google.com; s=arc-20160816; b=YV/BXG6Zl5lf6FVvtdbnmDuqgUptYccFdATpF7sKwPILQqVbxGDYj9AO5YDrDiuMYf D0WgzEvWoDYj7BCWSVOG3ObEEPBSHlBmAZzO3LIQ0fp2qA4msO0JUdmrnU5nne8XVGyi s+U/xrIWdWxVWNNYdduc4AheDU5bQg9AUwsqLyHe3w8PCElRkD81eSuctOSGHo+uBTE4 Ooa7xzDVG4aprfJAInUs5WD9oSlUaeGJpqDTtnfCUw/sfG7FqBB5ANElf+5JSU4eKHYH 9tU71y1V7Xz7bKQ/ehVj+lPr6K8rHCfBORjvZMT0rbc2HQQszCtQoyeXZx9jskhKhUb8 dVvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=QFHI0WaX628hlMS7atLXT+l72Hf3bTiJpvGy8BR2H6c=; b=T4wm7i0cSskVSlJEbgDbh5SvHmk3mtE/ToY8mJlH1PvG694i/Ed9lSCjoAgCdfGPtH ROzF7FDyIRCczM910+nSXpbGlzCOYsvRPVfazY+kqlISm2pQyolrpoZaaQXMaFaKjUiM 8a2D1zM5j4mhWqkAfEnsYQXnMTBigxYqJUjuLyeDUQ9Fq9bIIp7V8PzOR6mI3f8oOrkQ XtuYPjton1Jg1Jp5Q62s2wZHO0zjOzf273YrUPbbZWEyEmiwhJwYDT4SSLrkn3UuKS6w GHszyORSNAUxOzUj8myZ6ZAJ7RWGhwkS33670dByl+gblBUJ5n0Zs8MRGgxuKK23n4UR zj3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=DqL5C3NW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o8si23164006ejy.317.2021.10.25.16.48.59; Mon, 25 Oct 2021 16:49:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=DqL5C3NW; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237473AbhJYTnp (ORCPT + 99 others); Mon, 25 Oct 2021 15:43:45 -0400 Received: from mail.kernel.org ([198.145.29.99]:53590 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235180AbhJYTfh (ORCPT ); Mon, 25 Oct 2021 15:35:37 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 95D3C60F4F; Mon, 25 Oct 2021 19:32:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1635190380; bh=GtNUhLFz86P7gP09g68mPzVaSVkrdDu9Ld/BXgUrqIo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DqL5C3NWY0dzSqt9TA8pndKkgaN+m/fZWglyvQuG8G7GQO3PWW+crRtK47nozMYyB aBJ0CI6FKErKrrYD6PRobbjdkH82Gq5Xf6Uf6WzGsXP+UHn/ovB6oE/DXLJHv2YNCV Y9vuksyS74LHXuwGuOmohysDoz4aNpMXz8+6El9U= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Miaohe Lin , Vlastimil Babka , Andrey Konovalov , Andrey Ryabinin , Bharata B Rao , Christoph Lameter , David Rientjes , Faiyaz Mohammed , Joonsoo Kim , Kees Cook , Pekka Enberg , Roman Gushchin , Andrew Morton , Linus Torvalds Subject: [PATCH 5.10 61/95] mm, slub: fix incorrect memcg slab count for bulk free Date: Mon, 25 Oct 2021 21:14:58 +0200 Message-Id: <20211025191005.770461024@linuxfoundation.org> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211025190956.374447057@linuxfoundation.org> References: <20211025190956.374447057@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Miaohe Lin commit 3ddd60268c24bcac9d744404cc277e9dc52fe6b6 upstream. kmem_cache_free_bulk() will call memcg_slab_free_hook() for all objects when doing bulk free. So we shouldn't call memcg_slab_free_hook() again for bulk free to avoid incorrect memcg slab count. Link: https://lkml.kernel.org/r/20210916123920.48704-6-linmiaohe@huawei.com Fixes: d1b2cf6cb84a ("mm: memcg/slab: uncharge during kmem_cache_free_bulk()") Signed-off-by: Miaohe Lin Reviewed-by: Vlastimil Babka Cc: Andrey Konovalov Cc: Andrey Ryabinin Cc: Bharata B Rao Cc: Christoph Lameter Cc: David Rientjes Cc: Faiyaz Mohammed Cc: Greg Kroah-Hartman Cc: Joonsoo Kim Cc: Kees Cook Cc: Pekka Enberg Cc: Roman Gushchin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman --- mm/slub.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/mm/slub.c +++ b/mm/slub.c @@ -3100,7 +3100,9 @@ static __always_inline void do_slab_free struct kmem_cache_cpu *c; unsigned long tid; - memcg_slab_free_hook(s, &head, 1); + /* memcg_slab_free_hook() is already called for bulk free. */ + if (!tail) + memcg_slab_free_hook(s, &head, 1); redo: /* * Determine the currently cpus per cpu slab.