From nobody Wed Sep 17 19:54:05 2025 Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 52D9B2D6E4F for ; Mon, 11 Aug 2025 17:31:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.202 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754933500; cv=none; b=jfxQAKa7xWhrjl/F5yDo4Su0rrQw47m2TpQOwfmULtwtBtuasdiq7hYZpOsZByw+coD8Eb03q4vgaC2Ab9Ui3MnklsYbkeRCaDRBVe7ZN1EMD80hzrrwcDspz1hmGjwR2IP56VmfQEYuFJQjeeL1TK1oSF+aUfm7ap9BCdTH3lI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754933500; c=relaxed/simple; bh=X8eX2iq6i1SdpjO7hV/2ZT1qtsDqnu8t+51xQUHLbiQ=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=GviNlF5EMkdPCRwTRVkJ8SWVq/r2//RmCPDmjwMJa9X36u3gXAEC/bypEaiLfJ51Ytib5whogJLpRcmFQmcQwurFhUJy7QeawAJhnybz4dnwqnZfOkk70zw4FPq+wfQcXkXUtZfgkmfrJ0S7LWEEcktK7YXXd4VTrlR7/YrCkh4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--kuniyu.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=DLlA/hb7; arc=none smtp.client-ip=209.85.214.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--kuniyu.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="DLlA/hb7" Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-242abac2cb4so53547025ad.0 for ; Mon, 11 Aug 2025 10:31:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1754933498; x=1755538298; darn=lists.linux.dev; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=uzfVGGcr+sVaGRRL1v88D9i+PBN94epKYHJgJ64bEQY=; b=DLlA/hb7Oc7E/y1ZUD0myQURCJVMvMbX4CUissHz/rKJx7/ihy/UGQJOn87RctLeaR 5RPl3E1QobJbhNJyzUErF1t83G7DKouoyfdZ0XkHyg7W7nOALYPY0oypK6+K2DXgaZdE LxEczyq/iG1sy9lXzFJjy05JO9MEqAU4GA9r9Q816IlkWa9fMCSFLHV07AE161nJmp/e h770mRpSfUcNjHJP9r5QL2VRwtSotvnx20wlL8Ljml41D6jeXe+ghkSEopXI2XR12i4S dnVWzO0tqGqfDMErwFTSnhcYGBtT9zrVPSj0quPyVZ0a8sLBljxj+zUY95pwPn5hUO4Q KqLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754933498; x=1755538298; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=uzfVGGcr+sVaGRRL1v88D9i+PBN94epKYHJgJ64bEQY=; b=mlP6SdkXArBXIXPfLWxazX2IRq8lrPUKTMEIErqYlTzEhReVNQrA5zQnroT5sw6k7h xaNJQrcbG9hLYOyuIqP958ytarQ0eSUeoeoRewdRlEgaptT4+oUGNyBjSPBPzhIIW49q a3msoaDeNosL6vtibw1fYnU4OptCY78wP8Mw/XtJzhkq9Yf8GiClg+KcwOZi0zZslw1G 1+K+EhJLz5qjMGXp2mns628AIo3YAIglmx8rlJSJHx69YL4TsP89rQmOZRlSsUGwfm4g iXlm6K+baPsmNTwdlxYbKJOeW0D3+NhYImDaY2o/6MFv1vEzi6hGsowGX8qW1Dx4ASK0 nm5A== X-Forwarded-Encrypted: i=1; AJvYcCUSf0hi6fVm3uWGPLNFiBQ6YimSrzL5m3d397QwPMon7cXF9SDiw6yOih5mUwySZ9GAntpeAQ==@lists.linux.dev X-Gm-Message-State: AOJu0YwxGpVHSvd7sc9P5fXMe86EZYzUc/7UDOhvo3on7cGa5laBerxL WrsxXjkDLzr4pdSKmFRBVVul34h/bb0IRbgBtQO5tq8vKbri5bWF9xbAvURfMsDVs+N6iTBdlk9 equ3dOw== X-Google-Smtp-Source: AGHT+IG9Zlocy4eDqCS5oKFJ6Lh7wIqM9jd+N5Kyl95s+RAxxPEZ9AxG7sDpQwLNd7KdpVUzfZOq2F2IpGg= X-Received: from plbmv15.prod.google.com ([2002:a17:903:b8f:b0:240:3c5f:99d8]) (user=kuniyu job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:ea0f:b0:240:9ff:d546 with SMTP id d9443c01a7336-242c1ecb9c1mr190995095ad.6.1754933498485; Mon, 11 Aug 2025 10:31:38 -0700 (PDT) Date: Mon, 11 Aug 2025 17:30:33 +0000 In-Reply-To: <20250811173116.2829786-1-kuniyu@google.com> Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250811173116.2829786-1-kuniyu@google.com> X-Mailer: git-send-email 2.51.0.rc0.155.g4a0f42376b-goog Message-ID: <20250811173116.2829786-6-kuniyu@google.com> Subject: [PATCH v2 net-next 05/12] net: Clean up __sk_mem_raise_allocated(). From: Kuniyuki Iwashima To: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Neal Cardwell , Paolo Abeni , Willem de Bruijn , Matthieu Baerts , Mat Martineau , Johannes Weiner , Michal Hocko , Roman Gushchin , Shakeel Butt , Andrew Morton , "=?UTF-8?q?Michal=20Koutn=C3=BD?=" , Tejun Heo Cc: Simon Horman , Geliang Tang , Muchun Song , Mina Almasry , Kuniyuki Iwashima , Kuniyuki Iwashima , netdev@vger.kernel.org, mptcp@lists.linux.dev, cgroups@vger.kernel.org, linux-mm@kvack.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In __sk_mem_raise_allocated(), charged is initialised as true due to the weird condition removed in the previous patch. It makes the variable unreliable by itself, so we have to check another variable, memcg, in advance. Also, we will factorise the common check below for memcg later. if (mem_cgroup_sockets_enabled && sk->sk_memcg) As a prep, let's initialise charged as false and memcg as NULL. Signed-off-by: Kuniyuki Iwashima Reviewed-by: Eric Dumazet --- net/core/sock.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/net/core/sock.c b/net/core/sock.c index 380bc1aa6982..000940ecf360 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -3263,15 +3263,16 @@ EXPORT_SYMBOL(sk_wait_data); */ int __sk_mem_raise_allocated(struct sock *sk, int size, int amt, int kind) { - struct mem_cgroup *memcg =3D mem_cgroup_sockets_enabled ? sk->sk_memcg : = NULL; struct proto *prot =3D sk->sk_prot; - bool charged =3D true; + struct mem_cgroup *memcg =3D NULL; + bool charged =3D false; long allocated; =20 sk_memory_allocated_add(sk, amt); allocated =3D sk_memory_allocated(sk); =20 - if (memcg) { + if (mem_cgroup_sockets_enabled && sk->sk_memcg) { + memcg =3D sk->sk_memcg; charged =3D mem_cgroup_charge_skmem(memcg, amt, gfp_memcg_charge()); if (!charged) goto suppress_allocation; @@ -3358,7 +3359,7 @@ int __sk_mem_raise_allocated(struct sock *sk, int siz= e, int amt, int kind) =20 sk_memory_allocated_sub(sk, amt); =20 - if (memcg && charged) + if (charged) mem_cgroup_uncharge_skmem(memcg, amt); =20 return 0; --=20 2.51.0.rc0.155.g4a0f42376b-goog