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 E1EC9C77B7C for ; Thu, 3 Jul 2025 17:12:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7783D6B0259; Thu, 3 Jul 2025 13:12:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 728296B025A; Thu, 3 Jul 2025 13:12:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 617CB6B025B; Thu, 3 Jul 2025 13:12:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 4EB576B0259 for ; Thu, 3 Jul 2025 13:12:13 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 039FF1D46C8 for ; Thu, 3 Jul 2025 17:12:12 +0000 (UTC) X-FDA: 83623596546.02.427D151 Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by imf02.hostedemail.com (Postfix) with ESMTP id DE1D780016 for ; Thu, 3 Jul 2025 17:12:10 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=N1qxr62b; spf=pass (imf02.hostedemail.com: domain of ryabinin.a.a@gmail.com designates 209.85.167.50 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=1751562731; 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=8JHsACmNVQDqMzth3zHYUx+TIWM589NbxHC9P7ivfVY=; b=c2IOcW5AQxImIrPz5DIC8P3nEbwPGkN8Qg/kCbPqbvtTv9YoqRsB5oz34fO0J22d8xVLGW jmk+39e5XEGwe0GXMKn4cFN9ldFokxgkkAfva8CR2+a31Rg3oHsfLGXKNKIzYZlaDBki2m OaXHNs8R+Ppw7wX/2ZMzpTHh9spzBis= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751562731; a=rsa-sha256; cv=none; b=jGGCjuEL4RdQglt/G6t6Dz4m+OEGyHCp7NZkD907YW8HEfqL1qJlF9nzA3fKXUmZNNvMl9 iMgaXXfz88CfEhVEH8VN6ZL+0RPDW4GgA/gr7bI4ypd5QoXmAKrWnnCT6J51Z6Zw8HkG0P dyKNmn2befMckaZWuI5zvXlolsbCpwk= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=N1qxr62b; spf=pass (imf02.hostedemail.com: domain of ryabinin.a.a@gmail.com designates 209.85.167.50 as permitted sender) smtp.mailfrom=ryabinin.a.a@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-553affea534so12393e87.2 for ; Thu, 03 Jul 2025 10:12:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751562729; x=1752167529; 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=8JHsACmNVQDqMzth3zHYUx+TIWM589NbxHC9P7ivfVY=; b=N1qxr62bMx01mET46ZMSP+1al4Ncmad4858DV5/2QLiGgUYiyuUB9CmfBklFirWm8C 7tKBybgVy3rsS0yrtCJUXEkYCHjdWWABsZzVAkCyIIHUEuZlXDDba/1KHKB+S9TeLiIz 4lcqOyiyiyZ99j2Z1ITMpFsSmjGG5yl3FcqwsNfPDEZIWOqdv1vANATxs4UZLpODbgeS 7eW1DuiE/FN2E//7Pd8XkKSE17FgN4oJk9ai461bmfMYU6NcWEyMRUexJHETxeMfvqwQ 5IGo1KC6ww4ttdbtja94GSGNrYM7eZ70RLycLlvItgjC1m9JYBewrqmfa13rMFNpk2KI q1zQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751562729; x=1752167529; 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=8JHsACmNVQDqMzth3zHYUx+TIWM589NbxHC9P7ivfVY=; b=SzW+gwCHwf0yh24Xw9yjBVZNaNGbuhRScH48mv7aKvG8ffhqIpHE9H0R+esI7hS4o6 2ulYf8lxk8pzYhGD4hQrhuK/UtsUhvY9WmliE1wPRIwYxSiqs5Ivqb3sI7eGS6n/zvfe aJIXvA31pV0C6LdzBxfR/cGJUDJ7ZKCqUjq0Dpb9GYNABEnUNszZlp620cpoiELK1koH zSFVmUFMRnVAM+Cw38ZTONdXpNzsDQmoIX1rU5mft1fDtBFbMPPuf7BGz7JDWqSGQIXV f2Dx0m/OwMQmXuuIxOITk/Hx6DQqS31LsUwPIfAZw5sR40Dpg2MHGB3RK2LSffmovz2q ggpw== X-Forwarded-Encrypted: i=1; AJvYcCXklK0fYZEUXQdNHENqxS+eVJEu73LI+QNSI0q+6qFHmNFAGD+geNqucVrImcDuERC0cky8Q4eMcA==@kvack.org X-Gm-Message-State: AOJu0YyN1+i6CtnCcOpj2udlDlR7FwSwEqpSo1+UmkUGOzzOf3Rxvbil 8ziiLfvVoi6a26GdZz1jhQhnfRcTyMLkOAJZ80fuJQlN8gpEpm96svaA X-Gm-Gg: ASbGncvBCLRe/FOQcgnWV1+p0/O87x2AZrghyZTyKKAZaJID4bFb0ZCBW5L5ohMXpit DENdczZmqEjaVFusygZLehsXKRJyjzNSA6GehjlnarPgWoPafIyapB1mOArTKU5R07BFR7qDitl z1emoTyl7zi+CVwG3Xf2U5L/TWVKzkkoW3B6fMxwTijhX4hsGn79bFX3QuNcoVF4xDacuym7WKR eHS44REROam/PcZ3RqvgUqrB5Fu98KRrcxiIDTdqqF9pBxycFBFl/67HEIlS5WzB4GLaJR1MsCQ sotcyLP57Cwz4OQlR7ZzZXxWIPo0ficNoSPCu/SLN6RR1ZU8lU2a3s4X3QvnownHwR2/ X-Google-Smtp-Source: AGHT+IHSUdgs8rkjr+uLDoqm0WJNQiSMXBB+h8aK0WD+wavVOnlqZxsO6zfCCjPgM4KKxosilHQWvA== X-Received: by 2002:a05:6512:3ba6:b0:553:a2a2:21b6 with SMTP id 2adb3069b0e04-55632c86b8bmr327098e87.4.1751562728608; Thu, 03 Jul 2025 10:12:08 -0700 (PDT) Received: from [10.214.35.248] ([80.93.240.68]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-556384a9e43sm24902e87.173.2025.07.03.10.12.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 03 Jul 2025 10:12:07 -0700 (PDT) Message-ID: <1a7f32a8-16ff-406c-9542-8d2ad628d7f4@gmail.com> Date: Thu, 3 Jul 2025 19:10:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] kasan: don't call find_vm_area() in in_interrupt() for possible deadlock To: Yeoreum Yun Cc: glider@google.com, andreyknvl@gmail.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, kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-rt-devel@lists.linux.dev, Yunseong Kim References: <20250701203545.216719-1-yeoreum.yun@arm.com> <4599f645-f79c-4cce-b686-494428bb9e2a@gmail.com> Content-Language: en-US From: Andrey Ryabinin In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: DE1D780016 X-Stat-Signature: dgtqjaie5qpr94caxhhfhmwtn7zz1kzf X-Rspam-User: X-HE-Tag: 1751562730-856 X-HE-Meta: U2FsdGVkX1/CfNH8LeTh95WIkWjcH3YEM1RSWBf0slGHcaDieBEE/7hdEP9nfHQUkUyTwGhzoM3lkJB1S2ewZRwk9V5MA9NktwLwoCI2wI0jOghMZzu2xpZwnKVzQU/p+9YB8JMqQTJia79oq386MDjPmCMQZyv7onhev8F1pCZeWJ+uVBiO/sPPber42DL3bq1mja55n8BksFcwmw6YTFEHZmJhK+zRaEzN3Ag049TWJkofG+z5QdWqQi940VbXvADtfb6o+VqWDxP2HEKRvRknhAwtddztGXnGhJIvBDb5QjqANr9uvHZx5BCZt1A2aZZ5VjFJ+AQQr8y5kuaG0vgLV2aw87aCWkBH1ZtwzC0BuChBDt27L9uqqTKGiAPp5cD675osoPr6pgT5eZXZOp4lB2kAN9UJRITvP9dQdG6bTjZ/LvZ2PvsSzWpyA+U3Rvd0UlBLrYM+KQDrWP+X36u3AJhysqqJbV9d5btn0E+ZN8q1Ki9TrItm1hBhF5RuDRAc7kMbJUX2L8ogH4dbHb4/XFQEcd9YJASRvRbD1riEZAoToUix63di3R9rsaxgijNKDg2ABkBeezQVrPTwmWlFIGOOilDazppV9NMoQo3GSLCzvDbRMhZqPTpp+f/4rc/kPv2cClbQ/tqpBfYjaKRa+2jVCXrFTByI1qDGSZQExt9yQhL6p32KEIfTZAg/nFtQ5ebWDvPZXS58Rlvn6Hl22RpXbTj657vrN2VahjFdpCI8lqFQCdymRYqqWtIbPGfRSrJZW9fmbgP1da5oKrM1+UCHvR6HpFfWWvL4pKDSFnR8iEIRiezACvJ/uG3Iz3ui0HTWYZ279aNDXqpdBlvzRy/YK9Flnm5Dq8+O4UOjCjn1DAhrpk46QLDJZ+g0uxKcpXBp98P3kbVEeDzI8zM0sikk+mefo2Av9rVDxDd+/esBX3GK5W5NBK32IsAlBryqZAy45GLS0cOSZwh 4JGEbPel ya4649qV1csAOj5hto2yeGPDyzzEy+Or3zEaSeKAkwEP3ShbNg7hPpU/SqJhghcs3VucvW9eW2jS3KuzGZFxuVtcv3UDBabgSpJDMQAGVV6uRiKwNWkaGP2Wy5VAmFN+1NvUtS4HTogWaw7r2X6meoQ/cHZajElUjasbjv9AAyMKlhtNj9YAj570ziR0dCmxjmHajNVVdIf/s5IlBa+Zwy5R3jQjLDzw77mDnbBPWv1R73IsYI6QltANlxk/7YIXcrS+LcN+cNA70eP2TnFhpqY/Rvgc3qn5hiHE9yHQHsFIvNCMywicK5K8PQAUYGxePEuzJ0LTNSsfm/Kwqp16dnf4+gGFIrJkaytpxv7WH3QXbhbX/nRW9d5UmtpFDWnNuAwkcnxSdmTOCxP/wkc+nbMWU2s0Wey0G37eC/5bPVXib+b8SFsUQBuykYN6Mv843Mvg7q6uBQRFjw2wQIiRx7lMxwNVw1+ZJzqv+sO4WOCo1kigTyb/Uey+wPLMhAySNtum5XySLAtnPFxZ6giEacVvT9waIXMvL1gJBliWF5zKqEh1jOX7GyAM42omp41P8trH1t9OBMq9wLYxa6/bmfvkbu95inIiAJ9Rq6V1MJ3qorgwo2hONGWR3cMyDnI2bWlnoHKNI+7y8M7sjOYVZj60nRmsmkXR6W+vrzQ0mdEqW0wb6Q0XpkgkePzRRZefzJRu0G9OyZcW0wMs= 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/2/25 6:04 PM, Yeoreum Yun wrote: > Hi Andrey, > >> >> FYI some of email addresses in CC look corrupted, e.g. "kpm@linux-foundation.org", "nd@arm.com" > > Sorry and Thanks to let me know :) > >> >>> In below senario, kasan causes deadlock while reporting vm area informaion: >>> >>> 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! >>> >> ... >> >>> diff --git a/mm/kasan/report.c b/mm/kasan/report.c >>> index 8357e1a33699..61c590e8005e 100644 >>> --- a/mm/kasan/report.c >>> +++ b/mm/kasan/report.c >>> @@ -387,7 +387,7 @@ static inline struct vm_struct *kasan_find_vm_area(void *addr) >>> static DEFINE_WAIT_OVERRIDE_MAP(vmalloc_map, LD_WAIT_SLEEP); >>> struct vm_struct *va; >>> >>> - if (IS_ENABLED(CONFIG_PREEMPT_RT)) >>> + if (IS_ENABLED(CONFIG_PREEMPT_RT) || in_interrupt()) >> >> in_interrupt() returns true if BH disabled, so this indeed should avoid the deadlock. >> However, it seems we have similar problem with 'spin_lock_irq[save](&some_lock)' case and >> in_interrupt() check doesn't fix it. >> And adding irqs_disabled() check wouldn't make sense because print_report() always >> runs with irqs disabled. >> I see no obvious way to fix this rather than remove find_vm_area() call completely and just >> print less info. > > Right. unless there is API -- find_vm_area() with spin_trylock(), > kasan_find_vm_area() should be removed. > > But, I'm not sure adding the new API used only bv kasan is better then > just remove kasan_find_vm_area(). > > Do you have any idea for this? > I'd say the info from vm_struct is nice to have, but it's not essential for debugging. It's probably not worth trying to keep it, so I'd vote for for removing kasan_find_vm_area(). > Thanks. > > -- > Sincerely, > Yeoreum Yun