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 8FCA7C83F22 for ; Wed, 16 Jul 2025 15:25:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 33FE38D0005; Wed, 16 Jul 2025 11:25:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3178F8D0001; Wed, 16 Jul 2025 11:25:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 254938D0005; Wed, 16 Jul 2025 11:25:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 121828D0001 for ; Wed, 16 Jul 2025 11:25:03 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E1A8DB91DB for ; Wed, 16 Jul 2025 15:25:02 +0000 (UTC) X-FDA: 83670500844.20.80CBEB5 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) by imf01.hostedemail.com (Postfix) with ESMTP id 16E6640002 for ; Wed, 16 Jul 2025 15:25:00 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=J0fZrlcb; spf=pass (imf01.hostedemail.com: domain of 3S8R3aAUKCPwipzivksskpi.gsqpmry1-qqozego.svk@flex--elver.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=3S8R3aAUKCPwipzivksskpi.gsqpmry1-qqozego.svk@flex--elver.bounces.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=1752679501; 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=Y020Ei9Bk/dDr2jy5oIxQhB4Mux4H8qkRk2Nk2X5B6Y=; b=rWCuQ/r5fHRg0ko0da6QClZ90VkJ+iIoTzhBAGIIoFQr3fc0beIfq8gSAGldDu3M8hsrSE vwyjG9VhvHZmXgug51o6no8As4OuvwCEUzmwVHaQkKg4HWQUCVjiKo9fhOMQnH5Ry07yEi aXQ73GGYwM7j8/zAaIDK1iAfk7mniTU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752679501; a=rsa-sha256; cv=none; b=2+o+2U7fRCICBfcWC+lA2c1y8/ZqUpOvgwnFaXwhvxWB5Ix/84QXy803+YUd6gguiOl1Pr e77iNJFhHXRVi+y8l87M2y+X3Zz45N4fUParOdPCnN8MiQPMUiYN2IOp/adg2wwH4lHI3A yFef/K5ubPAEJ6MCQelHwPQB+xlRh+E= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=J0fZrlcb; spf=pass (imf01.hostedemail.com: domain of 3S8R3aAUKCPwipzivksskpi.gsqpmry1-qqozego.svk@flex--elver.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=3S8R3aAUKCPwipzivksskpi.gsqpmry1-qqozego.svk@flex--elver.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-4562985ac6aso18262315e9.3 for ; Wed, 16 Jul 2025 08:25:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1752679499; x=1753284299; darn=kvack.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=Y020Ei9Bk/dDr2jy5oIxQhB4Mux4H8qkRk2Nk2X5B6Y=; b=J0fZrlcbxxVNaefNFwyNcqM/S4PaQrJNc0GpDI2RyZKhof7Y5V6rXDnBLyGcm853YF oYuaWngPGNpQAzPU1WJueJ1WK8T5S+YT5e1a+2mOv3OqTLBzbqkJhfMqrj+F9xVXRSKN LGhIlZl3ylF9XmRltNkbx28RD13WmpWuF0Cf0NjTrI4znF0KY4YQ6JMJQCFyE6ZqgXKv i5QGsFgKRjWQGeG7ruhhDVqMsMrVOvxrE2Z64W+lDEKbj1mxoGtRjbZc/5Z87g9c9T8J UtNesa01mZ/gxtEOISEy638pJ1xh1eCilvIQviI/D9wsrqqInewpac1fF2/nR+MMDHXl O+9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752679499; x=1753284299; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=Y020Ei9Bk/dDr2jy5oIxQhB4Mux4H8qkRk2Nk2X5B6Y=; b=XYTLITpaLNYHksKRLM1tsKw5eN25r7ugPYlHq8kkms++LDNSeEIQb4sfcOymDZVkK/ yXge3pCZlNd70E8NkLFnQzi2zeKA0ukg5R+ZSNwfrPneAENkM93GjG3arrBopYfA5RNM bJDbVMT8JzsNiKR0tGigFirzp7NNEOln0waH/bNVvexEluoALJaYhuEv/VBbgwv34yjO qENoRYazyG3agGAUXWLpc56bJKeXsFRK07phTrCoShcdHSxIFy95DN3IeALWUBRBY/4d KI9oNO/xSb0DQCBapwL5D69mOrj38Yc/bRNgebkvOlW1xy1a/lknBsWTBce8O5BgKxD8 8FPQ== X-Forwarded-Encrypted: i=1; AJvYcCW8ggQFJUrLpcKSWtnJAvtYPqD5v7byzuflXuBhoAxssHONQ5qYM4K7T6rra8cnQfF4StFoNxR58Q==@kvack.org X-Gm-Message-State: AOJu0Yy1ZVteAXcosMAxSpX6upDByCTw3yMT0f97PAld7OQ92nNJl5// gVHkWkLtEZZ9fwuiyz76FDxdq57idHGgCShPCc6snc/BGDVj20/q5jx5XpMl+MMccyPh4YK8Z3L VAQ== X-Google-Smtp-Source: AGHT+IG+qln5bQT2mE9wIX8K89bRFDCyEmW+N27eenT0Mz+MKpFiGEtyXe0L5xsEE6EDOAbOFijYhxLGLw== X-Received: from wmbhe13.prod.google.com ([2002:a05:600c:540d:b0:43c:ef7b:ffac]) (user=elver job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:19cb:b0:43c:ee3f:2c3 with SMTP id 5b1f17b1804b1-4562e37a0ecmr26916265e9.7.1752679499601; Wed, 16 Jul 2025 08:24:59 -0700 (PDT) Date: Wed, 16 Jul 2025 17:23:28 +0200 Mime-Version: 1.0 X-Mailer: git-send-email 2.50.0.727.gbf7dc18ff4-goog Message-ID: <20250716152448.3877201-1-elver@google.com> Subject: [PATCH] kasan: use vmalloc_dump_obj() for vmalloc error reports From: Marco Elver To: elver@google.com, Andrew Morton Cc: Alexander Potapenko , Dmitry Vyukov , Andrey Ryabinin , Andrey Konovalov , Vincenzo Frascino , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Uladzislau Rezki , Sebastian Andrzej Siewior , Yeoreum Yun , Yunseong Kim , stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 16E6640002 X-Rspam-User: X-Rspamd-Server: rspam09 X-Stat-Signature: a4myt59fi83r8kwtog7k5j8yyp6cqwzf X-HE-Tag: 1752679500-693669 X-HE-Meta: U2FsdGVkX1+E7vn6gYkQc1xQHwpp28h2rPa0XJvA8wQmC67z5J/7N05oyAfzIorwDzQJTZj2VtGYmbONtSckbts99ksHLWBuKeWfGr5VVLfIqLx8M7mRFNrxcysGWMfQuI4c24UrYE7psjg/E4WwOc5qaD9jLtvmpOsoJ7I+GVVJYs7Ut31p+xOGO59FAk5Os2OKI6MabjwD6SHzyBvlRyRbQ4PPgx21alxIYogibkEDJduNElYQ6odzsKhFei3cxUQHa6yXKO8/gXr5FO1hBkUQjNWGiEvEzDIZktfe7GpeRcRijg76aeMTBfWzqGTHV1Qv/kJpni/5gAPM+IjUiARMGRRHnUlQQBvOv7Ze6l+MqBvl7jUpw4BPBtiqdW+uw3LEJ1RdM7DzQM464nCCjBFQxtN2/DPH/T3c9sZz3iME0ok+XkWVTFekjGrAlIuB+faZ4vMbKcRzNGXMTb7NF9w8pk/lS4Yac+DYt27fIowix3jFY6UgmvnJDkBgSOgxE6/OG+ozWMXNPEecdX0xX5HSVm+eCd9HRFzYCayAQDDz1LIxpfZomV7Nf3Nk9CSZ5VfVERxkwTcF4tbPASA8X3CZPoZH1BgjrIV/Tk26J84q4H9wsYIILd6nX+lglIe2f6nECBNYhmaEaZT+eYu+VQZhEapvpFGHVKsIHV7dNotqfJu5Wyqk/56gxlTgGWgZ8h4vrCGo9E/P7+rza9MU5NDvmAz0p2B6TYCAdx2CpcvVQv3TVI7ygiX8NnMzD8okeFRLi5XaU4elp+KbE0Zk+lz7tpcU7Tq4gtgRAVQEafZpqkmNr37hx9QLKL7ANShhyZSAD5pQubwAbnV76CMdTlsF5Y2Q8i3aRuSzA+nPR90kWOJ7artQKreUCpj15VvlrDsTuFb5kkUtGrjFalmPq4R3pTFb/N/OnHFiPztvwq/ACPZh1HEImqfccelD/RTMwAnWiIiGpoZnbfJkfU8 n072Ubz+ a+8OgKwnQp5MJnVGZmREyJUV3cnUGPNgnUQcOxNQ6HvC3pOHZ0EbA9T5H6HO9DCent8408EFqPZr/LFjqfAdDrd7g+t1IPtS2VgnYqXKrBppvdyi7zvcwlOaYHHyqRSbmL32qBWxugJyuMnuZFYc/sVzKuHk+4lOX+eqQuzzorI0UbgwUjec0h/DYgnfhOyZMEGk0obeZv2bjET1jyiCBy+ImNBK+Y3KaDXF44mjkmS4uS2+rC/TZtUHFj4Up++9rmMH6z46i/ta97ahLNMiEQuIe78XPtKN1ZzBO/Bl7/AUNqrx8cOIsbuvjUo04HHbS5/axrkjFXx+zx3rTTdCztfNE6QKLXSxKEdwxHTjcS+nskPO8uEwPoujjsfUQz9MraeympA68FGGp+wEITxO4AiwGviqfAWDAdlskFiCHPmnnc7uZOp+VAjrHYzxwf7NleR56djLAxGA/ZMynXXLQIiMUoVTQCW1mvuHEN7ik7UIM34gMMU2XqDl91OaAfOFLg6bcvFIlDrethETZ8x+BBf5JLSQy3Ot10d5jAuYQ6s8AAUz8AZx8O86/80ZGEcRw1TOMHKlQgJ4KLPLFkwSIGIKXQh3lJuUSof5YXUecT/T+9I7Q0kyKP5zI9+7LEtkcQhyKXKzlR7OXxJ+W1nkyWWgD8KPdkGzhEujJq37vlcEiuTtkKT6EEYtvkpSNf4cW+1Ka6R22K6tU1yOWIz1v5W5JDISIfwZYjXNaG5oORzKrauQDzd5996zEJtCxf1yn4cKe6tln1rMlpP48Bb8ih0lh0O5qRlIwwx3qAooF5ZBAmVfsI6cF/zUr8zKyLSEs7QAjJX6wH9ajDXzaBhFYAhWqxGWaWonsTUEg 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: Since 6ee9b3d84775 ("kasan: remove kasan_find_vm_area() to prevent possible deadlock"), more detailed info about the vmalloc mapping and the origin was dropped due to potential deadlocks. While fixing the deadlock is necessary, that patch was too quick in killing an otherwise useful feature, and did no due-diligence in understanding if an alternative option is available. Restore printing more helpful vmalloc allocation info in KASAN reports with the help of vmalloc_dump_obj(). Example report: | BUG: KASAN: vmalloc-out-of-bounds in vmalloc_oob+0x4c9/0x610 | Read of size 1 at addr ffffc900002fd7f3 by task kunit_try_catch/493 | | CPU: [...] | Call Trace: | | dump_stack_lvl+0xa8/0xf0 | print_report+0x17e/0x810 | kasan_report+0x155/0x190 | vmalloc_oob+0x4c9/0x610 | [...] | | The buggy address belongs to a 1-page vmalloc region starting at 0xffffc900002fd000 allocated at vmalloc_oob+0x36/0x610 | The buggy address belongs to the physical page: | page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x126364 | flags: 0x200000000000000(node=0|zone=2) | raw: 0200000000000000 0000000000000000 dead000000000122 0000000000000000 | raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 | page dumped because: kasan: bad access detected | | [..] Fixes: 6ee9b3d84775 ("kasan: remove kasan_find_vm_area() to prevent possible deadlock") Suggested-by: Uladzislau Rezki Cc: Alexander Potapenko Cc: Andrey Konovalov Cc: Andrey Ryabinin Cc: Sebastian Andrzej Siewior Cc: Yeoreum Yun Cc: Yunseong Kim Cc: Signed-off-by: Marco Elver --- mm/kasan/report.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mm/kasan/report.c b/mm/kasan/report.c index b0877035491f..62c01b4527eb 100644 --- a/mm/kasan/report.c +++ b/mm/kasan/report.c @@ -399,7 +399,9 @@ static void print_address_description(void *addr, u8 tag, } if (is_vmalloc_addr(addr)) { - pr_err("The buggy address %px belongs to a vmalloc virtual mapping\n", addr); + pr_err("The buggy address belongs to a"); + if (!vmalloc_dump_obj(addr)) + pr_cont(" vmalloc virtual mapping\n"); page = vmalloc_to_page(addr); } -- 2.50.0.727.gbf7dc18ff4-goog