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 1989FC3DA4A for ; Mon, 29 Jul 2024 09:36:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8065A6B0085; Mon, 29 Jul 2024 05:36:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B57F6B0088; Mon, 29 Jul 2024 05:36:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 656786B0089; Mon, 29 Jul 2024 05:36:14 -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 4B65E6B0085 for ; Mon, 29 Jul 2024 05:36:14 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id F33AF1A01C6 for ; Mon, 29 Jul 2024 09:36:13 +0000 (UTC) X-FDA: 82392284226.04.B6E87A1 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by imf14.hostedemail.com (Postfix) with ESMTP id 1EC9710001D for ; Mon, 29 Jul 2024 09:36:11 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=a6ocjmrZ; spf=pass (imf14.hostedemail.com: domain of jannh@google.com designates 209.85.208.53 as permitted sender) smtp.mailfrom=jannh@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722245718; 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=+6d72j4m/DpNbImW85Yz95FX2UHa2MMdK+SLSOWiCuU=; b=x4fMCURwTttofBux7BDIYS1XSV6HSma7CvNFeOZdO40Rx/E1pdI01IdJ+AAOYCMHqvmMCt 2O5R1CTwXbFFVikn4LfbVXQ8FXHk22vb4ds7ZNP55pM8x/QQeXK7hdpUM+/rliOXwUMSxU 9eHvB3ZUTANF5+IKKbix8axBpOJOAO8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722245718; a=rsa-sha256; cv=none; b=0QgEiFyc6YORbontDXQlEiii81GatJpFJ6azJpmuHY3Y+uQHCgHHVO2/m7g8KGvEFpK8dB PfsLi81vFXfiOuHBV1VT3ikXStyZy8XNwV7O8MuiB9gcqzM9n6CGjalmVWsxua2jt0Diaj OtbppSAEMT6B0dNlz9jxosJrk1nYYUY= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=a6ocjmrZ; spf=pass (imf14.hostedemail.com: domain of jannh@google.com designates 209.85.208.53 as permitted sender) smtp.mailfrom=jannh@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5a869e3e9dfso9347a12.0 for ; Mon, 29 Jul 2024 02:36:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1722245770; x=1722850570; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=+6d72j4m/DpNbImW85Yz95FX2UHa2MMdK+SLSOWiCuU=; b=a6ocjmrZx/1DlXONM6PF2uGYasOE6WrA5wh8tbTfqGGss2Ttfv3h5a4kSQbc9dZnoa l6/+PFAX7lWyA3wy5N/cO6eFBSDVR9QK2NImfLVipqjyc1nYvoghQUdzMhrqArdOVZFI +7qOa6AtHeHGvmbkXjZYNEySOYqnqqydDQefVt7mf0OZMz97b3xPObf9iDK48+TV7zCK MtvBebRHs5ZgIVpmxt5RjuaR7tJrioYrnHC21Gk8yJJHbujJ+/tcoIOrcDnF2ryJCTmR apizcf02J1N7NQ9YIrFJWQg6GVCTiuK8Myye+/RXFWg3jEhJBFDvcSuZ6QNVN++r+vqL +qKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722245770; x=1722850570; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+6d72j4m/DpNbImW85Yz95FX2UHa2MMdK+SLSOWiCuU=; b=F7pnHz5/qKMig/Pj8leLKDM7T28QZZRxV9rwTHKLNfdyqJicrj4K0O/eqESPe3xfb6 Ye/ZgAWWmQqn/7yI206o6o+87ZZaMFhOKYYjuYU5Z20J+IEJgjfvQkFQQKkl1yGa6Qgc F1oHKFNywdo+GjLBA0e3LMgNJYV42kY4osvzV4vhTel6l1yb0jHJIry+1aMNbmtre28P 4/colf+7QwRpjvaac1v8mYYR3WkUzrKOLm+wBMOmugf8+xc1K6jPP6lINRiQ0U6NVZPp lxvZLK6nUxQoK/J2V4VKfwMcBXWsPbd3is6i/xe0lvqz9wze/Ob99NXVAVSH5iElvHf5 IxdA== X-Forwarded-Encrypted: i=1; AJvYcCUq5W+UbnDUdKdAjO149QFI36Y6xhqZDfMU6OhSa7xAr4G+DAuCRkDQAAcB4Yn+YXPU3soNvoJjjcVJCdh5RwLx1pk= X-Gm-Message-State: AOJu0YzMvXPz6dOzN6/ITMcGR6p6FEywGuVSDnBiBxTggyvfS4IupPrB 4hXtXTPBcJS3b7FOuHOD61F3Gyff50y+IV0f+bjHHCxSADva/+JsfHDUUcwDBj8oRwKEBopXSv5 3A/vZ6AycYyrqYE6ZDckcKRwqxbk5IwfRtBSb X-Google-Smtp-Source: AGHT+IHIalkoSjjp2apZbUL+ktnbNq14bxnRbYJrgr13JMNilJIlYG7fFwHvB01L6Q79TEDXbONhTSJvZffj+lRli98= X-Received: by 2002:a05:6402:354d:b0:57c:c3a7:dab6 with SMTP id 4fb4d7f45d1cf-5b033c83768mr260452a12.3.1722245769876; Mon, 29 Jul 2024 02:36:09 -0700 (PDT) MIME-Version: 1.0 References: <20240725-kasan-tsbrcu-v3-2-51c92f8f1101@google.com> <202407291014.2ead1e72-oliver.sang@intel.com> In-Reply-To: <202407291014.2ead1e72-oliver.sang@intel.com> From: Jann Horn Date: Mon, 29 Jul 2024 11:35:32 +0200 Message-ID: Subject: Re: [PATCH v3 2/2] slub: Introduce CONFIG_SLUB_RCU_DEBUG To: kernel test robot Cc: oe-lkp@lists.linux.dev, lkp@intel.com, kasan-dev@googlegroups.com, linux-mm@kvack.org, Andrey Ryabinin , Alexander Potapenko , Andrey Konovalov , Dmitry Vyukov , Vincenzo Frascino , Andrew Morton , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Marco Elver , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: f3q6g9z3gqieznb3n1w3pf7rqg6dbp6e X-Rspamd-Queue-Id: 1EC9710001D X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1722245771-300372 X-HE-Meta: U2FsdGVkX1+Av59QIrRRSA/C5qG+1TUXeB8oIVD/65Kfd0W5/KlRfq27nuUN3eq7lH+OB5IeKTsZagNNZJY1Eb8PukVQdF78FX5n171N5QxG6pZLVX4DkzOOGbpwozb0/jSTyyk82ogT6LkHXAJPReA70XxYsuxUJXvlkY6lYb0wng3i73JeESWiiJ0kSMeHLrZQcRZhwlm0tYMRB297urirdhr5dNRHRJjN2p1JYGNQ9qzxDBbNe1E4nspJd4oH/eGjpwpr00CnIgeS6RBxg7UZLw2mjUogqhIlU0VcT9BVazbEdJd1AtzlEiMLcj1LzxjN6+KNq3OccOapzU5j8FnBs+gNzglzQ5sUuFNWVFuWvqtgyEkt/g/5XkEHXPuVc3JZYx0qaPnDjwDLMolajL7W+tJibz4SY7GHsTB4MeuVm4tjQbeKufUeYCc04iokZDezFfCSVB9rCtNAmRP7WNtg4r4P1E7UHmUDfxwODZvmHLgV7otQszfyqKAcygozkieLFIi0foQmfspEGOul7iVNOcUrizz5up0kSllNQQT+2KS/BB/ZMtSIuPobtTqYg+dnyXRPKDl4gxZj63JK2MzUSOcRh13FpZFSRtGuguDbewdKuBciIYKGnvfMz6ahP7llDPHd/QYxdbNf73H9j6KywYBw0RRMniv3W2YCYB84sFxLR44Btawt7x5auOgg9rCQiEJoMRBxseSu0wKdC8VWLfQqLnb4Q2M4z6xQafx8jh9/YnTpoFrMUbvGtD2Gd3uGrRtGdzcUOHZc2UZBmedDe4/giLLHv2N4xW4zvajm+80ZtJUqV8yprNqDXGqyTbAziFYJYnEGSsoO4a0BwZweqhH+C2/h2UC/0Dxi1rwLsNmOGTIWeKxBupGGBIAlBMar3swfj11zbCT+uGdnS53kOKgItTryhgTAHHUOFIT3aL2mLdscnqOI9DD+xpwNBVcw8X/iEljt1x/5y6N XstwmnnH Eu9yiC2/sl08p6Pp/OgsmfEyGbfdtuwxwDVHSUdqml4izsG/3Fr5MAQ+pTBy0Jd7fx+7qfvmJ0KWj83JBliliejaboAocBxEr9WV/aTv/fr0JM8NgskehHCdpQUXFFItUbB1omdL1t/WMQ5lmTlFMj+nObGb5e41axXU4/vhtyMN8KN9Y1Ro2baGyzddEBN/oNU5KYbiIkWhwk1Hymp/YGP+dybcgmKYGoHGZfWUcouT5QHo8WDqubsWywIM4ZVQ0Pr6W2VxjkzMjWXoRuDzAb/B4G+7Hla0ECGqzQyuHeQYcw0w0e/qLO2Qvc/aXAmCbVDie9WV8+Oftuxct9Jj6vjJ7i2pKJVlBVKyR1hi6SCDFtD6YDow04yXf6VzJJnW/eLn/4lXpp815nhpdBo1ZkCDYK0P0BcXiI8P5+ULwB7I7EYl7zTJnAkzM78FBL53krvs3Rze5UVDWF5NEurZFvOsNHisKcGoawiGA 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 Mon, Jul 29, 2024 at 6:37=E2=80=AFAM kernel test robot wrote: > kernel test robot noticed "WARNING:possible_circular_locking_dependency_d= etected" on: > > commit: 17049be0e1bcf0aa8809faf84f3ddd8529cd6c4c ("[PATCH v3 2/2] slub: I= ntroduce CONFIG_SLUB_RCU_DEBUG") > url: https://github.com/intel-lab-lkp/linux/commits/Jann-Horn/kasan-catch= -invalid-free-before-SLUB-reinitializes-the-object/20240726-045709 > patch link: https://lore.kernel.org/all/20240725-kasan-tsbrcu-v3-2-51c92f= 8f1101@google.com/ > patch subject: [PATCH v3 2/2] slub: Introduce CONFIG_SLUB_RCU_DEBUG [...] > [ 136.014616][ C1] WARNING: possible circular locking dependency dete= cted Looking at the linked dmesg, the primary thing that actually went wrong here is something in the SLUB bulk freeing code, we got multiple messages like: ``` BUG filp (Not tainted): Bulk free expected 1 objects but found 2 --------------------------------------------------------------------------= --- Slab 0xffffea0005251f00 objects=3D23 used=3D23 fp=3D0x0000000000000000 flags=3D0x8000000000000040(head|zone=3D2) CPU: 1 PID: 0 Comm: swapper/1 Not tainted 6.10.0-00002-g17049be0e1bc #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Call Trace: dump_stack_lvl+0xa3/0x100 slab_err+0x15a/0x200 free_to_partial_list+0x2c9/0x600 [...] slab_free_after_rcu_debug+0x169/0x280 [...] rcu_do_batch+0x4a4/0xc40 rcu_core+0x36e/0x5c0 handle_softirqs+0x211/0x800 [...] __irq_exit_rcu+0x71/0x100 irq_exit_rcu+0x5/0x80 sysvec_apic_timer_interrupt+0x68/0x80 asm_sysvec_apic_timer_interrupt+0x16/0x40 RIP: 0010:default_idle+0xb/0x40 Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 eb 07 0f 00 2d 17 ae 32 00 fb f4 c3 cc cc cc cc cc 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 RSP: 0018:ffff888104e5feb8 EFLAGS: 00200282 RAX: 4c16e5d04752e300 RBX: ffffffff813578df RCX: 0000000000995661 RDX: 0000000000000001 RSI: 0000000000000004 RDI: ffffffff813578df RBP: 0000000000000001 R08: ffff8883aebf6cdb R09: 1ffff11075d7ed9b R10: dffffc0000000000 R11: ffffed1075d7ed9c R12: 0000000000000000 R13: 1ffff110209ca008 R14: ffffffff87474e68 R15: dffffc0000000000 ? do_idle+0x15f/0x400 default_idle_call+0x6e/0x100 do_idle+0x15f/0x400 cpu_startup_entry+0x40/0x80 start_secondary+0x129/0x180 common_startup_64+0x129/0x1a7 FIX filp: Object at 0xffff88814947e400 not freed ``` Ah, the issue is that I'm NULL as the tail pointer to do_slab_free() instead of passing in the pointer to the object again. That's the result of not being careful enough while forward-porting my patch from last year, it conflicted with vbabka's commit 284f17ac13fe ("mm/slub: handle bulk and single object freeing separately")... I'll fix that up in the next version. I don't think the lockdep warning is caused by code I introduced, it's just that you can only hit that warning when SLUB does printk... > The kernel config and materials to reproduce are available at: > https://download.01.org/0day-ci/archive/20240729/202407291014.2ead1e72-ol= iver.sang@intel.com