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 B80CEC27C50 for ; Mon, 3 Jun 2024 17:32:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2DE236B0088; Mon, 3 Jun 2024 13:32:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 266DA6B0089; Mon, 3 Jun 2024 13:32:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E15F6B008A; Mon, 3 Jun 2024 13:32:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id DCAA36B0088 for ; Mon, 3 Jun 2024 13:32:21 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 9AE57A08F8 for ; Mon, 3 Jun 2024 17:32:21 +0000 (UTC) X-FDA: 82190271282.25.2E88A4E Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by imf19.hostedemail.com (Postfix) with ESMTP id C92001A0017 for ; Mon, 3 Jun 2024 17:32:18 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=m8WhXgmA; spf=pass (imf19.hostedemail.com: domain of axelrasmussen@google.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=axelrasmussen@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717435938; 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=I6lZeLqXe3ejNVp6NkHTGb2agg9ZhMGoWIbA4FuiQCE=; b=EAyIAAtJEu0uSoEDavg3m9QUJCg6YYtIic6kDgad1cS4lw0U7hMq9BTx49M70iz64qbq0j kYf6AJCGUB4piihdSOIjFQMVpERD88KVvcfN1j0tXkEhXOATb6/f17VFHa/Z5Vqs13aPU/ 2TnmbDqVeflytYS367MFsX/KOBtw88U= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717435938; a=rsa-sha256; cv=none; b=AEUXvb0VAs2EeOc/mJjR46SI/ndcUISYwkXrCUbf/oxcGD3kjikdPty0f2xQltIhBsvJj7 7ZeXyXwhVNUh1PjpxP9Nbr1uSeCBooL38kLS4fs6i/w9PEXDDCu8RsJpzrOeyC8M577jHC +HenSdToX/s2lw2NrguyFe/Zv0OBUBE= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=m8WhXgmA; spf=pass (imf19.hostedemail.com: domain of axelrasmussen@google.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=axelrasmussen@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-35e573c0334so868168f8f.1 for ; Mon, 03 Jun 2024 10:32:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1717435937; x=1718040737; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=I6lZeLqXe3ejNVp6NkHTGb2agg9ZhMGoWIbA4FuiQCE=; b=m8WhXgmAnSQRaXSrJaow35oeJyiil+xGADXswQs1C7WqjQ6lMER3O9ewYbTmcaIpr5 5/d9cDG+nj6/3MHWgj9zlw3wXJ+SH6qVlBqVQH6thT/eiM845sRQKVQnx8zhrMIpg2hK 8j371MJHewEGbE8NMX90wQTxpi47H+ixStWtqQNAX4A2bm9cyCfkR2O3vAR8HAhu26zO oAqc6KXEuip7l0IQfd4TBnfVoEIJB0WBPfcr7uY9N68hmGP+4mFA3A2xR4+JR+yybIdX Fnz+PT2d8NQz+lclpJI2nYjYhSzjART+73FXgddEPaXl3I7jwKclDDJRot7SjrqlVX4W UERA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717435937; x=1718040737; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=I6lZeLqXe3ejNVp6NkHTGb2agg9ZhMGoWIbA4FuiQCE=; b=BBU7pc8I3FXEpcn+RbcY7MBnxhiiVi/4GldhDFrahVChjqxud9mWEp8/7mcWZIEIxR Y/5Q13i2KHcVUcmCFyrKm7fpW7+qUGK6PsMxW/hu0thM1DCq5f3HsqtVyLLwQN/1BfCu Wl6wmCUyG8O/fqiQUsJlyfn6XuoS/Ob3614sLcA9IbwPqBztBmQWLMiWi7vFrJLAPQ8t +/WJdrhuoH2vHBv3BPDH45BDbvVGp5PJsCiFkPyi7kuEEBTcDG/NqLPyYOSpkLbdw4ei dML5Q8Rt8EqGBiMr8EiPHDBWaLCACgLZ7s4dKcVHGHV3sNxcCcTeTFbQLeq41zE5aImH L6Lg== X-Forwarded-Encrypted: i=1; AJvYcCWnsgRrfk5UmueuKkLhyOPNKYX+k0M9uku6Jt1VXYIBOkRzrNY10yBSdeULy3PqngmFRa5x6a2pqpPl5qJx1Xsak+U= X-Gm-Message-State: AOJu0YzQE5PYJt8/XbqZh33lFRERWtk+OK+HkJy53kVoq/qcVSOw59ZG bxGYxHkgmoiROdsBv8JaMI80qBoW1wzEMZYEX+V7gCdmOYpHUSTAyQn5G9gvwgMBzw3FFjOl0PY nR6fmCzAerGk8BpzRDXCs9EyD8Zpdmj6MfvHa X-Google-Smtp-Source: AGHT+IHPBSr6Q08XNRaq9LIuJApuhMEdcTWJilasTuQLDU/lTHvec1E4BlQkV7G8xapO9IL44goXuhFn5/lUGnCOjHI= X-Received: by 2002:adf:e3d1:0:b0:354:db90:6df4 with SMTP id ffacd0b85a97d-35e7c56ba79mr346084f8f.23.1717435936987; Mon, 03 Jun 2024 10:32:16 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Axel Rasmussen Date: Mon, 3 Jun 2024 10:31:38 -0700 Message-ID: Subject: Re: [PATCH] fix: Prevent memory leak by checking for NULL buffer before calling css_put() To: Geunsik Lim Cc: Vlastimil Babka , Ingo Molnar , Andrew Morton , Thomas Gleixner , Peter Zijlstra , Hugh Dickins , "H. Peter Anvin" , Steven Rostedt , linux-kernel , linux-mm Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: C92001A0017 X-Rspam-User: X-Stat-Signature: 1myfksmr7gi87earxjumim143ypk693y X-HE-Tag: 1717435938-5799 X-HE-Meta: U2FsdGVkX19red4MvWlTs2lXOyHKq0LRMuWnDLHYxuotFmaJXbdNvHLVjkUSNeMIdMbpxSzwKJ0AA+FIceo3XIfAymrIZMWoDeamSE43hhMLVvcWsVutvWK9+i/9NJb/j1i7qDRyf/IYZKI3HhIdGB95eaTHm3PawDL1Yq3yI21jD+y6f2JFJH66BUTxUlUCjuvWMRNTsT8VnApDdzfxDH5dQLDUiNqmpwdSpA6fbGe7NHxMvnD4zPy4wJMGAw0uKx0QpXoIOngmtQ6MmOts1aVEysIOdgqGac/baYoqq2H/hoG6SpwowvW2Ukwv2iHKlg6UWQgcWM3gYDZzramQtQcPs22sOwURnF4uQRo5fBFeGWLXbzoF11cARqYGMd3zW/LqTb9XTjOlbquepAwv6d9IG24FYMOJSS4QXsvKCKPC/z1ps3odr05I6mAUELBzvfOhiDFdR+B9o1wjAI94QhQjpzlAZJVKExSRsWQYnxVprtLs5aiTxZUM8V5LDedICM1dIGqYd/iUZMvkpUzjgfrHmYDGqAKwURD5mOZtr/x9Xi6zlWzy4Qvet3C4KI0j9nAsxnAuJ1MqXrZMK4hgDeCWXzfPvhphXZg1NrPjRAsAxBJ9hH2BaGDfKnaoxWHcBfxVmrR9PaY8abs/kOixnIw2bIguW3lJEbOj9uzeEIzeeN/3bUZw6VQAlbER1+M1aTeREK2VZaPX9NsqT0fcCf49WBMkwAdKbBLJ7+gyvtSpFemNSHpLDi3P4A5E0QRbRNafb4nSbl3cAdmHxSNAHLB2VSRpy1zXrGcUYQvSdkEFY1BcQgaPzKz1TXTRSmEL1acqhwLC8W/9nzxoQ4o/oy7DiEOrpJLIm2PlxAgjasHXOuiGSUXmllDtAGDLQpcQfc9IlA10ietxR+WDfXrUPSdBwP3k6yB6T2E92WU/HlV3j8qyxXDwHoFuhAofoq4NP5TTT6DBmTj2+rI82ab v5BiHn8W SavcgznF9MH29/5a3S/vy4In3ZRqwvJu/IBXVKfz0Hl+Dwr75qJjVpgkVIr2/Weqq+qeC2eC6FYUlvoFOxXi0IKyuvj+d9LsEWFu7gnfCqP5cIXDSZE6ujv8vflJ14rZ0RkkhDRs1/fWiy7PfYxtZaGo6bx9hlx0wR3dQgHJnCPh/WM4wasQl2NpQ7PrVa5gT2qnUpDZIQadSc1pt5elUj6Q2KwqarUvFxqXGh9WEDR200JytRUyr5M7r+6QwB9jnlxTXT0gFLTT3sWRBOY6QaJ8TtbuAvAXbAdbNEvX1B1yq8f6xPwEjw5rWXpNJr/AARK6Earl3GhdL+474CbdLjo6UNNu0VlbAm6g8WNgpnoVbGnx7+nf1+sN+QzXNMfrKG9ia3qxN8rVg8zqSTUPVEGYbf9c+BwtJwpe/JvHRsKd0yKO870P/Z2kzorjmE8+NDFAoeIf8UgsITCliRctBHyfdKXQCRVS8Pv4h6XF5JMkWC2wcRCCdxx78OdcMYFwUneRAskfg7K7iJO9I0ti0jGlLJQ== 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 Mon, Jun 3, 2024 at 5:33=E2=80=AFAM Geunsik Lim = wrote: > > This commit addresses a potential memory leak in the > `get_mm_memcg_path()` function > by explicitly checking if the allocated buffer (`buf`) is NULL before > calling the > `css_put()` function. The prefix 'css' means abbreviation of cgroup_subsy= s_state > > Previously, the code would directly call `css_put()` without checking > the value of > `buf`, which could lead to a memory leak if the buffer allocation failed. > This commit introduces a conditional check to ensure that `css_put()` > is only called > if `buf` is not NULL. > > This change enhances the code's robustness and prevents memory leaks, imp= roving > overall system stability. > > **Specific Changes:** > > * In the `out_put` label, an `if` statement is added to check > if `buf` is not NULL before calling `css_put()`. > > **Benefits:** > > * Prevents potential memory leaks > * Enhances code robustness > * Improves system stability > > Signed-off-by: Geunsik Lim > Signed-off-by: Geunsik Lim > --- > mm/mmap_lock.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/mmap_lock.c b/mm/mmap_lock.c > index 1854850b4b89..7314045b0e3b 100644 > --- a/mm/mmap_lock.c > +++ b/mm/mmap_lock.c > @@ -213,7 +213,8 @@ static const char *get_mm_memcg_path(struct mm_struct= *mm) > cgroup_path(memcg->css.cgroup, buf, MEMCG_PATH_BUF_SIZE); > > out_put: > - css_put(&memcg->css); > + if (buf !=3D NULL) > + css_put(&memcg->css); > out: > return buf; > } I think the existing code is correct, and this change actually introduces a memory leak where there was none before. In the case where get_memcg_path_buf() returns NULL, we *still* need to css_put() what we got from get_mem_cgroup_from_mm() before. NAK, unless I'm missing something. > -- > 2.34.1 > ---- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" i= n > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/