From patchwork Sun Sep 25 14:02:57 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yun Levi X-Patchwork-Id: 12988003 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 81AF9C04A95 for ; Sun, 25 Sep 2022 14:03:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E7D788D0009; Sun, 25 Sep 2022 10:03:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E2BEC8D0001; Sun, 25 Sep 2022 10:03:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CF3D18D0009; Sun, 25 Sep 2022 10:03:05 -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 C07408D0001 for ; Sun, 25 Sep 2022 10:03:05 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 95CE81A024E for ; Sun, 25 Sep 2022 14:03:05 +0000 (UTC) X-FDA: 79950774330.22.C163B55 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf14.hostedemail.com (Postfix) with ESMTP id 49C8F100002 for ; Sun, 25 Sep 2022 14:03:05 +0000 (UTC) Received: by mail-pl1-f170.google.com with SMTP id d11so4090960pll.8 for ; Sun, 25 Sep 2022 07:03:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date; bh=ZY6szQTTBj1JZww6rWA//iUNJ4Y5SgYIaS44EEkivk4=; b=gwy/HfIEjYLB4athSXtLm7SUDpvDUKckf7T8h5/+Xk1FvixltE5tdsVcfWJxIh7lU7 9mxTEGYZEj6wOZsZFe0eEwFWAY+c6+24pGqQ60VENOovQfrOGiAtigc9mHg++YJpp1Zk nZqbGhkHaxY+yMyQavcuakYzWSMDr9a2Kgo33yakIUPsw1WAd2Tr6DwVh9dIiA/kMse7 neIanKhqTKcMbhnbTvDrTVjIYYzTYz6dZCEvFpOFS0hZKkFVSZwMOnNRAs7ru11eft0S fjAKQURuyqAT5+4WbtR0cg75wTsAYDeFfIeKyiaqB0DpwdHlPIfN6ELUChhJa1C5zyWk 1J/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date; bh=ZY6szQTTBj1JZww6rWA//iUNJ4Y5SgYIaS44EEkivk4=; b=CgozCJh/gZLeyYslnWfqEAI/WAZnTRoDuDJUggMQtJczcDg9k1HZrLlz3JtvGhO7bC 3M0lzeTcIZndx0mSx06JbHMPn86YvEP0g54ODJDwGS7f158THTPzeD7I/pwrTuRrlPbI 1qTxNbsuX20szS3A9yScp2a/BBrp/q6SNe0tyDlgEXwljmm2KLjAQ9JUUTA8hXu1hZpr MLpjS9hNVDjneIoqFoFoy5+WlbVqxQvJ/6E0icDMB0bfRRikDFvgwGv1EZ+tpw/0oaj7 x02DvLWRUSH99bvHbA6dF/3HcMoyM2JT+KUlrHG+6tg4nkYJpC/o4f8xyDOrV5jLHkOS qAgw== X-Gm-Message-State: ACrzQf03wjaAsw9bKnGaKkBR9/LLIEHOOmYkcqo0AQOOy+wB61dTr2DI HcZzchnUwOpeCK52AMkpQ7w= X-Google-Smtp-Source: AMsMyM5T24MKt8sY10ZEUsv/5F27+2RK1dT2EGJZzZvLyuLxB4Tty1CteU1VvJx5p4BoGNRI7qkiFA== X-Received: by 2002:a17:902:dad2:b0:178:401c:f672 with SMTP id q18-20020a170902dad200b00178401cf672mr17046159plx.168.1664114583879; Sun, 25 Sep 2022 07:03:03 -0700 (PDT) Received: from localhost.localdomain ([211.226.85.205]) by smtp.gmail.com with ESMTPSA id b15-20020a170902650f00b00174f7d107c8sm1529910plk.293.2022.09.25.07.03.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 25 Sep 2022 07:03:03 -0700 (PDT) From: Levi Yun To: sj@kernel.org Cc: akpm@linux-foundation.org, damon@lists.linux.dev, linux-mm@kvack.org, Levi Yun Subject: [PATCH] damon/sysfs: Fix possible memleak on damon_sysfs_add_target. Date: Sun, 25 Sep 2022 23:02:57 +0900 Message-Id: <20220925140257.23431-1-ppbuk5246@gmail.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1664114585; a=rsa-sha256; cv=none; b=5RUadqWUIBEvic2PaOOoz7ngQ8BuY7jde0C6Br7znUGW05Ihn87T00WFnG0ji7Q2EDPQXb Ci1oOpYPlssisAOpQ8dOUQKvZZ5lyb2K+JeruuHO8e2OehnlSDiEauzD70YmHGa+9TxkOQ N9SvyigHZoptl6T2Bl3Aopd/xyKRFXE= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="gwy/HfIE"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of ppbuk5246@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=ppbuk5246@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1664114585; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=ZY6szQTTBj1JZww6rWA//iUNJ4Y5SgYIaS44EEkivk4=; b=V0oelxCFh7Bx194BuziMSfwdeo6Z8VQtqxANtMD5rMGxC9eLp28ULSjhcJp11keksOVFCu chVVwbwNCiCUbgeN7OJgjDnEN+cSY9jgts1SGVERivHZmUy8Jo2ePwoKcKTaiat2x3aAMm 4Js1bdX9+drJBhxnrmcPrtFIfmvKEc8= Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="gwy/HfIE"; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of ppbuk5246@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=ppbuk5246@gmail.com X-Rspam-User: X-Stat-Signature: jz8x84z4yh5t7bdcdmhcry4fznoocc8u X-Rspamd-Queue-Id: 49C8F100002 X-Rspamd-Server: rspam09 X-HE-Tag: 1664114585-156684 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: When damon_sysfs_add_target couldn't find proper task, New allocated damon_target structure isn't registered yet, So, it's impossible to free new allocated one by damon_sysfs_destroy_targets. By calling additional damon_free_target when find_get_pid function, Fix possible memory leak. Signed-off-by: Levi Yun --- mm/damon/sysfs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c index 7488e27c87c3..28ed07d26d55 100644 --- a/mm/damon/sysfs.c +++ b/mm/damon/sysfs.c @@ -2184,8 +2184,11 @@ static int damon_sysfs_add_target(struct damon_sysfs_target *sys_target, return -ENOMEM; if (damon_target_has_pid(ctx)) { t->pid = find_get_pid(sys_target->pid); - if (!t->pid) + if (!t->pid) { + damon_free_target(t); + goto destroy_targets_out; + } } damon_add_target(ctx, t); err = damon_sysfs_set_regions(t, sys_target->regions);