From patchwork Mon Apr 7 15:11:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Gordeev X-Patchwork-Id: 14041042 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 EA7C2C3601E for ; Mon, 7 Apr 2025 15:11:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 41FF9280002; Mon, 7 Apr 2025 11:11:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3A1D9280004; Mon, 7 Apr 2025 11:11:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 200A7280001; Mon, 7 Apr 2025 11:11:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 0019F280001 for ; Mon, 7 Apr 2025 11:11:38 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D0B7881045 for ; Mon, 7 Apr 2025 15:11:39 +0000 (UTC) X-FDA: 83307587118.11.92DCFF0 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by imf16.hostedemail.com (Postfix) with ESMTP id 7A9FC18000C for ; Mon, 7 Apr 2025 15:11:37 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=IKe6NKPK; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf16.hostedemail.com: domain of agordeev@linux.ibm.com designates 148.163.158.5 as permitted sender) smtp.mailfrom=agordeev@linux.ibm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744038697; a=rsa-sha256; cv=none; b=SWTkofJLufp8jagHf4F4QCooaIpPPMTbpcBGha3W6jp8YVYZdDEgr6ZWNhCqh6ssPcuVEv aRBETh3k2GteOHCEwMWX4/t1dwXkTv+GaFMyv1k5vJN8iHSKkdLp0aUcIC3wgRaQCciJHR dsTmwcO8F91yTie3Yb1fn1tyyosaQPE= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=IKe6NKPK; dmarc=pass (policy=none) header.from=ibm.com; spf=pass (imf16.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=1744038697; 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:in-reply-to:references:references:dkim-signature; bh=JAdRtQpYpJ83Wan/qay54BErF461aFj9Lbn233V6/Vo=; b=8OwLKrrpODmYMxUsi4mL1fcwreZnvC2LgiyqXlIsjTMxl8TUcR01hZ1n3T5fUzYfij3Hp/ h6OjwtIQ+ppJ4K+0eEbfzuw573KKNXEKiT2/5okUMz51ws+q01bsf5+38K9fYDd34noa6w 661WHnPYQDlJBv4iWWNi06Ct/3WtHx4= Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 537En0ZD029644; Mon, 7 Apr 2025 15:11:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=JAdRtQpYpJ83Wan/q ay54BErF461aFj9Lbn233V6/Vo=; b=IKe6NKPK0RQuaHMhk18ftPiOYYmCBCWNo B9AMFWR/OSyAEWP+S886dEpJeibdEmZl36pABv5K+wup8TiyL8NG8ViK9od6oBRM 3hfWr3Nzyj+cpTRWraAtGGyrEizF/IwgeyvpxnuqLvo0iHgyxm7f3x2y4rrF4BuZ 8DVbuOci3sgrMA9QHMuCtrLrrnIMC0eF9Lq4xmJACPC8mwWkrruApDLDO3y+TF6K EKoPhfmZsym89+7c65PcFL6w5iov3VKT/uGxaF9PJzGWmz4HwXohtM7m83O2AHTx G4AzXPBlc8+L56yqeI1A9XrdpDtpRX+WW/G2StWfINFf09T/NbHTA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45uwswvt33-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Apr 2025 15:11:34 +0000 (GMT) Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 537FBXTb013844; Mon, 7 Apr 2025 15:11:33 GMT 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 45uwswvt2v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Apr 2025 15:11: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 537F2iM6018432; Mon, 7 Apr 2025 15:11:32 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 45uh2ke5ug-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 07 Apr 2025 15:11:32 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 537FBVQW33751652 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 7 Apr 2025 15:11:31 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E82452004B; Mon, 7 Apr 2025 15:11:30 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D3F6E20049; Mon, 7 Apr 2025 15:11:30 +0000 (GMT) Received: from tuxmaker.boeblingen.de.ibm.com (unknown [9.152.85.9]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTPS; Mon, 7 Apr 2025 15:11:30 +0000 (GMT) Received: by tuxmaker.boeblingen.de.ibm.com (Postfix, from userid 55669) id 7F795E10FC; Mon, 07 Apr 2025 17:11:30 +0200 (CEST) From: Alexander Gordeev To: Andrew Morton , Andrey Ryabinin Cc: Hugh Dickins , Nicholas Piggin , Guenter Roeck , Juergen Gross , Jeremy Fitzhardinge , linux-kernel@vger.kernel.org, linux-mm@kvack.org, kasan-dev@googlegroups.com, sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org Subject: [PATCH v1 1/4] kasan: Avoid sleepable page allocation from atomic context Date: Mon, 7 Apr 2025 17:11:27 +0200 Message-ID: X-Mailer: git-send-email 2.45.2 In-Reply-To: References: MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: noh5DKX9Jwz7KQQbR0xgtrf0Cnrok7JA X-Proofpoint-ORIG-GUID: B9e39pOuvk43sXxp1B5Vd8FFaIlzYizr X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-07_04,2025-04-03_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 adultscore=0 clxscore=1011 phishscore=0 lowpriorityscore=0 impostorscore=0 suspectscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504070104 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 7A9FC18000C X-Stat-Signature: 3ufxzzscebjnhm7sow6enfki1t6pqgt4 X-Rspam-User: X-HE-Tag: 1744038697-639918 X-HE-Meta: U2FsdGVkX18sYgUMMxalmK+Mc4LGmR16DU6BnLx/z/9GoPfaX5L1flysy8q+T6b14XFGn3GVui9Wv1OkhYXixxToku86tNHtPA0G4E/8h9uZP7VM03Uuk2mxXgzmsKsZTo6yuf4tH1PDNbFffpyGuDL3t+U5JjYq8moo/Du1iXZcgbPsxVH/GQTWn1Lf3miXvzys/++65pdvkEJ30qjZl3DRxlVZyeh4cF43EScCeTBpPpC9FZ1qcz9OEQJr+bUREliLYzx/Q2pXR2mKvaznTFbrREezw1oFv4PZqzTvlswIK/iD8DFzljiEnPCuS6AZjZVAIyWIjZl+JjpkclcY1QNEDJ0+0OSrqnuRQRUFYwD0jDnGiZ5VvtbW0C8bYnMbJMTlH4ZG+wvjDppV32wmQZmTj+8xTlGdlr9bRWQ2jIZdHsBfQ8XZMSkzxPC6So/u1mgb8yxRRp1SmuVKY8Dtn6xSlwZFOqakDmbAazsGRHIGmp+Gee2tp2YkPby1F7hygw498ngjo2ShAOI2lRFtmT25ZPHO2PZkS5Q7DreHWcIC4xc2XIhPKvhRve1whMHVfk7WJzLhVHZX38e5o/yQvRRkZOAufHVlVpX8tMJLnOV3XDRvn9zRlDnMECCeh9WMNQa0+vemEY9WvuAx/KGGao3GEOZx/0Sw8fOCETAyAF8MANRvSonTKvuW9DPhL2Vz/ZjcDhe0MlqO6LRiL9fPNCjJfhhMm1VGe3GEVGu1TsP96UsspRukvbvMNUR4lEkUxvwZDsmhbcnCncZqou9SWPAmrgEPqT1isfF9rdqF9tIJfveMKPGr5r2Bn89ye/5JlwM7RcteIdRBq/BglRNrmH3e7TDQyV3abqUnOPU6yJVgp1QYxzADeqs5KubBgmWYXcCDbl+0g+SkpIl95zDwwq8EGA4a7tkmsFfNyuVsGSuIXI639/nHjR3oWSBYjkIlo16+pwDd3P8Ngci5Tfa DGdwCmUw ke7dDUCSmv9Yu4ACxpqBk+YKXWM6TnxmzRfR5LktXTpPKuWnKyifZzACHsSPXVf7srU+wVTn6hJ2RAv4PEVxxR0Bh1CceYUh8pGWoo6coG+US/xVIrLQOFy9r56Vn86uGMVtJjcZ8VaSOa6r0KNHtJEl7iWYNwGuyx32jzkstQ4acFo+Wi7JTMRWxhzGa57l67J2BFeRJhaP7y3xPguRUjGoVeq9AoK96EjvD7Hg/9HgspWRAT2mW5pBDyT1oxgWMM097HSb9nJLsERXRSzHC1wPRSA6CysjY2cs9OAf+9w3P0LqfrIdOMDLo2t9HN2s/nO3fVQj1PH2kUIsE8WzcGiYt9w5EWcFxyrEkEHfiKV6ONxnCpLGqJZHlaQWWsAatjc8fi+1o9A271fM= 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: apply_to_page_range() enters lazy MMU mode and then invokes kasan_populate_vmalloc_pte() callback on each page table walk iteration. The lazy MMU mode may only be entered only under protection of the page table lock. However, the callback can go into sleep when trying to allocate a single page. Change __get_free_page() allocation mode from GFP_KERNEL to GFP_ATOMIC to avoid scheduling out while in atomic context. Signed-off-by: Alexander Gordeev Reviewed-by: Nicholas Piggin --- mm/kasan/shadow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c index 88d1c9dcb507..edfa77959474 100644 --- a/mm/kasan/shadow.c +++ b/mm/kasan/shadow.c @@ -301,7 +301,7 @@ static int kasan_populate_vmalloc_pte(pte_t *ptep, unsigned long addr, if (likely(!pte_none(ptep_get(ptep)))) return 0; - page = __get_free_page(GFP_KERNEL); + page = __get_free_page(GFP_ATOMIC); if (!page) return -ENOMEM;