From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0EC143CA49D for ; Tue, 14 Apr 2026 10:10:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776161442; cv=none; b=iLLXbGVpO8Hv3bo212qZMjD8MWTRy56NuVQoIMtZo9sKE1zBMjMD3oE7dvw8tr02ibDVxCFkHxmFnzs9WTk72xNNpf+v+lNVsstB/6T4N/SscUY6K2kjv9FqkuDK6YNEfOON8FIaJTbEcsCU1JbvNKhyEcff5a4mXYWBLZackxY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776161442; c=relaxed/simple; bh=oGiJYf9Grk1SNPVsU/GNLTO+X1Hj5c7qhyhle06CXTo=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=dBkw6Z+IOZHPV41tZ14uviElPe1dHWkS4EOBeKJPp9CUlzekZT51Xc7KmQVH7Bx/yFE5VGh5i5NKUsxbBmeQPDm4Lm2s6846JAE4GPLAdVopVviQEEZutXNM0IOSm2KcTvzCban+1hKfdJ6uvFHDJ3IZJsVi3PRIWCtIq57CaAU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=Q3vm+scw; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="Q3vm+scw" Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63DLISOU1859895; Tue, 14 Apr 2026 10:10:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pp1; bh=c+vAnf 9HO6hX0LxtjPx0c/OXbUSB/M49cLK9fLN2iAE=; b=Q3vm+scwhLWKJBszO3MfOh KocPdE0lA2LH7Cdh6h/BJnfZ4WWA4f0H7eYDWT7a3pgM+SAVIZ6CuZxlmIh0weFN OkiNR3vzYa0d7p7YQWrCXK1LT0L7ikY9ExxOk0ckwJ0CegTO8ILh+2tvpbKHZoIu w+tqEt1Tv1ruEESIPAaCRJdDQXJPvYia/iKOynxxWWL4+upukjLY10sn3AC2mVJt 9A65GVJfzS96LP7Z0BJNWLlOPz90Jbvc7gXQCh2RE/qPmsPcFxf4oj5ibHKkFgLs yYGXE7rokmrGH4iaWf+Ro41gjc79fYtiCTeI30EdtqtXoI3KfxwOUMMqZI/KbYgg == Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dh89pa22m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 14 Apr 2026 10:10:33 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 63E625QQ025643; Tue, 14 Apr 2026 10:10:32 GMT Received: from smtprelay05.dal12v.mail.ibm.com ([172.16.1.7]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dg2ujgs8h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 14 Apr 2026 10:10:32 +0000 Received: from smtpav03.wdc07v.mail.ibm.com (smtpav03.wdc07v.mail.ibm.com [10.39.53.230]) by smtprelay05.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 63EAAWPE32899744 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 Apr 2026 10:10:32 GMT Received: from smtpav03.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EFB415805A; Tue, 14 Apr 2026 10:10:31 +0000 (GMT) Received: from smtpav03.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B00A35805D; Tue, 14 Apr 2026 10:10:29 +0000 (GMT) Received: from [9.124.215.107] (unknown [9.124.215.107]) by smtpav03.wdc07v.mail.ibm.com (Postfix) with ESMTP; Tue, 14 Apr 2026 10:10:29 +0000 (GMT) Message-ID: Date: Tue, 14 Apr 2026 15:40:28 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/memblock: fix off-by-one page leak in reserve_mem_release_by_name() To: DaeMyung Kang , Mike Rapoport , Andrew Morton Cc: Steven Rostedt , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20260414094439.982853-1-charsyam@gmail.com> Content-Language: en-US From: Donet Tom In-Reply-To: <20260414094439.982853-1-charsyam@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-GUID: RGE5jV-OWe7qMixUoFkcLYQcc8FQsf_k X-Proofpoint-ORIG-GUID: HZAixD2OXk90cm6XCPTCIwmW_Jpk_QPY X-Authority-Analysis: v=2.4 cv=WbE8rUhX c=1 sm=1 tr=0 ts=69de1299 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=Y2IxJ9c9Rs8Kov3niI8_:22 a=pGLkceISAAAA:8 a=A9Q-lSG_ta5snbpTm5QA:9 a=QEXdDO2ut3YA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDE0MDA5MSBTYWx0ZWRfX8bc6P8Xeb3kD MIRCL8cXNj3khyUrB2YBrigT7jzdqDIIyltmBn6YtgqZWZ56UaxlcTTfHRNg0qi3bRAx8BmeiPw in1OyO/JcE/RnB1nVSaOn1P67YPZsfIlVFELOvHT94Xkk4R77Yh84EAMKGuXIk9RbJVful0Yp16 Fc/xWHVvjp0G5UL3WhNcZ7uCKXzVkL8LIXTtPmHN4pOVOz05jB5M3giq3xPLSGlblbCQlhcjsjd 9hzOm5LlhoBgg5kVvYooaVDeCyWT9ZwsDrvl92veR3gsHJ6dP90KMmKAjPhaFzXjgp2fgK4Sjfv /iJOlWP96cy/61hcsB4GnrAo0j1DLefZO2uKYhA0ecyb8zLZXTvUP8Ntx5HoXxyPidnYHeYVcHQ BO2hx0VIG7ZszxPLoypghl3lsBJQKMo+5mouLWeop9L07HDV5y3Zxgz47nAJLayQxGu5PKDu1Bi 5X5Ny1fa7DLPywKeABA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-14_02,2026-04-13_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 bulkscore=0 priorityscore=1501 spamscore=0 clxscore=1015 phishscore=0 impostorscore=0 adultscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000 definitions=main-2604140091 Hi On 4/14/26 3:14 PM, DaeMyung Kang wrote: > free_reserved_area() treats its 'end' argument as exclusive: it aligns > end down via 'end & PAGE_MASK' and iterates with 'pos < end'. > > reserve_mem_release_by_name() instead passes 'start + map->size - 1', > which causes the last page of a page-aligned reservation to never be > freed. For a reservation spanning N pages, only N - 1 pages are > released back to the allocator. > > Fix it by passing the exclusive end address, 'start + map->size'. > > Signed-off-by: DaeMyung Kang Do we need a fixes tag? -Donet > --- > mm/memblock.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memblock.c b/mm/memblock.c > index b3ddfdec7a80..d4a02f1750e9 100644 > --- a/mm/memblock.c > +++ b/mm/memblock.c > @@ -2434,7 +2434,7 @@ int reserve_mem_release_by_name(const char *name) > return 0; > > start = phys_to_virt(map->start); > - end = start + map->size - 1; > + end = start + map->size; > snprintf(buf, sizeof(buf), "reserve_mem:%s", name); > free_reserved_area(start, end, 0, buf); > map->size = 0;