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 4C6F2C83F03 for ; Fri, 4 Jul 2025 13:09:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CDE026B0186; Fri, 4 Jul 2025 09:09:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C8F2B6B0188; Fri, 4 Jul 2025 09:09:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B7E156B803F; Fri, 4 Jul 2025 09:09:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id A66336B0186 for ; Fri, 4 Jul 2025 09:09:19 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 3A0D7160F30 for ; Fri, 4 Jul 2025 13:09:19 +0000 (UTC) X-FDA: 83626613238.30.C9A3E29 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by imf10.hostedemail.com (Postfix) with ESMTP id 27BDDC000E for ; Fri, 4 Jul 2025 13:09:16 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jkiwTJCv; spf=pass (imf10.hostedemail.com: domain of ryabinin.a.a@gmail.com designates 209.85.167.46 as permitted sender) smtp.mailfrom=ryabinin.a.a@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751634557; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=bPT/Yn9IyO9lNhZMkeKSyj5/KPjAxsknNyMSqLYzrPY=; b=syeJ9xSAeN3YGHqGQLBqnud4mpiQDAMF8W4RqQsB3409mE3FDDKl0ngRmXR/XAfkgZEvNw tDq1+KiqYTbQYfm7B3HYgJ/9JYFm1JeaCeDSzSKfhD5onIX1ts+aEJA3ZvybouypjEX7ku OHFwyhtlLpiErIdyZcvZUGZwxcfNtfU= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jkiwTJCv; spf=pass (imf10.hostedemail.com: domain of ryabinin.a.a@gmail.com designates 209.85.167.46 as permitted sender) smtp.mailfrom=ryabinin.a.a@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751634557; a=rsa-sha256; cv=none; b=V7XakewdPI48U4oSU/MtpvgJ7TysWWMyphqJWnl5IsJjhLFdz+A2RLwJVjQmpRFGOewFVs HdUwgV1eB8gUzQ9d4J1A+CrBMj7jc0lC0loHKcCKhIR+2sAM8wjuA5SHfYFLD+vCEE+XX5 r5uiJ0KB5qR92SR1+a9ly1Hcq+RnMgY= Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-553b7a3af9aso39419e87.2 for ; Fri, 04 Jul 2025 06:09:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751634555; x=1752239355; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=bPT/Yn9IyO9lNhZMkeKSyj5/KPjAxsknNyMSqLYzrPY=; b=jkiwTJCvuQEEBjQmpRFTdSK6lj2brD2GAKQ6MIA1tUr26mEAp87g3MHOUhpMr/FDHW Rafw4J80ODaatjO/kghLTpjbaB2J3XmssNpG8qlehLaSq1JXfRJZIKSrgZ6aOHiUTv93 plZgOjAqS2s193GQf39i1Ra0CaNjLCAYAqhZnrtj9MnjOTRYdtXbygBKi52wOoka65O3 38SfA6xSVX730W1HOlImtFrCCY0eL7Tv9n/fAgWL597FCCF3xYgUSZIG9l4k/xPAnWfF NmDoGuyt9YJBLSHAOLTVMGkdYCdTtPNZToMQXOS6cGDw4ecjiyf0jBAsyOarzHz529Yp UCkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751634555; x=1752239355; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=bPT/Yn9IyO9lNhZMkeKSyj5/KPjAxsknNyMSqLYzrPY=; b=mg1erafobXMpN1tdSPNJjDr5eXVqde9+ifJKtb5+jUNIzyFfaME/2w3SkmGr7SBkf4 0cVaD5sTLJvMa8jJC79AYsJUYtwja1efYHjzCJGhl6Y2mIsklKTC7tStV+nr4guJs6So qmIMEhK13z+Cs73iCDlid7V4ZXjYpQZyvHVx978JgTYahXIitg0RvfW+oGt5dxSUGrbq 66tcpjnArzvG0XCji2qsQiRdL8EFaiy6/sk/mqzX+UFZW4OkkVzUjBTy2gJYb7DFa/V3 C7StjexfN/nH1R00FyGhYB17H6T1rbRgNEqwlUmZ9Aft/lnXxss1avPgXWMoRbxwxPEA UCMw== X-Forwarded-Encrypted: i=1; AJvYcCXrysVSwlnPsv7H6ghHAumXVj1yg5/Qjf/gmk+k8LUZglP5Yfryw151mmekul9IwgoarMf+fruY3w==@kvack.org X-Gm-Message-State: AOJu0Ywv0ygLk35BsEEo9uVTlR1+fxvAljjJX906k+o300DZgAB0szAh +BRkrFpwDvdqyaUqHuuDK1L8r8ufSglQZe5ElYA5iroMWJlGpTK7Pumv X-Gm-Gg: ASbGncs2RjWsFTZWHSha9m/BNQU0TFgyzWT3mUi3OJtNur8AHntgSyNeq09z5XXeVfh O61G/Ifo7mzfCbmTUCZSV8WSpezUlGTHMhHkUW9g5L9Apq9vNyl5BYYPMyh86a+uvpX7lAe+5ul nKPC7Rq6WuikzfQb2XCpuwBHfuY53L+phdkprxOUmlrw6NxJJrBmjdS2zESnh80iCwqEOpxOYcd vH2sLaNr1jkxzl6Bgcm5RqhCqU9xe32vLLItNtwvUFXYVOe9RrrC9a1DlRv5DlaVBFoFEIABKYI iCelhWSLCfCLAqFUSOveXSJ3SmhU4g1mjqkdI3Kh6Ued9NcSUdTL8RvqLqXJ1ptqeVCKQMF6Q5J 9q68= X-Google-Smtp-Source: AGHT+IHGkSf7b6gCzmikSMHbOGCPLDngVVQXuVASyhJ3m7+Ta9yHqoizqWxSIsu1KXw9T4avAiQtfA== X-Received: by 2002:a05:6512:2247:b0:549:8c32:78ea with SMTP id 2adb3069b0e04-556f3db2bb9mr271494e87.7.1751634554993; Fri, 04 Jul 2025 06:09:14 -0700 (PDT) Received: from [10.214.35.248] ([80.93.240.68]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556383bb14bsm246405e87.16.2025.07.04.06.09.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 04 Jul 2025 06:09:13 -0700 (PDT) Message-ID: Date: Fri, 4 Jul 2025 15:07:54 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] kasan: remove kasan_find_vm_area() to prevent possible deadlock To: Andrey Konovalov , Yeoreum Yun Cc: glider@google.com, dvyukov@google.com, vincenzo.frascino@arm.com, akpm@linux-foundation.org, bigeasy@linutronix.de, clrkwllms@kernel.org, rostedt@goodmis.org, byungchul@sk.com, max.byungchul.park@gmail.com, ysk@kzalloc.com, kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-rt-devel@lists.linux.dev References: <20250703181018.580833-1-yeoreum.yun@arm.com> Content-Language: en-US From: Andrey Ryabinin In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 27BDDC000E X-Stat-Signature: fnb1ba34utue1bhst6rrypmm4sr717q4 X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1751634556-529845 X-HE-Meta: U2FsdGVkX19fiukL1q3onPNt+zyhX/770ZDiEYOD9vA0hEtLleYOoXsUaDV+3ck2Vwx+Sch3QvG8qJ6SLGjZ8LCz59f9vUz1h8GAateaZmQRvYxUQa9H0HDvHFD07z73iFuSFzUrqx6nQGyTtJz1XVUpJSP90Jz9iuPCvX2UtTH+WIF6q+T0U9+ehNVm8bZjLjvUZDq4QjJzHuR1lRtDX10NocQS7ei1VMx4Yg+aWPlaXOxtBiUD2BkGrJqo9FWsn2k+iBIm6EnvTTMvA0nWaTv0oJHfoekDOWglvzWsT3Nfdyz8NO2fZ0tfHbfMfVAFmFcYSBOAnR0mCkWMC0uxwAgN1IEXslii6tWC/lb/VdSwMZaan4lVdko3adU27Z9whcZNgX8TXUVQjNNSkQIDw88/VbDj4lZ2BMovTm8nhBEMI0VPSNeZz7gy0dbuTt9seiXlGGpnUvIMS8WMQIQoQ67MTVVbhDVuDv0wNvl9Bd5mFeBoDPXX8Qycarbg9Dw93V0dyeyq3/IWqcvTiiKS/OrbCmGGAXZhq26Vn5DKkxIimQ5wmicp/WgbL5K828MegrrDUbAPjvgxFhFKb8pjqBiBaydDVQw0x74uaWtdNz/ijJA+/Mu3IqBm7gwowNnCclO1ruqOQC3i89Gw2onIrMhFCNccW1F9jEyC+RuQGBpZIopJvbcIz5qYr4XfxH7toFGiTnFVGQh2DkJdI0aCUANDnIBKyFcxHMa2G6N0ydU4TZayPMrqE2YofPnBfQcWjke4McVYzK0KDh6gf3hjS6q14J4iTGjaDV6nuvAOFod9aleDMAywwmutM2o4Yj00wKOrp8fR+a2sIWyRnOJaei4+n+iLc/j7Dunkyn9v6ECOed0eSi1PMJauKJeQ+NFcrJEu3GZ+wlVBxImLYU7ccB494hjUOwI78KOWRopB75QMk4on6h5E/6MSlnelR0MhG1/6gEXSaMSvh3WOMKn ebh3bUMj OEp+wfc14ESe2JL6SLOBft9A8cCbi4ePF3/36V0+ojHBAB0PrKubn32XF0ANmb6e7PJJki8uPOlwURsSA1AKyypHvRnjAdDgx+UKdKW1ehYRpdUXP700PnTZFfDkMiyUhi+WS6w1/+coeuvOzQEP6GnOKGU9tiLKe9+1+WTX4rq7qOSke2NuiwIATgHF5pjPCpAkatf4HNGUSEKex0UBDLcTnpZZs9cY9oyiq9vSIUkZdqtc69Dj06z2my2LI/zhdf1ZZn5i2amEyiG73tlulz0jOFZR9kImDEW4OosXEANJT/OVsatXr/ngmR46Io5vGAilwi1lyQW7d4KZDNHm8GoooxY0XI+XZO8D/Jdp7aZpp3qMm2gmG2PDASRBuy0wUXvaUg9kK0LsahBfM2w75YXdL4JiqrjefT+kjYegaOt9oX7UAIq6gaPJ7BtXMCQpIo9B5HutlvG+F2iyovLWhPmkAuXzl7oPTunxEWs14t8VWML1otUbqqUd4aqmqdVdzgfJRkxoTQR7ReA1hKdngl/3SR7bL4GNRzFANuxVfoFHgkwmPDylDCo5V6aibp1VD7IMpiEJMKJPXGZHrAx65Vg9CDNgQHCXrPh9U/T45QcLiojqWu9eZjbP83paJNyEXoEHv5bOOnYwtbSAIXcOpvPU6axlvmL7dQiDIb7nHdXUZ1fgxAR1oCZpkimuXakAJ5mWb2+yul+DBZWRJpi1P0wihMQ== 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 7/3/25 9:05 PM, Andrey Konovalov wrote: > On Thu, Jul 3, 2025 at 8:55 PM Yeoreum Yun wrote: >> >> Hi Andrey, >> >>>> >>>> find_vm_area() couldn't be called in atomic_context. >>>> If find_vm_area() is called to reports vm area information, >>>> kasan can trigger deadlock like: >>>> >>>> CPU0 CPU1 >>>> vmalloc(); >>>> alloc_vmap_area(); >>>> spin_lock(&vn->busy.lock) >>>> spin_lock_bh(&some_lock); >>>> >>>> >>>> spin_lock(&some_lock); >>>> >>>> kasan_report(); >>>> print_report(); >>>> print_address_description(); >>>> kasan_find_vm_area(); >>>> find_vm_area(); >>>> spin_lock(&vn->busy.lock) // deadlock! >>>> >>>> To prevent possible deadlock while kasan reports, remove kasan_find_vm_area(). >>> >>> Can we keep it for when we are in_task()? >> >> We couldn't do. since when kasan_find_vm_area() is called, >> the report_lock is grabbed with irq disabled. >> >> Please check discuss with Andrey Ryabinin: >> https://lore.kernel.org/all/4599f645-f79c-4cce-b686-494428bb9e2a@gmail.com/ > > That was about checking for !in_interrupt(), but I believe checking > for in_task() is different? But I'm not an expert on these checks. The problem is that CPU1 grabs '&vn->busy.lock' after the '&some_lock'. This could happen both in task and in irq contexts, so the in_task() guard just won't change anything.