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 C8DD1C25B75 for ; Mon, 3 Jun 2024 12:33:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 357626B0095; Mon, 3 Jun 2024 08:33:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 308EF6B0096; Mon, 3 Jun 2024 08:33:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1A9136B0098; Mon, 3 Jun 2024 08:33:37 -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 F05F46B0095 for ; Mon, 3 Jun 2024 08:33:36 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A46FCC097B for ; Mon, 3 Jun 2024 12:33:36 +0000 (UTC) X-FDA: 82189518432.16.37DE6B9 Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) by imf18.hostedemail.com (Postfix) with ESMTP id DB2601C001E for ; Mon, 3 Jun 2024 12:33:33 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=XcF5EcJZ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of geunsik.lim@gmail.com designates 209.85.167.49 as permitted sender) smtp.mailfrom=geunsik.lim@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717418014; 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:in-reply-to: references:dkim-signature; bh=1Ru8Np0KrRH/lYPvykLiPbmxJAWT+d6nNSuG8nv7VOk=; b=DFjagFhzgSDpjGbJIGwiat/Z8S7XoYCoSTnyqdOlIKvEZkelry4AyZcTt2VdtdCAERYWDb yp3xZ+X4ocYis6KHceLX0pmcPJ9h/Xu5dNIdxf8fJa56/iG1X/PkecycTaiJQKQGpjLdN3 HQEyUA9po4tcUtAQjQduL33Tf1YYm0s= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717418014; a=rsa-sha256; cv=none; b=kbBhKSMtQEa7JFlkkoJH5CtB8eV3iBmudaKgifSfoBSFYVSqwzh9YhehwqZjjgwmInNGIr 5qwL2sH4c1JuzQno8NFPnr+8lELjilm26neXO8HPkZ4g/T/LxAPqLKpR+9cae+Jw8EiPrQ a5bIbt12xGZDC9JNvqLirDBLEjYwV/Q= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=XcF5EcJZ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf18.hostedemail.com: domain of geunsik.lim@gmail.com designates 209.85.167.49 as permitted sender) smtp.mailfrom=geunsik.lim@gmail.com Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-52b8e0e98adso3640496e87.0 for ; Mon, 03 Jun 2024 05:33:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717418012; x=1718022812; darn=kvack.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=1Ru8Np0KrRH/lYPvykLiPbmxJAWT+d6nNSuG8nv7VOk=; b=XcF5EcJZGXVH+Ddo2JsX1wV7pMLQ7T0ETfqYd/swv267bRvqNEL5a5jEIxp4kGRx/u N8cBJQWjgJuk4PnAyzSfPo5qfbsC87huUsdRxRjK53c1FNaMyemUWUHM7pqTB351klRy d7zUPAKkM7PGXznK1TR5UYP1YTZqFvuzTjQHiEV28w8P6/7EtPHsGN73rJ0uy4fy9m4V qQOj8TM3vBrRpRTSXYiOWguAl078xUok62/pXivkP3KTc20d1fwRxyttEJLvKrnPff/U 06AVgJvnXWnEK6b4hW8GrmjkxDGv5/PyMDpW287DciRRftDf5dPDtH7ARDV4Kuh8Yjio GuvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717418012; x=1718022812; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=1Ru8Np0KrRH/lYPvykLiPbmxJAWT+d6nNSuG8nv7VOk=; b=DMryFFaNUVvIOxO0b+UaboRs8Oko/4+Qz1s65qpbkEgAfMFCk7pYGgykC4JfVT6SPQ ROeOG9nSMoIsGKPm0PZZ3Eafac0oURys60+uo3kUknz1tiKZp5EcBXnCKrEzpRq2+OoI bpQ23zH3V0RL3IiP/R6t4mAswJP6pWpcO2I9Qm23hMVSM6GLLx2HwPY4B3fJEspefBwj ooPFvngM1iW7p9RQvhz4CWgOplX+QCiS0vbryOTaCKPN+066vsVUC7tnXfrzZb3NLaLN 0aNPRghT9cPr+0K+mvPXj5Wta0LULapWr4N5nKuK1DIzddVbF7tyPP0HXwBAXsRetUJ+ ixUw== X-Forwarded-Encrypted: i=1; AJvYcCUWuIHorNDBJ+xhgQjc7ifPj/uhKebeiyLw9yKZrZNZcH7ROOEAmGE0sI+WA+SdxmMmVjXxNLe+1m6Gs+ROfo3eJhI= X-Gm-Message-State: AOJu0Yy9Z2Yx+vKsDA9Z7ILg6nT9QkwrkFXS3K2sUgwh65NsDpGWUZBp 5dU+r6BEV8BYvS2YME+mplPUKl2x4rL/7FAX2ddOQwxp2oFcqfG87QmZ8pdWkljVZRvRF+QzAEl diKP0RiUe0dhyIPcGLux/QvcsUnk= X-Google-Smtp-Source: AGHT+IELbgEKpUYqgg7/B8eBPlQ72lpREBzdEuG36lLClLg99bLNWWdoXAoX4HgzvKzIriL8h+z/Kw3R6J65SU1E728= X-Received: by 2002:a05:6512:314a:b0:52b:79a5:517a with SMTP id 2adb3069b0e04-52b8959daa7mr5518994e87.33.1717418011642; Mon, 03 Jun 2024 05:33:31 -0700 (PDT) MIME-Version: 1.0 From: Geunsik Lim Date: Mon, 3 Jun 2024 21:33:19 +0900 Message-ID: Subject: [PATCH] fix: Prevent memory leak by checking for NULL buffer before calling css_put() To: Axel Rasmussen , Vlastimil Babka , Ingo Molnar , Andrew Morton , Thomas Gleixner , Peter Zijlstra , Hugh Dickins Cc: "H. Peter Anvin" , Steven Rostedt , linux-kernel , linux-mm Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: tsinocrk5xb9jstkwmmf8d6e4aogu5rc X-Rspamd-Queue-Id: DB2601C001E X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1717418013-683039 X-HE-Meta: U2FsdGVkX19fwtyA8QelCV/E8KjD+sL3x6VciMrAyPFvfSXfez1fA7LBv8ghD3lqaUKcdAYhyuCdVmXsax8N5YfSfBYPYsGUe1zSkqgADOtm+TdWC6CCO3KQVa95YjIW+otteWysZFCTkWDPjmHULmHiqrf0cIATwRgQHXB1D/OP0iwiTAVFfSt/wYQ8VtHdvtCxcVX+GCGtaw1kRE7fqJ3IdiWYJDk2zxNIyTTLjl239hhr8FYWkFSQtfFP0FIdiVXn0iJC73hMDBVWIttckXwfMxaRbMnAOymLmKl3MvXxHbX9KwLulCY/v81QPSveOhIuwAHlZm7BGJxVVWKlzYkq5lzmbbfo1lFPJywYamBuV6kKF/9Qsa5omGvz7ez/g9R1vQaw0OE+6bMSHS3JLLsKaEySDo5+gHGjB5TcPGjwoj4oEaDElM/VDqoDAlEZk+fvRIDp9lpjmHZA61kvtgzbS0rQHnAa8+0fhZuVqfCRaRwQDb8wYl0M2cz+ON2PEE0Fg7Z2lbnJN/3SGvazazH5RaoqskhqNZYji2ot/6jfZC38PsYMQVt+VbasXE2o7zS79QfZMB6m8XheYarzWfjxDE8OyXb3H32NgurWkWzF+Mcy2pNJ5kTAaE4nqhej+QmENEWlPTntASqwlIP5MrzNc9GSqe6hkslD8Iw0P1vc4Zv+zstdKvX0UERlljbyTdYCgvMF2jadmBGMr44hrHL2cMQYUnSMxYWQXKiRqK5FkXwvynmXwvOVyIowP4lWFMbMt6JrULmYRrFNOw9mOLx3VQxlTiYy6TqGArNKQWl3QXbYXL5itFyJ/HH4dsIgkGAfmB8XCWofrJE9PRvF4dGI5LLyPA+/eQa4Pe4U7PsN+rFH9Jq40ZzvyEqwrdVzhQY54oEXqAQ9yP7NX2U394RKG2iJENuPa7+TsmwD5A2JSRKBChopA4WNqGCdXRiYktCceqOElTIKY4F7jAM xErfSsbo WYxH3EwEfN2ApAVdtm+1x7tOORxxnKmXZkf+Y2DEzXzO7r5g00CKM6rC/DbwX/jsbIj9TrMHPA86kU5ABYj32EVWK/3bvLJ7D3x5mlTTClUfUiaZL3lXohDDzyfAv6OCk6bn1iAKUtQ7srvt1eQLWe76zlIoO/0FbTEXX+4p8U8EM7oJT/o1jjBurSRtofiMLYh8RMLOb4J5rfw1CoTltj76zfaZHJy7oZhxPPbNEA5sM0E8Rnq4/GrJwIFN7rp7P8aP2kPdOXYpirh/Cf1iZdyvfod6UG319EAXYryGG44L0pC+zkW5T6VfmYK5fmlhwld+E+Ik4InBub0p05SNDxuYZYbmIAkY1He/1OyqvbtR3k3qpXBhy7JjVfsi5jjwv0bAX0tXL/DXZSki06ULWcPYj9kAWvqHAqcBylYYR4N3xazxHk3ulvA2WA1SgIjbJNPlHzw7dv0KUpAXINDATxo3wMnity546aFdj3prfC7qqQi0XomSj/R8J8S9q+UBxhw7jO8gkqcSh1d30sKtHw8NBTz7UeuUXiuvNbUKRWerpr0kGT6a5R8OQgeZ/Bod8/tpUHH/C+Ms4xoztfRyA4q+31VX3030QABpS2bXGZoFXhIk= 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: 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_subsys_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, improving 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 != NULL) + css_put(&memcg->css); out: return buf; } -- 2.34.1 ---- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in 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/