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 D58EDECAAD4 for ; Sat, 3 Sep 2022 19:41:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 15F5C80168; Sat, 3 Sep 2022 15:41:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 10FAE8015A; Sat, 3 Sep 2022 15:41:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F193180168; Sat, 3 Sep 2022 15:41:36 -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 E34718015A for ; Sat, 3 Sep 2022 15:41:36 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id B422940136 for ; Sat, 3 Sep 2022 19:41:36 +0000 (UTC) X-FDA: 79871793792.16.7536791 Received: from mail-vs1-f45.google.com (mail-vs1-f45.google.com [209.85.217.45]) by imf18.hostedemail.com (Postfix) with ESMTP id 604161C0052 for ; Sat, 3 Sep 2022 19:41:36 +0000 (UTC) Received: by mail-vs1-f45.google.com with SMTP id c3so5271588vsc.6 for ; Sat, 03 Sep 2022 12:41:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date; bh=tUPJna5u6EaPkfndnhCOpGTOR5GY0HCELuxgRU7UBBI=; b=EkSVpdouI7TgrV5nVcYKpSwQ9g4RleJJ5pKmgV6uJ15Y9J1G8kJLeSp2GHfo3l18lr jugOeX9G+bJtI5cFej0YUhDHe6IZ2nv6nVHqO/7hFeqspDL8yQSVnOs5RCO0XTYWkgGf kjyvwYIRLmOrhYSM8yx1wMKFICBwxIkR0NiQSzW20Pw9aG7rJykV+x0wLxaRnS0JfhiU wV8JYyd6MRQ94Hzecuu0qoZzcTQNRz/mmNtDjwueHTpJXcdtSVEz4fg7Hwr4whoWc6l8 q7yWiZjq6g4t+0PmZDw3sEXGWUDqqvwH9AaqyKsaUy6K0wsioji5063kDx+PwIIHCraG IZuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date; bh=tUPJna5u6EaPkfndnhCOpGTOR5GY0HCELuxgRU7UBBI=; b=ekwAnWCZiP3ap7eTamBIqWr5nZfhJeP2koE9gsvrKueXi/Dnap2gjthmivOFROmJyb e1GdCnMYOyIH4J1Q1dPZ/82Fc7nkrNleeRKr2EB5f/F6wOu8GOFNLqc+yVmZ7JwN8J/+ qOOVF8Ba+liXXorDdWX4xtbtF2w9t6NhqQqLUZ2GdKLk9aNh17g8YWowsC0wR4Vg3x6W YYCCW06Z21wy8nLu06pPkE6J7yR9MF4fxQpX/kbUYhxVnMFHlTaTBMtRWx2MqjSJ85Lv aJJtxhw7SL0Cx+dM9XHAWgTzz4T5pSuBnUg0QtxDEXIbmxtjyL8N7Er33FgXgEOTinv/ L9xQ== X-Gm-Message-State: ACgBeo2pU/HyO0C4qX1tYyXbyorIfOjiZ7GGFz6qsdAF6saLJKeLCJlm Wum+VX+XhoClU2R4OEQUiB2Vbp/fx301V8Lu5JmhtWdYTgtekQ== X-Google-Smtp-Source: AA6agR7iL8mT6uGVP9zf3R7mLD+w3fb6R23h8eHskor4a6ALrLLQ0EyZyiVZSltC/X4e6CIp+SBQ2pl6lYl5Neadxfc= X-Received: by 2002:a05:6102:5094:b0:388:6903:5f09 with SMTP id bl20-20020a056102509400b0038869035f09mr11649917vsb.46.1662234095163; Sat, 03 Sep 2022 12:41:35 -0700 (PDT) MIME-Version: 1.0 From: Yu Zhao Date: Sat, 3 Sep 2022 13:40:59 -0600 Message-ID: Subject: vmap_area_lock lockdep warning To: Linux-MM Cc: Andrew Morton , Matthew Wilcox Content-Type: text/plain; charset="UTF-8" ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=EkSVpdou; spf=pass (imf18.hostedemail.com: domain of yuzhao@google.com designates 209.85.217.45 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1662234096; a=rsa-sha256; cv=none; b=1J6lzU92G0ccQaNz5e2XHx649jCVtFM/bF3tu7twzr8GnBw2J0IVM+AwxfnK3pKqHhGMU1 kTSRxQiujDnT/2XxSM8zr/pWUvjzOmzhYy6ZmdNFxCAHuMUrpV8iqxjEFxDyapI+oa1TJZ WonfTmyGV5xjANa9/4D/0cnos/Hisf0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662234096; 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:in-reply-to: references:dkim-signature; bh=tUPJna5u6EaPkfndnhCOpGTOR5GY0HCELuxgRU7UBBI=; b=bmW9R+tLzDY4C2O+6oq8ywSnIKPOUfktQ/o+2FzT+nYiSVLxQKOYuIuGwFzscO6C113lFF kf/XDwevKZQpNObHhSg0zcmiJDQtYrg1lzKReJM8A0N1dVVXKSOabOa1TrO1hReWrmjWCl 68A3Y478NakSc2CaXDItKhDVwVm/PA4= X-Stat-Signature: eqzmztcb68jsw1d3du3494og5fea64qw X-Rspamd-Queue-Id: 604161C0052 Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=EkSVpdou; spf=pass (imf18.hostedemail.com: domain of yuzhao@google.com designates 209.85.217.45 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1662234096-838717 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: TLDR: find_vmap_area can be called in irq context, e.g., soft lockup timer. Somehow I only started hitting this recently. Hopefully somebody will have a better idea than I do. Thanks. >From mm-unstable-2022-09-02-23-35: ================================ WARNING: inconsistent lock state 6.0.0-dbg-DEV #1 Tainted: G S O -------------------------------- inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. stress-ng/49028 [HC1[1]:SC0[0]:HE0:SE1] takes: ffffffff9ec42d48 (vmap_area_lock){?.+.}-{2:2}, at: find_vmap_area+0x1b/0x70 {HARDIRQ-ON-W} state was registered at: lock_acquire+0xb2/0x190 _raw_spin_lock+0x2f/0x40 alloc_vmap_area+0x6e2/0x7a0 __get_vm_area_node+0xe9/0x160 get_vm_area_caller+0x43/0x60 __ioremap_caller+0x205/0x300 ioremap_cache+0x17/0x20 acpi_os_map_iomem+0x12e/0x1d0 acpi_os_map_memory+0xe/0x10 acpi_tb_acquire_table+0x42/0x6e acpi_tb_validate_temp_table+0x43/0x55 acpi_tb_verify_temp_table+0x31/0x240 acpi_reallocate_root_table+0xe4/0x156 acpi_early_init+0x4d/0xcd start_kernel+0x320/0x43f x86_64_start_reservations+0x24/0x26 x86_64_start_kernel+0x124/0x12b secondary_startup_64_no_verify+0xe6/0xeb irq event stamp: 1872092 hardirqs last enabled at (1872091): [] irqentry_exit+0x5f/0x80 hardirqs last disabled at (1872092): [] sysvec_apic_timer_interrupt+0xf/0x90 softirqs last enabled at (1870920): [] __irq_exit_rcu+0x91/0xf0 softirqs last disabled at (1870897): [] __irq_exit_rcu+0x91/0xf0 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(vmap_area_lock); lock(vmap_area_lock); *** DEADLOCK *** 1 lock held by stress-ng/49028: #0: ffff924f9cd5fa58 (&mm->mmap_lock#2){++++}-{3:3}, at: do_mas_align_munmap+0x407/0x650 stack backtrace: CPU: 95 PID: 49028 Comm: stress-ng Tainted: G S O 6.0.0-dbg-DEV #1 Call Trace: dump_stack_lvl+0x69/0xaa dump_stack+0x10/0x12 print_usage_bug+0x336/0x340 mark_lock_irq+0x494/0x4a0 mark_lock+0x125/0x190 __lock_acquire+0x595/0x30d0 lock_acquire+0xb2/0x190 _raw_spin_lock+0x2f/0x40 find_vmap_area+0x1b/0x70 check_heap_object+0x23/0x2a0 __check_object_size+0x69/0x140 copy_from_user_nmi+0x53/0x80 show_opcodes+0xa6/0x120 show_iret_regs+0x36/0x60 __show_regs+0x27/0x2f0 show_regs_if_on_stack+0xde/0xf0 show_trace_log_lvl+0x276/0x400 show_regs+0x5d/0x60 watchdog_timer_fn+0x182/0x220 __hrtimer_run_queues+0x13b/0x220 hrtimer_interrupt+0xf1/0x380 __sysvec_apic_timer_interrupt+0x52/0xc0 sysvec_apic_timer_interrupt+0x71/0x90 asm_sysvec_apic_timer_interrupt+0x1b/0x20 RIP: 0010:_raw_spin_unlock_irqrestore+0x3d/0x50 Code: 83 c7 18 48 8b 75 08 e8 71 6a 4f ff 48 89 df e8 39 c6 4f ff 41 f7 c6 00 02 00 00 74 06 e8 9b b9 5c ff fb 65 ff 0d 9b 60 70 62 <5b> 41 5e 5d c3 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 RSP: 0018:ffffac87f76dbb28 EFLAGS: 00000246 RAX: a33534c87c735300 RBX: ffff9247c6b42050 RCX: 0000000000000001 RDX: 0000000000000007 RSI: ffff924e84aba198 RDI: ffffffff9d919ea5 RBP: ffffac87f76dbb38 R08: 0000000000000001 R09: 0000000000000001 R10: ffffffff9d08a070 R11: 0000000000000000 R12: 00000000000001ed R13: ffff9247c6b42000 R14: 0000000000000286 R15: ffffe7151ae30240 release_pages+0x1af/0xaa0 free_pages_and_swap_cache+0x41/0x50 tlb_flush_mmu+0x136/0x180 tlb_finish_mmu+0x44/0x80 unmap_region+0x170/0x1a0 do_mas_align_munmap+0x445/0x650 do_mas_munmap+0xf3/0x110 __vm_munmap+0xd3/0x180 __x64_sys_munmap+0x1b/0x20