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 BDF8FC0219B for ; Tue, 11 Feb 2025 22:57:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 242206B0082; Tue, 11 Feb 2025 17:57:35 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F1336B0083; Tue, 11 Feb 2025 17:57:35 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B9586B0085; Tue, 11 Feb 2025 17:57:35 -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 E2D916B0082 for ; Tue, 11 Feb 2025 17:57:34 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 6565B49FCB for ; Tue, 11 Feb 2025 22:57:34 +0000 (UTC) X-FDA: 83109177228.18.D9602D6 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf16.hostedemail.com (Postfix) with ESMTP id B5B91180006 for ; Tue, 11 Feb 2025 22:57:32 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=BPCIvq52; dmarc=none; spf=pass (imf16.hostedemail.com: domain of akpm@linux-foundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1739314652; a=rsa-sha256; cv=none; b=bv82LOK1AGvOn5dH894Wb7lFDO5ZSqb43zuM8jUb0bZZW7JXREM+YXK96kr3F6mU/B7Tan jQJX/aRRVcXLDL0AZ4bUf6PBl5/FkCyR/S1ZdVO10eDd3kPJ8sbqgZo+/+13bTFYPOWsEw VjugXFtlBj6H6QYJnxCWLBfo0Uf+2BM= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=BPCIvq52; dmarc=none; spf=pass (imf16.hostedemail.com: domain of akpm@linux-foundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739314652; 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=+lshG8H+waYmC/ZSWvT0rShMUdHv7fTd5EOGqZgeO78=; b=0z2ul+YApeeycaPXV0lME1v79VCBK4KHbzlGsBv0xC8jwbta2KEnoUPyXG2iIL06KgC24L I88BDvkDwZ8uQfnEdSAqKlqyuopKVmSDRhjbtBiJ4+amcH7rlBR5GiKJZVxWSTQbhLTY7u hLhFW6WPFofoGufPTgMdxPzbb+r54sE= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 77E2FA40DF4; Tue, 11 Feb 2025 22:55:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2C955C4CEDD; Tue, 11 Feb 2025 22:57:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1739314651; bh=l3wCHtuiiyz1DjVrycJOAarx4FFHHVF/wtuFwDWPK00=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=BPCIvq52OzV94jnl5cNujgSvko+IxN/iCUFzL/s9gW9d8+UdJ4SP0lPDTrJMrpQlJ GDgw4fMp3w9ZKLdJ6I47NMJIZq1bM1Lmf9wHpwckTTN8m/tmDxGf9m8aDcnHxkfS/j 2k+IgzSMBL4kgvH/vwraRO8Uf5RRgVnnLTtp7lcQ= Date: Tue, 11 Feb 2025 14:57:30 -0800 From: Andrew Morton To: Waiman Long Cc: Andrey Ryabinin , Alexander Potapenko , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Sebastian Andrzej Siewior , Clark Williams , Steven Rostedt , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-rt-devel@lists.linux.dev, Nico Pache Subject: Re: [PATCH] kasan: Don't call find_vm_area() in RT kernel Message-Id: <20250211145730.5ff45281943b5b044208372c@linux-foundation.org> In-Reply-To: <20250211160750.1301353-1-longman@redhat.com> References: <20250211160750.1301353-1-longman@redhat.com> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: B5B91180006 X-Stat-Signature: jxh5z5zdqqpsog8d4o5y5j6i1kkjt8gi X-Rspam-User: X-HE-Tag: 1739314652-44816 X-HE-Meta: U2FsdGVkX18m2uuXgrkJ999rdIv0PcmyFcZCFF1fFU6rVIFyi6Cn+/W2eYWZPmySOq77juQjOq4TQU0pBTKg5TQ71DG8u/Np8gjcAduj44J4r5uXrQgd+aRH6WWi5cYm+kEMXsh6mTetw+KFWsANKco28FfTjX9UR/zUMfR+LXtPIwQPQVA3vDoFd9w6RR2npKcp3Xie/0i1LL09/AbWB/daO7NI8OQX3JGkb72W/Ig+SGlFPIqOsCXNLJu9BlcE58jz4UFgEmRRNWncvk65svEiVKm5jHL+7XrULOllbwP8rh0LcCYXmyh5toOHN+qNbkRGzAfVoZISYyKzisIGz6BJqP7FTHfir+8j2MBSMk4h7rr+H5dH1yaACm32SgmSeqxpX4qJr304MUGznxQF8jkRpXukXSbBlrsaRHomePyyYnfKYiMq5gsUFPZeLK/Zbi+zYkL1B3jTAr8Op1N2FAA/spF8GZiNJS8++XXdJCzN9k3jGbpzZYcxcUkmdidDt3ro0vI0xSpx8EnoKJfNfHIB+9LIVdFj3+YSXLhlel9if0sA16Cua5jbcTOJ8OA8ui79OqoeIm/tJm9zilsZQnZM60dDbWpa5S21aiECA9jFNEu13ZiYF+mTBNGa9kW6knC+HzYrk2vSf7vX8w9r/8QwnMJdMP88Okg5kF6D6/O0f02IauqcRnmFiixr3Rj1uJu568/3tmHF6wCh95+g/F2A3wul+hAK7vZoiRHYJaZBzvnvRwbWdvxgsLQqqNZ2SiUX7JMa/d4egzBuWChzKWeaWPoyIiKxp+FN29ublSz39Z8mhgbXZUwIon8G+iYwryIR6VHTlNBofVWBWWiUsrLBr93CcfXcWbCLjwt8gd6CHNlWRdCKSduAhlvK6T/4Wuy3grS59Gq9FQYM38zgbUA+K7J5zc1NUFwwaN32KwN9NZ4vQKHBPlU4wasXDonCZWruAW+xvk3POzA7sEa 6mFcFjGD 4FLwHHajYima8tc8o0rs6WSUl/pcduchqRqTIaf804l9i7+WBCtRttEhtio9AbwUoPrbHqQa29bDveQv+sPq0/X2PgKTeXON2OKL0YSgaHsjpdvkfGIJAvoOHQjmubjAMn0OpsqIm9PsgoJnOgxQILqv8mhJvYRSGc03zw+qyk0wgxUzRIOz6Pt897kV+VIiL2d9tqMaPJnme9uJdEtKwaaXcsxvZy6WdwOaL97mvaW41EjGKCeLSx9qcNc+BTcJANKtXc5fL/dR0XobMnWccQABfFtzOv5nVo+5T4wBr+PJb20ZbL6NF6aDIpberZ2SRJt6/BQNWrtAcsFWwBEz3R4YdhV7/qvl+XnwUSbB/VC+nqLr/lTM1ulH44hF35KVDX/N65cDOLVSwGkXHAfUF4yz9w9nyKaw7lbVx 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, 11 Feb 2025 11:07:50 -0500 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 > > The print_address_description() is run with a raw_spinlock_t acquired > and interrupt disabled. The find_vm_area() function 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. 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. > Thanks. I added it and shall await review from the KASAN developers. I'm thinking we add Fixes: c056a364e954 ("kasan: print virtual mapping info in reports") Cc: but c056a364e954 is 3 years old and I don't think we care about -rt in such old kernels. Thoughts?