From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D28EF3630AD for ; Tue, 21 Apr 2026 12:36:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776774993; cv=none; b=oeX4jiO7E3XpMBcmMMXNlqxKv5j3gp4DJzXAJeuw1I/gw/xPvugdOIqIPJ4iwv2PCdTypfztGQVauSRK5UbxRT+mH2Plhw6I/dWHsJRKoTV07oLYwLNmcdIa4hFtzutDomdymHtMbsx9ARukLtXmeCdhLJiEQwoB1ihanksKL18= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776774993; c=relaxed/simple; bh=BSiDn09rjFq5ifAiTvIN+6ZbscY0qgSB9S54jEELWB0=; h=From:Date:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=kqKnuman9KYNMkLZrBWNmt46sRMKCKccNEiKd2CwYPW9AW4GzqUZ7bv5ZgTWMQdwQbVbDiDNqLzMIr9ZLdE3YCZfPfsa0Ygzfwix6+qyAopHrWO0n3KLcTqQ7NKsPZjjm0qF0xExXqTCkgRbuv2L6TKdMpjPQ1NTGw9+/uXiKuY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=KTs0WsY8; arc=none smtp.client-ip=209.85.167.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KTs0WsY8" Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-5a40cfab24dso4439974e87.2 for ; Tue, 21 Apr 2026 05:36:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776774989; x=1777379789; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=K2umFNIY/BLyJ91U8ESVwZ5+480SIvdek4DpKYYkBZU=; b=KTs0WsY8xXUTjN7Wll/aDwnGSP+dzW1ok/blUhM3C5f7i/xkC6wVYWRKQuz9VJXgom 6g2e+sJbCsOlMrPKL/3zogyVrGSX66M6Hz4RGYAdvXZlQrAp0j0sZwVtasAx6k4upDTz J31Ckh4mzQ5abkqJ16JdJSSRo2GiV8zqFsgK0hg8A+Z0rqC8pFJm6Pjzz/PRLuuEegdY Xw5lAetRkoVnlKPkUZ2daIg5ltlTLNgFnE5WNP3Hht/sX3Sd7NjECMw5E5jP1e7XmqeY /BLpkrnOBtEMmPl3sgyRX+KF2xMPH+irqH0RCodv5CUZTb8VPJ1x8gCnTh33q37GcstI lbjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776774989; x=1777379789; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K2umFNIY/BLyJ91U8ESVwZ5+480SIvdek4DpKYYkBZU=; b=HIWIh35yHwJOdpyKYS+6jRVrDJ7oMrVkmX/TPGVDRWf9pKi8g3YJogpGBVA9Jq6u5s 7ZO2lwde9XOwqBCO3iwj34X8gbuWzRWAn0WyU1M2fwLb/7nwjmtESbp2m5Zme7rgUN8H 9Qse37ju6ZR6DUBiFTUDkaTHloRpTTGBGwfDYYCe45c1rz6XNsoFY3JtMqn7IQmaJgrq BZyw4uSE0UH6MeGF7RvVjPGE0dBH2eY8DUHgSzc1K15lSXB3QjGWhLX4D1g0zhp1+d+a MTjALzuRVHNk7qE0eG0NmIkaS4XX5u3pz/G2Psj2wu78qTGeMZ0gjT+4ITKn8m+mEBXs CimA== X-Forwarded-Encrypted: i=1; AFNElJ9yVXj8j0wWPBfyC2CimrtSFnkif3amymnJBdv3QlCWmvkJzTlDXn8jjZ1u1lqJ4qjkvcmcjeO7a85kiBU=@vger.kernel.org X-Gm-Message-State: AOJu0YxkhHIpXPK6/zstrQ3PPYUwknMYR1JLPumBeyEHnA1sxSqhFx/1 1st/ZL3CrtecR/BKow4ASKkUW4enCzTINH8BouWrV1APcBNqqh0xHqLW X-Gm-Gg: AeBDieuF3OzuND4A8JqHWfhVj8lLgMM5hb08AI2PKGiR+Y5ANPLPZT1+uQsYCYtB7gd x7cRiAmvvhXM0z+JFCCTI41cMbSjjywO1Xw8jWb5hQDNq539B5RX/3TEcuMaHdpGWqCis5tnEhX Q57WiJR7NwsaiLdGQbtYaxtwAacREe5ev3ubDYyrm2UKOEfLDO6dlBAi5oJnv1QppLGn9vbZRDE GzDmPVgHVDmoBBt8FfMndm7hjnWiJ6XxPJcP3RnjYfoIZoRg1s/xPBt6KeTAePhGM2pD+qaFtez LSl0TneRA5jUnK/etxKY/r14NwFQgszHnAuaW8dYaoakPwY2ClfhBQYblY/8kkv3Ohe0f4WnNzK /C2wkkuHLxS2HNEXjefnEG9FXU6H2G6eCsuqSa2+jEzix4mpoyzdwP1Gf8csTNx7U/I1kWVxQq2 lcHyCZWh7RxQ== X-Received: by 2002:ac2:5b05:0:b0:5a4:175d:21a with SMTP id 2adb3069b0e04-5a4175d0239mr4423230e87.2.1776774988560; Tue, 21 Apr 2026 05:36:28 -0700 (PDT) Received: from milan ([2001:9b1:d5a0:a500::24b]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-38ecb6f0bfdsm30395521fa.26.2026.04.21.05.36.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2026 05:36:28 -0700 (PDT) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Tue, 21 Apr 2026 14:36:26 +0200 To: Thomas Graf , Herbert Xu Cc: Uladzislau Rezki , oe-lkp@lists.linux.dev, lkp@intel.com, linux-kernel@vger.kernel.org, Andrew Morton , Michal Hocko , Baoquan He , Alexander Potapenko , Andrey Ryabinin , Marco Elver , Michal Hocko , linux-mm@kvack.org Subject: Re: [linus:master] [mm] c6307674ed: BUG:sleeping_function_called_from_invalid_context_at_mm/vmalloc.c Message-ID: References: <202604211323.fac1b29e-lkp@intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202604211323.fac1b29e-lkp@intel.com> Hello, Thomas, Herbert Xu! > > kernel test robot noticed "BUG:sleeping_function_called_from_invalid_context_at_mm/vmalloc.c" on: > > commit: c6307674ed82c0c57d6e1e3408e84ac449ab8e94 ("mm: kvmalloc: add non-blocking support for vmalloc") > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master > > [test failed on linus/master 40286d6379aacfcc053253ef78dc78b09addffda] > [test failed on linux-next/master 936c21068d7ade00325e40d82bfd2f3f29d9f659] > > in testcase: kunit > version: > with following parameters: > > group: group-01 > > > > config: x86_64-rhel-9.4-kunit > compiler: gcc-14 > test machine: 8 threads 1 sockets Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz (Haswell) with 16G memory > > (please refer to attached dmesg/kmsg for entire log/backtrace) > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of > the same patch/commit), kindly add following tags > | Reported-by: kernel test robot > | Closes: https://lore.kernel.org/oe-lkp/202604211323.fac1b29e-lkp@intel.com > > > > [ 149.217862][ T4054] BUG: sleeping function called from invalid context at mm/vmalloc.c:3435 > [ 149.226291][ T4054] in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 4054, name: rhashtable_thra > [ 149.235634][ T4054] preempt_count: 0, expected: 0 > [ 149.240353][ T4054] RCU nest depth: 1, expected: 0 > [ 149.245166][ T4054] CPU: 1 UID: 0 PID: 4054 Comm: rhashtable_thra Tainted: G S B N 6.18.0-rc5-00047-gc6307674ed82 #1 PREEMPT(voluntary) > [ 149.245176][ T4054] Tainted: [S]=CPU_OUT_OF_SPEC, [B]=BAD_PAGE, [N]=TEST > [ 149.245178][ T4054] Hardware name: Dell Inc. OptiPlex 9020/0DNKMN, BIOS A05 12/05/2013 > [ 149.245181][ T4054] Call Trace: > [ 149.245185][ T4054] > [ 149.245189][ T4054] dump_stack_lvl (lib/dump_stack.c:122) > [ 149.245200][ T4054] __might_resched.cold (kernel/sched/core.c:8928) > [ 149.245209][ T4054] vfree (include/linux/kernel.h:61 mm/vmalloc.c:3435) > [ 149.245215][ T4054] rhashtable_try_insert (lib/rhashtable.c:476 lib/rhashtable.c:635) > [ 149.245223][ T4054] ? sysvec_apic_timer_interrupt (arch/x86/include/asm/hardirq.h:78 (discriminator 2) arch/x86/kernel/apic/apic.c:1052 (discriminator 2)) > [ 149.245229][ T4054] ? sysvec_apic_timer_interrupt (arch/x86/include/asm/hardirq.h:78 (discriminator 2) arch/x86/kernel/apic/apic.c:1052 (discriminator 2)) > [ 149.245235][ T4054] ? __pfx_rhashtable_try_insert (lib/rhashtable.c:592) > [ 149.245242][ T4054] rhashtable_insert_slow (lib/rhashtable.c:648) > [ 149.245247][ T4054] insert_retry+0x257/0x630 test_rhashtable > [ 149.245260][ T4054] threadfunc (lib/test_rhashtable.c:633) test_rhashtable > [ 149.245269][ T4054] ? try_to_wake_up (kernel/sched/core.c:4297) > [ 149.245275][ T4054] ? _raw_spin_lock_irqsave (arch/x86/include/asm/atomic.h:107 (discriminator 4) include/linux/atomic/atomic-arch-fallback.h:2170 (discriminator 4) include/linux/atomic/atomic-instrumented.h:1302 (discriminator 4) include/asm-generic/qspinlock.h:111 (discriminator 4) include/linux/spinlock.h:187 (discriminator 4) include/linux/spinlock_api_smp.h:111 (discriminator 4) kernel/locking/spinlock.c:162 (discriminator 4)) > [ 149.245281][ T4054] ? __pfx_threadfunc (lib/test_rhashtable.c:618) test_rhashtable > [ 149.245289][ T4054] ? __pfx_autoremove_wake_function (kernel/sched/wait.c:402) > [ 149.245295][ T4054] ? __kthread_parkme (arch/x86/include/asm/bitops.h:202 (discriminator 1) arch/x86/include/asm/bitops.h:232 (discriminator 1) include/asm-generic/bitops/instrumented-non-atomic.h:142 (discriminator 1) kernel/kthread.c:290 (discriminator 1)) > [ 149.245301][ T4054] ? __pfx_threadfunc (lib/test_rhashtable.c:618) test_rhashtable > [ 149.245309][ T4054] ? __pfx_threadfunc (lib/test_rhashtable.c:618) test_rhashtable > [ 149.245317][ T4054] kthread (kernel/kthread.c:463) > [ 149.245322][ T4054] ? __pfx_kthread (kernel/kthread.c:412) > [ 149.245326][ T4054] ? __pfx__raw_spin_lock_irq (kernel/locking/spinlock.c:169) > [ 149.245331][ T4054] ? __pfx_kthread (kernel/kthread.c:412) > [ 149.245335][ T4054] ? __pfx_kthread (kernel/kthread.c:412) > [ 149.245339][ T4054] ret_from_fork (arch/x86/kernel/process.c:164) > [ 149.245344][ T4054] ? __pfx_kthread (kernel/kthread.c:412) > [ 149.245348][ T4054] ret_from_fork_asm (arch/x86/entry/entry_64.S:255) > [ 149.245356][ T4054] > > > The kernel config and materials to reproduce are available at: > https://download.01.org/0day-ci/archive/20260421/202604211323.fac1b29e-lkp@intel.com > > > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests/wiki > diff --git a/lib/rhashtable.c b/lib/rhashtable.c index 6074ed5f66f3..a892766dcedd 100644 --- a/lib/rhashtable.c +++ b/lib/rhashtable.c @@ -473,7 +473,7 @@ static int rhashtable_insert_rehash(struct rhashtable *ht, err = rhashtable_rehash_attach(ht, tbl, new_tbl); if (err) { - bucket_table_free(new_tbl); + call_rcu(&new_tbl->rcu, bucket_table_free_rcu); if (err == -EEXIST) err = 0; } else Could you please check? The problem here is rcu_read_lock() rhashtable_insert_rehash() vfree(); rcu_read_unlokc(); we can just defer freeing via call_rcu(). -- Uladzislau Rezki