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 6274EC3ABAC for ; Tue, 6 May 2025 15:12:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DED356B000A; Tue, 6 May 2025 11:12:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D9C886B0082; Tue, 6 May 2025 11:12:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C3C1E6B0085; Tue, 6 May 2025 11:12:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A5B3E6B000A for ; Tue, 6 May 2025 11:12:16 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 28AA9C0351 for ; Tue, 6 May 2025 15:12:18 +0000 (UTC) X-FDA: 83412823956.11.C939DA6 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf17.hostedemail.com (Postfix) with ESMTP id ABBCF40009 for ; Tue, 6 May 2025 15:12:15 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=IBGWaweE; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf17.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746544335; 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:in-reply-to:references:references:dkim-signature; bh=DptX2UeZwcMMuIu3rqeAdS+aATNzHGt6NJTQ/66uAY0=; b=1vZ4C2VcmSo21E4B0gMPSDuIifu/aJGrRhI7cwnUjoFCcvTLQ7kTQZvsSw9h6AgrTlvCf4 eGCsC8Z88e3SzEWkyLuyyOFPdA+Rj7n8XcS+uEPn/QtfrC1sjRriM5L8ErwZgeUAlAbTri tcNVCxZ7vZiirxELzHTfviXGNt7H3V0= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746544335; a=rsa-sha256; cv=none; b=uT7GuN/5G0mjLvGMOfNSC6V9cQJw1ByTMXywU6lPVSdmX9Yu2mxC4GI5+8w1sSFslbvcts WP1f8EeV6WXM0IY1ZCzgm6zSyDDaW/baP/Xt8FAjqmeIHktw9nhkQwhV5sRUdpJFMlBH3s 20jP3LFU9N363fB6unBNbtCcGlyrc0M= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=IBGWaweE; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf17.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5465gaaF006476; Tue, 6 May 2025 15:12:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=pp1; bh=DptX2UeZwcMMuIu3rqeAdS+aATNzHG t6NJTQ/66uAY0=; b=IBGWaweEygUEgjspn+NlOD05m16ZQ7NXtU/XUDgur97chj vPlotgnxZ7WaG09nGEnfZE6pvPp3hJ2VQxufXv8zZ5tcbFNvgm+wfqB6fsPpvb9c e85O0gX4X21MSJ8uZGs6no9iZ0S+aKfmtxdWhVYXUttgCNkb+spdi78lVuH2muJk LefkFW/zpGLSKM/ucFqi72Zd62MwA7tfDprlSNPgI+E8PdyGnpoi4Wn/flpo5Dd3 amXaGS5TWtbRkPqttcLBi9tG9CTIfbxZb5Ko1wggL7zE9qPIQI025Mj/u73PPm76 I5OvxQ9b0fCk5lhHjZx91jk23MXACPw6/zaRKTMg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46fcgy2kc5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 06 May 2025 15:12:13 +0000 (GMT) Received: from m0353725.ppops.net (m0353725.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 546F7FdA009118; Tue, 6 May 2025 15:12:13 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46fcgy2ka0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 06 May 2025 15:12:13 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 546EK3eN013770; Tue, 6 May 2025 15:11:31 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 46e062bqn0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 06 May 2025 15:11:31 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 546FBUK835717386 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 6 May 2025 15:11:30 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2A02820043; Tue, 6 May 2025 15:11:30 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DD0BB20040; Tue, 6 May 2025 15:11:29 +0000 (GMT) Received: from li-008a6a4c-3549-11b2-a85c-c5cc2836eea2.ibm.com (unknown [9.155.204.135]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTPS; Tue, 6 May 2025 15:11:29 +0000 (GMT) Date: Tue, 6 May 2025 17:11:28 +0200 From: Alexander Gordeev To: Andrey Ryabinin Cc: Harry Yoo , Andrew Morton , Daniel Axtens , linux-kernel@vger.kernel.org, linux-mm@kvack.org, kasan-dev@googlegroups.com, linux-s390@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH v3 1/1] kasan: Avoid sleepable page allocation from atomic context Message-ID: References: <573a823565734e1eac3aa128fb9d3506ec918a72.1745940843.git.agordeev@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-TM-AS-GCONF: 00 X-Proofpoint-GUID: gCu2k3kzWhwCVIxf2DSXQrISTGR2DThe X-Authority-Analysis: v=2.4 cv=Pa7/hjhd c=1 sm=1 tr=0 ts=681a26ce cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=kj9zAlcOel0A:10 a=dt9VzEwgFbYA:10 a=7FHASCDaF61PvbNbS9YA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-ORIG-GUID: Gu4J50MXSzFrSjYitZme6bowNsEc1S8i X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA2MDE0NiBTYWx0ZWRfX63DfIGolAsmI wti07+s8BO9WtAzNDxvGO/1dKf56kvZ6IKPlQVij7HSGJUZxblTqIpVA1OcoyMOxWDrrJwEwvJs RcdN5hLk36bh1CGsIDPnMpf3bDmhJtWMt5hcvZ4F3BlD7gorA/t0S7yjvwFeHfYPr6SYppkvqWn 3OEf4hDBbauqcJC5kjVGAdx7E2bDtvz6V/onIhQaU0TJmlcRkjUvVGAhMmW0MNYTYu3Xga1jcv2 zTG2PvOWegkCwo7Fmtr2u3E1LHxcSSd8mPJ0FVCdp+04X6/8yEAN165+5mHdqH8gBMy29N4mV8e Ya8VxBIuqa5kan5L91dB46ryq0d+SKGfEk03sPs6p0IDka6wSBQiq/9Z5qPx4gWLM3I1/+jBI94 YF41ALJMF9Vtf4hZDH5yGEqzQhNpCtQQ/5hqk15VGTb2jnQcNvQIEdtlPxevPQLukJ7tbKJX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-06_07,2025-05-05_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 suspectscore=0 spamscore=0 bulkscore=0 mlxlogscore=852 adultscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 mlxscore=0 phishscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505060146 X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: ABBCF40009 X-Rspam-User: X-Stat-Signature: cwjspqyg7bp33ry33k8cfitu3c76io4b X-HE-Tag: 1746544335-487788 X-HE-Meta: U2FsdGVkX1+g11iczHTMLxPJEuoFY4OomMVq9L4hhbDkosbl97HnXZLjA44ZP2fvI5SHw7xpCyTPJPH1szZJFYFkdsEAek1+t4Ly1fpURPpDfVScipSC3OUFjP1Io+6jq6ukKVY7QYaBSy5xWoXEKhc4QMZ96a65ZolrVHYt6lMAqMKVD2YFRrR7ohCxWY2M584996JUjsi8eCe+1EkPJlHEzFQaPyRV1A4cFlfH+y4r7HnhUahlHeXosY3XdyhOhAnWjtM2d5BiIUM3H1SDzeXwQN/yqlMYF3ZUTmH5n1SBiGwV8+96KDETCSwZMAUmiA4nCi/PWz7KRknJ4nRSpiEDkMWxxX76QwS+OQDZZmwv53C7St8iTYKr9mi7ZrVpusU0k1ZJPR32UOiREAku2HRezyR0HZoKi1odq1ktdEg0xfHMNi/MzrV+81oy+8xXwEphdpA4iaf8Lyxa2Ssp2gwcaq0dv+OQxo2n3ucOB8r3Rr4a/Jx6q53cGZxndLOykiTosJ1edVBkNaqp6rNUQ8pngeqASCqurjfnNYXK0vkJRNy5xTb/4pBN9ZwQLl7JvwABNioPRHAacAFkgLdigYzj5UzoysCQr+AgNWPeXxqU5fLqLT2ENCA3OcjL8Q83hoIrT31z9LTIJlOCspfy8oVMAcPoyYb/bHkqpFUTC/vWQaQkThoZ/ofD/Xoj/DuYNnncqS7AwH891ipRA9lr+s+QtOf+p8OBAU93N3BD3SyI1pHy67m9LD0pBTZOFcd6RSNU3+wV7Zi1GYzLQZVWfDrzrCAYHSrz436SvZbfGciXwZlnRV9dysRjFdgV30fPlDShvqE8Wh+Gl/+qfOsJH7u6angkh/zqMLC34UmOHkApQltxl9b6hw7Re2/+3882qp46xwZf8zfHnFcoR66ZUfr6iPcQe1UG09AFDv+w9Qt3Ld1fedj/Y/Q51Sw1FzsOWYkKuvvv1gwSVG8Lwxq P1x8U2Lh R1epA/BdzXckxrISZ2X5Us79hgqTJCPeFJzk3juaDxIqEgUDmmtXyAu9PoAESKzXot7mfxw4L2a70po+7BXfmUtP0LbWH7PwvMS6UF13nu+05GnUBOApxDKEyxjS4BkmmVCJDQGqNqliQd2bfff33Ae8sEIlfjlCGHyyFj9YOrDukKGBl1bA8lN9K3SVV7xdIx/R8/Y5f/IYdbdzNL4/jrS7AZ0G1ChS7nQdXoFarZ6mhFfhXzIvlIMi9Ld/ZWRwTzI45KPWawIGhYZ3U/g6VdfHeNzdwUCJgOSFWaZ8sMMFr40tANQ6q9e+qB/KFqmpK93EzOl2CE34yThShjee1r8qiWbF/CxbCerA8iQ4drGodc2VAwzRGrFsQ7Z93T15+3SaAzr37XMfR6No= 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 Tue, May 06, 2025 at 04:55:20PM +0200, Andrey Ryabinin wrote: > >>> - if (likely(pte_none(ptep_get(ptep)))) { > >>> + if (likely(pte_none(ptep_get(ptep)))) > >>> set_pte_at(&init_mm, addr, ptep, pte); > >>> - page = 0; > >> > >> With this patch, now if the pte is already set, the page is leaked? > > > > Yes. But currently it is leaked for previously allocated pages anyway, > > so no change in behaviour (unless I misread the code). > > Current code doesn't even allocate page if pte set, and if set pte discovered only after > taking spinlock, the page will be freed, not leaked. Oh, right. I rather meant pages that are leaked in case of a failure. My bad. > Whereas, this patch leaks page for every single !pte_none case. This will build up over time > as long as vmalloc called. > > > > >> Should we set data->pages[PFN_DOWN(addr - data->start)] = NULL > >> and free non-null elements later in __kasan_populate_vmalloc()? > > > > Should the allocation fail on boot, the kernel would not fly anyway. > > This is not boot code, it's called from vmalloc() code path. FWIW, it is called from rest_init() too. > > If for whatever reason we want to free, that should be a follow-up > > change, as far as I am concerned. > > > We want to free it, because we don't want unbound memory leak. Will send v5. Thanks!