{"id":2223022,"url":"http://patchwork.ozlabs.org/api/patches/2223022/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/a61c264c824d140a948db64b2e1036bc4229d163.1776150071.git.sayalip@linux.ibm.com/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/","list_archive_url":"https://lore.kernel.org/linuxppc-dev/","list_archive_url_format":"https://lore.kernel.org/linuxppc-dev/{}/","commit_url_format":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}"},"msgid":"<a61c264c824d140a948db64b2e1036bc4229d163.1776150071.git.sayalip@linux.ibm.com>","list_archive_url":"https://lore.kernel.org/linuxppc-dev/a61c264c824d140a948db64b2e1036bc4229d163.1776150071.git.sayalip@linux.ibm.com/","date":"2026-04-14T08:22:01","name":"[v5,07/14] selftests/mm: free dynamically allocated PMD-sized buffers in split_huge_page_test","commit_ref":null,"pull_url":null,"state":"handled-elsewhere","archived":false,"hash":"232dd0061f21e2852b9e89bbdc0804ef8493ad43","submitter":{"id":92656,"url":"http://patchwork.ozlabs.org/api/people/92656/?format=json","name":"Sayali Patil","email":"sayalip@linux.ibm.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/a61c264c824d140a948db64b2e1036bc4229d163.1776150071.git.sayalip@linux.ibm.com/mbox/","series":[{"id":499800,"url":"http://patchwork.ozlabs.org/api/series/499800/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=499800","date":"2026-04-14T08:21:54","name":"selftests/mm: fix failures and robustness improvements","version":5,"mbox":"http://patchwork.ozlabs.org/series/499800/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2223022/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2223022/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linuxppc-dev+bounces-19734-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=DNzZ5UGp;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19734-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.156.1","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=DNzZ5UGp;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=sayalip@linux.ibm.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fvy3C0QkVz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 18:23:35 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fvy2l012Hz2yrT;\n\tTue, 14 Apr 2026 18:23:11 +1000 (AEST)","from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fvy2k18Rzz2yVL\n\tfor <linuxppc-dev@lists.ozlabs.org>; Tue, 14 Apr 2026 18:23:09 +1000 (AEST)","from pps.filterd (m0353729.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63DLID1i1842724;\n\tTue, 14 Apr 2026 08:22:56 GMT","from ppma13.dal12v.mail.ibm.com\n (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dh89mhs7g-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tTue, 14 Apr 2026 08:22:55 +0000 (GMT)","from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1])\n\tby ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 63E605Fa025862;\n\tTue, 14 Apr 2026 08:22:54 GMT","from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227])\n\tby ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dg2ujgebj-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tTue, 14 Apr 2026 08:22:54 +0000","from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com\n [10.20.54.103])\n\tby smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63E8MoIl60031470\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tTue, 14 Apr 2026 08:22:51 GMT","from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id DB74A2004E;\n\tTue, 14 Apr 2026 08:22:50 +0000 (GMT)","from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 018C120040;\n\tTue, 14 Apr 2026 08:22:47 +0000 (GMT)","from li-3f69264c-2ce6-11b2-a85c-c3f414d24014.ibm.com.com (unknown\n [9.39.26.223])\n\tby smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTP;\n\tTue, 14 Apr 2026 08:22:46 +0000 (GMT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1776154990;\n\tcv=none;\n b=CtfzGvdndbLwhKE4KtjrHbTBENycSf5z87VWVJBhLG/fO0JrhcR4wSbEXm9JtJ1ltuerCgL70VGdcuP0JJtZLxfONUP0mvGSKYvQ6+09s1w+2V07vBtWI+C9D2mJcBlbw0+u/5KELcPt5PM3Tm185tmOc9AruWQDbi0BZ+e+q93e2UDGRqBqokYFSOd8NCwj+FgUhLdnGJsb1G/a/yw3vOg/EeGBDJmPNjPd2oUKiDJ7qp8jxOe9icANhHL3NQRm9mPG5RRyttzNCw1o8ShiAHzXRvl2zN0QZQNpSxUCR0Zelk/poZjbvXEcBjW1J8L6QOOUqL69lGoJ84EEV/v+Uw==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1776154990; c=relaxed/relaxed;\n\tbh=Phedwlb38O3RD9+mhV2vbvGYTlYASXZH6PBWCPj8Yfw=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=NgcMs0XcSHc/fClBiNKcQyGnrEICY7er+e9e6fLvGoBBpqFPGyD8GV4OikRK1cGFHPzcZ1OrjdojyqnrJLdB4JBK9d2VIaOIQ1aDuz52pGD42M+wX+Hj+Z7A955/LkhoUZ3z1/Iz6RDmbXIv1IHpJq/PxWbEhQjfPhmPV1iaZFZpZmD3UEC7uIAJ2aNzCSqpAkzJlh+ud0US87Os3EENn0hGk73vr662PJizmAQxsVlEqBgRkqoF+BD0CDlY6EY5GhHJHxIBNXAIxikqQt8RMIKhc+P8n4vK0VOwt4ZPEPXEwYEqg1LFz22y995GDidq1O/ZwKaRuZ2RJMVbq0Vg5g==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=DNzZ5UGp; dkim-atps=neutral;\n spf=pass (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=sayalip@linux.ibm.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:date:from:in-reply-to:message-id\n\t:mime-version:references:subject:to; s=pp1; bh=Phedwlb38O3RD9+mh\n\tV2vbvGYTlYASXZH6PBWCPj8Yfw=; b=DNzZ5UGpwlnEvK7cQhWyM4AWihwb+RMf7\n\tMhFrbiLCPAQPtgkcpcPgnNSCoYXzQfKLPYWE9nMLzvev57sPuphikr7Vci8K2s0F\n\tc8huxwTo/wwjQ38deo1IS316rBUxttDAq6dUl+uwxSbwfeiVEObndkWcy4Au+4sm\n\thMHGeedFnKox7eC5djvH0mQXJEH1XtQUG5+6kARvQ8Md9Mz9DPgJ9ciSMJ8x4VLM\n\trZNxMW8sYi3TdkZB8zZWk2obQ3k/aSsTE4Lr7BF5Yhe+8z6tiVSDQZgsuvzNbysQ\n\tcdmMiSlPEHN7eIIHvbj4cSuuQy/JoFO2zTdo3ViZRrdeAj+fCWczw==","From":"Sayali Patil <sayalip@linux.ibm.com>","To":"Andrew Morton <akpm@linux-foundation.org>, Shuah Khan <shuah@kernel.org>,\n        linux-mm@kvack.org, linux-kernel@vger.kernel.org,\n        linux-kselftest@vger.kernel.org,\n        Ritesh Harjani <ritesh.list@gmail.com>","Cc":"David Hildenbrand <david@kernel.org>, Zi Yan <ziy@nvidia.com>,\n        Michal Hocko <mhocko@kernel.org>, Oscar Salvador <osalvador@suse.de>,\n        Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,\n        Dev Jain <dev.jain@arm.com>, Liam.Howlett@oracle.com,\n        linuxppc-dev@lists.ozlabs.org, Miaohe Lin <linmiaohe@huawei.com>,\n        Venkat Rao Bagalkote <venkat88@linux.ibm.com>,\n        Sayali Patil <sayalip@linux.ibm.com>","Subject":"[PATCH v5 07/14] selftests/mm: free dynamically allocated PMD-sized\n buffers in split_huge_page_test","Date":"Tue, 14 Apr 2026 13:52:01 +0530","Message-ID":"\n <a61c264c824d140a948db64b2e1036bc4229d163.1776150071.git.sayalip@linux.ibm.com>","X-Mailer":"git-send-email 2.52.0","In-Reply-To":"<cover.1776150071.git.sayalip@linux.ibm.com>","References":"<cover.1776150071.git.sayalip@linux.ibm.com>","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-TM-AS-GCONF":"00","X-Proofpoint-Reinject":"loops=2 maxloops=12","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDE0MDA3NyBTYWx0ZWRfX0crGEdu5NWbh\n RJa13p2vWtI+NcjxgmPHkfcFx7sfji/vXONeoeuRwC9aW4t3cQ/9gt1csFgHgGEFdfNZvi/Zakc\n 0e9VrEGhgNAP0F5b4v6QYvu0ffgxITJ4M3KRnEt0NePrQd25YlAYBlPMPde7nloy1K1A+SMfVaT\n Dbr+fucliK79x2HyznLm56qcCBiY9Ai6lxFkvwPnBpaijPlu7qee2I4cleqMRfJPTtWg7kQXWzN\n X6uPD2HUx4o7NhAxrUqqN1HknNqhQy4Ld5rBdXOYbzI+BCN2IrE8/MD2J2ieSiUWiHiHks3Rp1v\n adki0XiyRW1O8x3Z+N2fN83RuUKL0K0ahX0878P2O37BzXPN9YLefC+srS+EMNPKPwpvowfvj4a\n s6cu8+XhnjOJK3UhnxGjVg7nMHvY/VRbBlPEjbU2cUmYML7XBtK/P0nxqg/zTkn9nJ35G+ujMC5\n YronDHRsnTPHX66bYkA==","X-Authority-Analysis":"v=2.4 cv=eJ4jSnp1 c=1 sm=1 tr=0 ts=69ddf960 cx=c_pps\n a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=uAbxVGIbfxUO_5tXvNgY:22 a=Ikd4Dj_1AAAA:8 a=VnNF1IyMAAAA:8\n a=9VAv6nXQuNVwvrTyzFEA:9","X-Proofpoint-GUID":"uLLRrIhLVCvz_qBdsS8EjkG5nGnn5xa_","X-Proofpoint-ORIG-GUID":"C9KpqaKSN0SMC5vCZuFxHlQht529vbW5","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-14_02,2026-04-13_04,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n malwarescore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501\n clxscore=1015 bulkscore=0 suspectscore=0 spamscore=0 impostorscore=0\n phishscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000\n definitions=main-2604140077","X-Spam-Status":"No, score=-0.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"},"content":"Dynamically allocated buffers of PMD size for file-backed\nTHP operations (file_buf1 and file_buf2) were not freed on\nthe success path and some failure paths. Since the\nfunction is called repeatedly in a loop for each split order,\nthis can cause significant memory leaks.\n\nOn architectures with large PMD sizes, repeated leaks\ncould exhaust system memory and trigger the OOM killer\nduring test execution.\n\nEnsure all allocated buffers are freed to maintain\nstable repeated test runs.\n\nFixes: 035a112e5fd5 (\"selftests/mm: make file-backed THP split work by writing PMD size data\")\nReviewed-by: Zi Yan <ziy@nvidia.com>\nTested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>\nSigned-off-by: Sayali Patil <sayalip@linux.ibm.com>\n---\n .../selftests/mm/split_huge_page_test.c       | 22 ++++++++++++++-----\n 1 file changed, 16 insertions(+), 6 deletions(-)","diff":"diff --git a/tools/testing/selftests/mm/split_huge_page_test.c b/tools/testing/selftests/mm/split_huge_page_test.c\nindex 57e8a1c9647a..98319cfaf9a8 100644\n--- a/tools/testing/selftests/mm/split_huge_page_test.c\n+++ b/tools/testing/selftests/mm/split_huge_page_test.c\n@@ -487,12 +487,15 @@ static void split_file_backed_thp(int order)\n \tunsigned long size = 2 * pmd_pagesize;\n \tchar opts[64];\n \tssize_t num_written, num_read;\n-\tchar *file_buf1, *file_buf2;\n+\tchar *file_buf1 = NULL, *file_buf2 = NULL;\n \tuint64_t pgoff_start = 0, pgoff_end = 1024;\n \tint i;\n \n \tksft_print_msg(\"Please enable pr_debug in split_huge_pages_in_file() for more info.\\n\");\n \n+\tif (!tmpfs_loc)\n+\t\tksft_exit_fail_msg(\"mkdtemp failed\\n\");\n+\n \tfile_buf1 = (char *)malloc(pmd_pagesize);\n \tfile_buf2 = (char *)malloc(pmd_pagesize);\n \n@@ -508,8 +511,10 @@ static void split_file_backed_thp(int order)\n \tsnprintf(opts, sizeof(opts), \"huge=always,size=%lu\", size);\n \tstatus = mount(\"tmpfs\", tmpfs_loc, \"tmpfs\", 0, opts);\n \n-\tif (status)\n-\t\tksft_exit_fail_msg(\"Unable to create a tmpfs for testing\\n\");\n+\tif (status) {\n+\t\tksft_print_msg(\"Unable to create a tmpfs for testing\\n\");\n+\t\tgoto out;\n+\t}\n \n \tstatus = snprintf(testfile, INPUT_MAX, \"%s/thp_file\", tmpfs_loc);\n \tif (status >= INPUT_MAX) {\n@@ -561,10 +566,13 @@ static void split_file_backed_thp(int order)\n \n \tstatus = umount(tmpfs_loc);\n \tif (status) {\n-\t\trmdir(tmpfs_loc);\n-\t\tksft_exit_fail_msg(\"Unable to umount %s\\n\", tmpfs_loc);\n+\t\tksft_print_msg(\"Unable to umount %s\\n\", tmpfs_loc);\n+\t\tgoto out;\n \t}\n \n+\tfree(file_buf1);\n+\tfree(file_buf2);\n+\n \tstatus = rmdir(tmpfs_loc);\n \tif (status)\n \t\tksft_exit_fail_msg(\"cannot remove tmp dir: %s\\n\", strerror(errno));\n@@ -577,8 +585,10 @@ static void split_file_backed_thp(int order)\n \tclose(fd);\n cleanup:\n \tumount(tmpfs_loc);\n-\trmdir(tmpfs_loc);\n out:\n+\tfree(file_buf1);\n+\tfree(file_buf2);\n+\trmdir(tmpfs_loc);\n \tksft_exit_fail_msg(\"Error occurred\\n\");\n }\n \n","prefixes":["v5","07/14"]}