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 04A82C02198 for ; Wed, 12 Feb 2025 17:54:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8E52E280003; Wed, 12 Feb 2025 12:54:11 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 86D0B280001; Wed, 12 Feb 2025 12:54:11 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E707280003; Wed, 12 Feb 2025 12:54:11 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 4BCFA280001 for ; Wed, 12 Feb 2025 12:54:11 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id F02DDC0391 for ; Wed, 12 Feb 2025 17:54:10 +0000 (UTC) X-FDA: 83112041460.10.CF2542B Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by imf04.hostedemail.com (Postfix) with ESMTP id EDB0040011 for ; Wed, 12 Feb 2025 17:54:08 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fJyKPhTw; spf=pass (imf04.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=1739382849; 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=uuI5Z03zLDZiJXA9fnZE8eRXvdvS2QYxe0ggSv4hyho=; b=eqjGcUW7kMB227IswQUzQTtnjMmsyOSjn7Q5qkldw8Wyd0jkisfziZe+uo/8g8k30KzUZT 8gE8yNE/7Fid9hnlva2BB9ynjSaXZCm++lm4FfHsQN5pfJ8EUY9L2SHyEef5kZG8zYFSJn Rt2XIN9Nhi0emO/Nla7fPpRZ0LuLRUY= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=fJyKPhTw; spf=pass (imf04.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=1739382849; a=rsa-sha256; cv=none; b=ObzJ/yuhxOQxvAuOnPC976kw2Y/9genOTdeIc2SrzJik2N8j/dazjwYEZvK1vYzfqy0cwX FIWawcpdKdtN52FYZJ1u49+gEX5HF3lOMjSjsKdbj2PgYaPJNEuebXJ0ZNGgkWaK0yekBF rWpAw7W57qN16f5EztfUe9pz7wfCyzg= Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-54504fba932so611985e87.1 for ; Wed, 12 Feb 2025 09:54:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739382847; x=1739987647; 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=uuI5Z03zLDZiJXA9fnZE8eRXvdvS2QYxe0ggSv4hyho=; b=fJyKPhTwizmHI0fYjxRLzgk+S/6OaRtGcDJfShOcXA1zsGoY8wX3oK7wVMV/TQ1rvL 1i/cGY7VEWuox7wY7BlDaYCiVBciGsSQc+FDmVjuHMpURsHbyixyO/b74xjuvbqSh4Jw rBgL/mddGmF35hWOJgsoZBfesaH4zlUbSx9qRUGvoY92LFVXgMEC912B50bqwRcUkj/d onR5Y2w/2v4KuzrzguDqYQVaWFXhR4M9Pr+dpWJb9kwg4yqb1nECiqht1sOvwd7cbOYn cBBChTAb+xlWHnmXiiyzGxvPxE6Rhdm/WYbaRkJAPIIifDpbLii/tSM6jvPfGwO6GN/g Rg1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739382847; x=1739987647; 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=uuI5Z03zLDZiJXA9fnZE8eRXvdvS2QYxe0ggSv4hyho=; b=UYDB5RL/HslVnAqo4LueUsAvShnI4b/4b6STgT39GM2e2coyukf/NVLpCiF4iPqo0j DGzDtsl6mqERAvdOW4PRd6dyqPfpdJkDuVM+FfobJyZTSeyJo1flxdimVQkT3LeBGK3a sDEOzm+owIwx4uBion/RbtNI/GwXseuLet7HnZfxueMYDwWuQBRl7thSDtpnQ/9GskZJ CDXxhQ3uxM+/dDWOaaogzNL6RgKZDj+1XZv4bGDQySiuhXWFaReGHRUknl3qlQ1akbVv QW5DaWL8DLyXy7J/lWCFYPmiixkTRAAVkv4Qpwu0P+3D6iJqAc+BUKAYFHIk8OaqOYMU Kx9g== X-Forwarded-Encrypted: i=1; AJvYcCUKyupu6menuCO8/b3FGZdD3UrT1n3Or+Jp4f//YmryS19dWwhKJNoTmTBDyHOC227RjLlj5xy7wg==@kvack.org X-Gm-Message-State: AOJu0YwDAoyCrbj162mF0An26RMQk9INW9OIradhb/UUhDnAOXM6bH4k C9cHg0nHDZ+7zDRlsyMfSMsf/d2iViEvArAXHFW62tGjuiRRffQh X-Gm-Gg: ASbGncvmoBx3NC8ZBm6YGp3erJ6WUP2MzoaQKXGOfKx6+VRDfR2XBEjwhNHliz3ZLmU rRg2ic4upEM3B8PIMq+mU6fhr6N9P/mzXeFuXRr0cpvjOzI+yXPeDT0XpEluAdU0BWVKCiWA56F SGIQDiXO7G1UAnGUsDkdrUjb4m8pJsdn6D5kaBrkv19nuKyDYYk9XFAU4QSN6Aa6mqSVhOuR3Aj NZdxFKkDDvyjE+bnBAqYL90EMZ/vLui6MrFaMbWYOleYZLhyRQFODwqLYNb/X5i6acX7lLObWKq 6i0Y7AsEDFNkYq7XjzZIHw== X-Google-Smtp-Source: AGHT+IGTf6/o1ewcGEUKre1zdVC8k6x+Y98jsCPQ4p9R3TflTMIiLyianinhYrX/Lsh2+4Tk7SDv5A== X-Received: by 2002:a05:6512:124e:b0:545:8a1:536d with SMTP id 2adb3069b0e04-545180ddfadmr473410e87.2.1739382847092; Wed, 12 Feb 2025 09:54:07 -0800 (PST) Received: from [10.214.35.248] ([80.93.240.68]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54410555a60sm1976613e87.87.2025.02.12.09.54.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 12 Feb 2025 09:54:06 -0800 (PST) Message-ID: Date: Wed, 12 Feb 2025 18:54:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] kasan: Don't call find_vm_area() in RT kernel To: Waiman Long , Alexander Potapenko , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Andrew Morton , Sebastian Andrzej Siewior , Clark Williams , Steven Rostedt Cc: kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-rt-devel@lists.linux.dev, Nico Pache References: <20250212162151.1599059-1-longman@redhat.com> Content-Language: en-US From: Andrey Ryabinin In-Reply-To: <20250212162151.1599059-1-longman@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: EDB0040011 X-Stat-Signature: 7m1es74xg1fmgfbbj7g7p8s4zipddpz3 X-HE-Tag: 1739382848-711176 X-HE-Meta: U2FsdGVkX19JeOjOcul4VFtMHTlbCbzG71h7XsVyWGyAIIhMK5s32HTzXQWhObQBCSFAbJBidfJXwaHsR4xCkdYmNrlclU9rrEfbCzsMVvqKzimos1lk0G96Zs55PRMf/oeT3bSnFt2D8ZNJFhJH7hizo48/MDTp4uy/E6RwdOeNwrWmAcnWPJMCaZaN/VLVrvsgx0ukWvuDL4C2hXWBH75ZMilRMokd/PnIqHWCTxCSyhBGUT4PJj42ue4wAueYi775RzOM4AMhXknqyEPtnr+blHgmIt3HE/hv9ex1P7wEQxLiIGQVhz3w4bIVJrHHEFwRk/afZRiOwXOK2owYeWoCZ9h2UT8lFLjuFjpV6rmwl/mkZjmUt9fUdU12j2RPBmF3p0117XHIyeEZuXGM9NTRFXjbjyBnuAnZyxr03Cut9pvq6Y0B13Oqu3QnkBQRdXb0Tp0MBJvAguBPzkw9DAAeK362qXl5Kkbb/W4XK6ipI7Gba24YgRgMdLXxDKBUg7Sj1I7gw6smaGxs8BsJml67AABDrB5nESft/4aWvKp7jkazuRd5h8QEsZPXL8sRM+mx+cc6tUfUel7Xt7kubIvHow/T4OrxLYYhrCx8umyOTWe/2jZVzp02vC3f0s5MsFJ0tQk+PYil7lOkUO7vbMyONWZOImEUJ/JWtW7i2ojNiy7y7px/ADEgvusQMy5MDjcRpqlHjDFWd9rMxpjke92idPp5spyKFuCsdIzQ6UxyTocySxo0kYfCJHNW8S4jrWWvYiDguwkUSYhBti7d9DNqp5gufe79LOtlUKxnAQxTb5XFmbLiwQOY8VWOhDB/s2Lul7zpbd0dPJwMUfCZZ9nQXesEpgF6f2tT1vTge1WcndaQXxGBIVyZLBwiSR/NYyZSIThv2vFrXD9AyUZN1X3TmTOBpEw6CSCnxA7fKqeUTHzfKcGTUAcCA+Nj0DxEukkel6je9TOfQeaP2At bM1iM40U R2C1qmLHyQPaw1lEzqPsPybOH65wWtoXOP1EBD8lUGMzwEwU10PIj6rYHf/u3OwuN5bPLKxC7dlhEdx4Rrs1nVQWB2L5RyFTDrI5F3/+dy4oMYbgxzhPMy13TZegbLqbRiF7LwnQJPe7Z/uPfX+xS6T8M9HMzJjIcl4/R8PDFPX0Rgtg9a9faFwaO6t7jVvP/dqZKEDSouMuYPm72NQgcDLiLULImUcKuIhuNT5TE6qZz7kK+Po0GDq4/b7WFTf5xFvME4O/+95oo+s53oWXkHOwahHxerMkJ9eK5yDX0weJ5YvLTI2MXuAG1sEvn/6hPqvA50Iv1Wx1krPY7BrkKAqdGdDkNfcwLApYp+fxEw1/a/Aq/DoMrVrdHxF2XoGk4V4OTi2EjYoBeuyqKKG2RTF+QojFLu88DUlRYpVOArEXe0zZnZr5loO5qWvAzKPYPUBNJ54mHE+GTtC95MN0ygVD1AbBiqWb4sPzxmGhEmmfNIbDOsbBkmwjARLDTfsyeKl3UV0M1iSFdZt5oivg8JBkObQ== 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 2/12/25 5:21 PM, Waiman Long wrote: > The following bug report appeared with a test run in a RT debug kernel. > > [ 3359.353842] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 > [ 3359.353848] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 140605, name: kunit_try_catch > [ 3359.353853] preempt_count: 1, expected: 0 > : > [ 3359.353933] Call trace: > : > [ 3359.353955] rt_spin_lock+0x70/0x140 > [ 3359.353959] find_vmap_area+0x84/0x168 > [ 3359.353963] find_vm_area+0x1c/0x50 > [ 3359.353966] print_address_description.constprop.0+0x2a0/0x320 > [ 3359.353972] print_report+0x108/0x1f8 > [ 3359.353976] kasan_report+0x90/0xc8 > [ 3359.353980] __asan_load1+0x60/0x70 > > Commit e30a0361b851 ("kasan: make report_lock a raw spinlock") > changes report_lock to a raw_spinlock_t to avoid a similar RT problem. > The print_address_description() function is called with report_lock > acquired and interrupt disabled. However, the find_vm_area() function > still needs to acquire a spinlock_t which becomes a sleeping lock in > the RT kernel. IOW, we can't call find_vm_area() in a RT kernel and > changing report_lock to a raw_spinlock_t is not enough to completely > solve this RT kernel problem. > > Fix this bug report by skipping the find_vm_area() call in this case > and just print out the address as is. > > For !RT kernel, follow the example set in commit 0cce06ba859a > ("debugobjects,locking: Annotate debug_object_fill_pool() wait type > violation") and use DEFINE_WAIT_OVERRIDE_MAP() to avoid a spinlock_t > inside raw_spinlock_t warning. > > Fixes: e30a0361b851 ("kasan: make report_lock a raw spinlock") > Signed-off-by: Waiman Long > --- > mm/kasan/report.c | 47 ++++++++++++++++++++++++++++++++++------------- > 1 file changed, 34 insertions(+), 13 deletions(-) > > [v2] Encapsulate the change into a new > kasan_print_vmalloc_info_ret_page() helper > Not exactly what I had i mind, but this way is fine too. Acked-by: Andrey Ryabinin