From: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Eric Dumazet <edumazet@google.com>,
syzbot <syzbot+4d0e4d2db6dfde01b52f@syzkaller.appspotmail.com>,
davem@davemloft.net, horms@kernel.org, idosch@nvidia.com,
kuba@kernel.org, linux-kernel@vger.kernel.org,
pabeni@redhat.com, razor@blackwall.org,
steffen.klassert@secunet.com, syzkaller-bugs@googlegroups.com,
Thomas Graf <tgraf@suug.ch>,
linux-crypto@vger.kernel.org, NeilBrown <neilb@ownmail.net>,
quanyeyang <quanyemostima@gmail.com>
Subject: Re: [v3 PATCH] rhashtable: Use separate lockdep keys for each lock
Date: Fri, 18 Sep 2026 16:59:24 +0900 [thread overview]
Message-ID: <aqztNV8fLEDsAtZL@shinmob> (raw)
In-Reply-To: <aqpXcMuAChVSxoaz@gondor.apana.org.au>
[-- Attachment #1: Type: text/plain, Size: 13987 bytes --]
On Sep 16, 2026 / 18:46, Herbert Xu wrote:
> v3 removes an obsolete comment regarding the use of nesting level 2 or more.
>
> ---8<---
> Use separate lockdep keys for the different types of locks in
> rhashtable (mutex, spin lock, and bucket locks). They are
> separate and not normally nested with respect to each other.
>
> Also move the rhashtable_init/rhltable_init kdoc to the header
> file as that's where the macros are defined.
>
> Fixes: 4333ab90aaae ("rhashtable: use private lockdep class for all locks.")
> Reported-by: syzbot+4d0e4d2db6dfde01b52f@syzkaller.appspotmail.com
> Assisted-by: Gemini:gemini-3.6-flash
> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
> Reviewed-by: NeilBrown <neil@brown.name>
Thank you for the fix action. I evaluated the patch. It takes very long time to
reproduce the WARN with my test set, so I asked my AI to create a reproducer.
The attached source file is a simple kernel module that recreates the WARN at
module load. Using this module, I tried three kernels:
v7.3-rc3 kernel : no WARN
v7.3-rc3 kernel + 4333ab90aaae : recreated the WARN [2]
v7.3-rc3 kernel + 4333ab90aaae + this v3 fix patch : no WARN
The result looks good, hence,
Tested-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
[2] WARN observed with the reproducer
Sep 18 15:39:28 redsun41 kernel: ------------[ cut here ]------------
Sep 18 15:39:28 redsun41 kernel: Looking for class "&ht->mutex" with key __key.2 [nf_tables], but found a different class "key" with the same key
Sep 18 15:39:28 redsun41 kernel: WARNING: kernel/locking/lockdep.c:955 at look_up_lock_class+0xa8/0x170, CPU#2: kworker/2:1/78
Sep 18 15:39:28 redsun41 kernel: Modules linked in: xt_conntrack nf_conntrack_netbios_ns nf_conntrack_broadcast bridge nft_fib_inet stp nft_fib_ipv4 llc nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat target_core_user ip6table_nat ip6table_mangle target_core_mod ip6table_raw ip6table_security iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_mangle iptable_raw iptable_security qrtr rfkill nf_tables ip6table_filter ip6_tables iptable_filter ip_tables intel_rapl_msr intel_rapl_common sb_edac x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass rapl intel_cstate iTCO_wdt intel_pmc_bxt sunrpc intel_uncore pcspkr i2c_i801 i2c_smbus igb mei_me lpc_ich mei ses enclosure ioatdma dca binfmt_misc wmi joydev acpi_pad acpi_power_meter btrfs raid6_pq xor dm_multipath zram lz4hc_compress zstd_compress ast drm_client_lib i2c_algo_bit drm_shmem_helper drm_kms_helper drm mpi3mr mpt3sas raid_class scsi_transport_sas fuse scsi_dh_rdac scsi_dh_emc scsi_dh_alua i2c_dev
Sep 18 15:39:28 redsun41 kernel: CPU: 2 UID: 0 PID: 78 Comm: kworker/2:1 Not tainted 7.3.0-rc3-kts+ #85 PREEMPT(lazy)
Sep 18 15:39:28 redsun41 kernel: Hardware name: Supermicro Super Server/X10SRL-F, BIOS 2.0 12/17/2015
Sep 18 15:39:28 redsun41 kernel: Workqueue: events drm_fb_helper_damage_work [drm_kms_helper]
Sep 18 15:39:28 redsun41 kernel: RIP: 0010:look_up_lock_class+0xa8/0x170
Sep 18 15:39:28 redsun41 kernel: Code: 39 6b 40 75 ed 48 8b 8b b8 00 00 00 49 8b 74 24 18 48 39 f1 74 34 49 8b 14 24 48 81 fa 30 a1 92 ae 74 27 48 8d 3d d8 c5 4e 02 <67> 48 0f b9 3a 48 89 d8 48 8b 6c 24 10 4c 8b 64 24 18 48 8b 5c 24
Sep 18 15:39:28 redsun41 kernel: RSP: 0000:ffff88b77df08148 EFLAGS: 00010002
Sep 18 15:39:28 redsun41 kernel: RAX: 0000000000000001 RBX: ffffffffb2988310 RCX: ffffffffaba2e200
Sep 18 15:39:28 redsun41 kernel: RDX: ffffffffc21822a0 RSI: ffffffffaba2e180 RDI: ffffffffad913390
Sep 18 15:39:28 redsun41 kernel: RBP: ffffffffc21822a0 R08: 0000000000000001 R09: ffff8881c25a3818
Sep 18 15:39:28 redsun41 kernel: R10: 0000000000000004 R11: ffff88b77df08420 R12: ffff8881c25a11f8
Sep 18 15:39:28 redsun41 kernel: R13: 0000000000000003 R14: 0000000000000246 R15: 00000000ffffffff
Sep 18 15:39:28 redsun41 kernel: FS: 0000000000000000(0000) GS:ffff88b7cf69c000(0000) knlGS:0000000000000000
Sep 18 15:39:28 redsun41 kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Sep 18 15:39:28 redsun41 kernel: CR2: 0000000001791b40 CR3: 000000015e8e2005 CR4: 00000000001726f0
Sep 18 15:39:28 redsun41 kernel: Call Trace:
Sep 18 15:39:28 redsun41 kernel: <IRQ>
Sep 18 15:39:28 redsun41 kernel: ? ip_local_deliver+0x184/0x4a0
Sep 18 15:39:28 redsun41 kernel: match_held_lock+0xdb/0x130
Sep 18 15:39:28 redsun41 kernel: lock_is_held_type+0xb0/0x180
Sep 18 15:39:28 redsun41 kernel: nft_rhash_lookup+0x541/0x7e0 [nf_tables]
Sep 18 15:39:28 redsun41 kernel: ? asm_common_interrupt+0x26/0x40
Sep 18 15:39:28 redsun41 kernel: ? lock_release.part.0+0x39/0x50
Sep 18 15:39:28 redsun41 kernel: ? lock_vma_under_rcu+0x15e/0x3e0
Sep 18 15:39:28 redsun41 kernel: ? do_user_addr_fault+0x3a6/0xf30
Sep 18 15:39:28 redsun41 kernel: ? exc_page_fault+0x98/0x140
Sep 18 15:39:28 redsun41 kernel: ? asm_exc_page_fault+0x26/0x30
Sep 18 15:39:28 redsun41 kernel: ? __pfx_nft_rhash_lookup+0x10/0x10 [nf_tables]
Sep 18 15:39:28 redsun41 kernel: nft_set_do_lookup+0x1ac/0x2a0 [nf_tables]
Sep 18 15:39:28 redsun41 kernel: ? rcu_read_lock_sched_held+0x40/0x70
Sep 18 15:39:28 redsun41 kernel: nft_lookup_eval+0xcc/0x590 [nf_tables]
Sep 18 15:39:28 redsun41 kernel: ? lock_is_held_type+0xb0/0x180
Sep 18 15:39:28 redsun41 kernel: nft_do_chain+0x2a9/0x1680 [nf_tables]
Sep 18 15:39:28 redsun41 kernel: ? update_load_avg+0x120/0x2c70
Sep 18 15:39:28 redsun41 kernel: ? __lock_acquire+0x691/0xd00
Sep 18 15:39:28 redsun41 kernel: ? __pfx_nft_do_chain+0x10/0x10 [nf_tables]
Sep 18 15:39:28 redsun41 kernel: ? __local_bh_enable_ip+0xb4/0x150
Sep 18 15:39:28 redsun41 kernel: ? ipt_do_table+0xa10/0x11e0 [ip_tables]
Sep 18 15:39:28 redsun41 kernel: ? ipt_do_table+0xa15/0x11e0 [ip_tables]
Sep 18 15:39:28 redsun41 kernel: nft_do_chain_inet+0xdc/0x4a0 [nf_tables]
Sep 18 15:39:28 redsun41 kernel: ? __pfx_nft_do_chain_inet+0x10/0x10 [nf_tables]
Sep 18 15:39:28 redsun41 kernel: ? __pfx_ipt_do_table+0x10/0x10 [ip_tables]
Sep 18 15:39:28 redsun41 kernel: nf_hook_slow+0xbe/0x210
Sep 18 15:39:28 redsun41 kernel: ? lock_is_held_type+0xb0/0x180
Sep 18 15:39:28 redsun41 kernel: ip_local_deliver+0x2d0/0x4a0
Sep 18 15:39:28 redsun41 kernel: ? __pfx_ip_local_deliver+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? tcp_v4_early_demux.isra.0+0x5c4/0xb20
Sep 18 15:39:28 redsun41 kernel: ? __pfx_ip_local_deliver_finish+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? ip_rcv_finish_core+0x75b/0x1470
Sep 18 15:39:28 redsun41 kernel: ? lock_is_held_type+0xb0/0x180
Sep 18 15:39:28 redsun41 kernel: ip_list_rcv_finish+0x815/0xbd0
Sep 18 15:39:28 redsun41 kernel: ? ip_sublist_rcv+0x106/0x2f0
Sep 18 15:39:28 redsun41 kernel: ? __pfx_ip_list_rcv_finish+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? __lock_release.isra.0+0x69/0x1a0
Sep 18 15:39:28 redsun41 kernel: ip_sublist_rcv+0x8b/0x2f0
Sep 18 15:39:28 redsun41 kernel: ? __pfx_ip_sublist_rcv+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? __kasan_mempool_unpoison_object+0x128/0x1c0
Sep 18 15:39:28 redsun41 kernel: ? __pfx_ip_rcv_finish+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? ip_rcv_core+0x619/0xd00
Sep 18 15:39:28 redsun41 kernel: ? __kasan_slab_alloc+0x6a/0x90
Sep 18 15:39:28 redsun41 kernel: ip_list_rcv+0x2dd/0x440
Sep 18 15:39:28 redsun41 kernel: ? __pfx_ip_list_rcv+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? lock_is_held_type+0xb0/0x180
Sep 18 15:39:28 redsun41 kernel: ? __lock_acquire+0x691/0xd00
Sep 18 15:39:28 redsun41 kernel: __netif_receive_skb_list_core+0x6bf/0xa10
Sep 18 15:39:28 redsun41 kernel: ? __pfx___netif_receive_skb_list_core+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? lock_acquire.part.0+0xc8/0x240
Sep 18 15:39:28 redsun41 kernel: ? netif_receive_skb_list_internal+0x382/0xc90
Sep 18 15:39:28 redsun41 kernel: ? lock_acquire+0x11a/0x140
Sep 18 15:39:28 redsun41 kernel: netif_receive_skb_list_internal+0x603/0xc90
Sep 18 15:39:28 redsun41 kernel: ? __pfx_netif_receive_skb_list_internal+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? igb_clean_tx_irq+0x10f1/0x17f0 [igb]
Sep 18 15:39:28 redsun41 kernel: ? __pfx_igb_clean_rx_irq+0x10/0x10 [igb]
Sep 18 15:39:28 redsun41 kernel: napi_complete_done+0x1a4/0x900
Sep 18 15:39:28 redsun41 kernel: ? __pfx_napi_complete_done+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? __pfx_igb_clean_tx_irq+0x10/0x10 [igb]
Sep 18 15:39:28 redsun41 kernel: ? __lock_acquire+0x691/0xd00
Sep 18 15:39:28 redsun41 kernel: igb_poll+0x18f/0x1f0 [igb]
Sep 18 15:39:28 redsun41 kernel: __napi_poll+0x351/0x520
Sep 18 15:39:28 redsun41 kernel: net_rx_action+0x446/0xc30
Sep 18 15:39:28 redsun41 kernel: ? __pfx_net_rx_action+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? do_raw_spin_unlock+0x59/0x230
Sep 18 15:39:28 redsun41 kernel: ? lock_release.part.0+0x1c/0x50
Sep 18 15:39:28 redsun41 kernel: ? sched_clock_cpu+0x69/0x630
Sep 18 15:39:28 redsun41 kernel: ? __lock_acquire+0x691/0xd00
Sep 18 15:39:28 redsun41 kernel: ? mark_held_locks+0x40/0x70
Sep 18 15:39:28 redsun41 kernel: handle_softirqs+0x1db/0x870
Sep 18 15:39:28 redsun41 kernel: ? __pfx_handle_softirqs+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? irqtime_account_irq+0x3e/0x2d0
Sep 18 15:39:28 redsun41 kernel: __irq_exit_rcu+0x164/0x290
Sep 18 15:39:28 redsun41 kernel: irq_exit_rcu+0xe/0x20
Sep 18 15:39:28 redsun41 kernel: common_interrupt+0x85/0xa0
Sep 18 15:39:28 redsun41 kernel: </IRQ>
Sep 18 15:39:28 redsun41 kernel: <TASK>
Sep 18 15:39:28 redsun41 kernel: asm_common_interrupt+0x26/0x40
Sep 18 15:39:28 redsun41 kernel: RIP: 0010:qlist_free_all+0x2e/0x130
Sep 18 15:39:28 redsun41 kernel: Code: 85 c0 0f 84 16 01 00 00 41 57 41 56 41 be 00 00 00 80 41 55 49 89 fd 41 54 49 89 f4 55 53 eb 3b 48 63 93 cc 00 00 00 48 8b 28 <48> 89 df 48 29 d0 48 89 c6 49 89 c7 e8 d1 ef ff ff 66 90 4c 89 fe
Sep 18 15:39:28 redsun41 kernel: RSP: 0000:ffff88810284f848 EFLAGS: 00000246
Sep 18 15:39:28 redsun41 kernel: RAX: ffff8882958a3200 RBX: ffff8881003aec80 RCX: 0000000000000000
Sep 18 15:39:28 redsun41 kernel: RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88810284f7e0
Sep 18 15:39:28 redsun41 kernel: RBP: ffff8882958a3f00 R08: ffff8882956f3500 R09: ffffffffa8df51ce
Sep 18 15:39:28 redsun41 kernel: R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
Sep 18 15:39:28 redsun41 kernel: R13: ffff88810284f880 R14: 0000000080000000 R15: ffff8882956f3500
Sep 18 15:39:28 redsun41 kernel: ? qlist_free_all+0x4e/0x130
Sep 18 15:39:28 redsun41 kernel: ? qlist_free_all+0x53/0x130
Sep 18 15:39:28 redsun41 kernel: kasan_quarantine_reduce+0x19a/0x250
Sep 18 15:39:28 redsun41 kernel: __kasan_slab_alloc+0x6a/0x90
Sep 18 15:39:28 redsun41 kernel: __kmalloc_cache_noprof+0x219/0x660
Sep 18 15:39:28 redsun41 kernel: ? drm_gem_duplicate_shadow_plane_state+0x6f/0xf0 [drm_kms_helper]
Sep 18 15:39:28 redsun41 kernel: drm_gem_duplicate_shadow_plane_state+0x6f/0xf0 [drm_kms_helper]
Sep 18 15:39:28 redsun41 kernel: drm_atomic_get_plane_state+0x227/0x960 [drm]
Sep 18 15:39:28 redsun41 kernel: ? modeset_lock+0x164/0x620 [drm]
Sep 18 15:39:28 redsun41 kernel: drm_atomic_helper_dirtyfb+0x45b/0x770 [drm_kms_helper]
Sep 18 15:39:28 redsun41 kernel: ? __pfx_drm_atomic_helper_dirtyfb+0x10/0x10 [drm_kms_helper]
Sep 18 15:39:28 redsun41 kernel: ? find_held_lock+0x2b/0x80
Sep 18 15:39:28 redsun41 kernel: ? do_raw_spin_lock+0x131/0x280
Sep 18 15:39:28 redsun41 kernel: ? find_held_lock+0x2b/0x80
Sep 18 15:39:28 redsun41 kernel: ? mark_held_locks+0x40/0x70
Sep 18 15:39:28 redsun41 kernel: drm_fbdev_shmem_helper_fb_dirty+0x1a0/0x440 [drm_shmem_helper]
Sep 18 15:39:28 redsun41 kernel: ? _raw_spin_unlock_irqrestore+0x45/0x60
Sep 18 15:39:28 redsun41 kernel: drm_fb_helper_fb_dirty+0x3fa/0xa60 [drm_kms_helper]
Sep 18 15:39:28 redsun41 kernel: ? process_one_work+0x8c3/0x1760
Sep 18 15:39:28 redsun41 kernel: ? __pfx_drm_fb_helper_fb_dirty+0x10/0x10 [drm_kms_helper]
Sep 18 15:39:28 redsun41 kernel: ? lock_acquire+0x11a/0x140
Sep 18 15:39:28 redsun41 kernel: process_one_work+0x947/0x1760
Sep 18 15:39:28 redsun41 kernel: ? __pfx_process_one_work+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? lock_acquire.part.0+0xc8/0x240
Sep 18 15:39:28 redsun41 kernel: ? lock_is_held_type+0xb0/0x180
Sep 18 15:39:28 redsun41 kernel: worker_thread+0x601/0xff0
Sep 18 15:39:28 redsun41 kernel: ? __pfx_worker_thread+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? __kthread_parkme+0xbd/0x210
Sep 18 15:39:28 redsun41 kernel: ? __pfx_worker_thread+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? __pfx_worker_thread+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: kthread+0x361/0x460
Sep 18 15:39:28 redsun41 kernel: ? __pfx_kthread+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ret_from_fork+0x560/0x860
Sep 18 15:39:28 redsun41 kernel: ? __pfx_ret_from_fork+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ? __switch_to+0x473/0xd50
Sep 18 15:39:28 redsun41 kernel: ? __switch_to_asm+0x39/0x70
Sep 18 15:39:28 redsun41 kernel: ? __switch_to_asm+0x33/0x70
Sep 18 15:39:28 redsun41 kernel: ? __pfx_kthread+0x10/0x10
Sep 18 15:39:28 redsun41 kernel: ret_from_fork_asm+0x1a/0x30
Sep 18 15:39:28 redsun41 kernel: </TASK>
Sep 18 15:39:28 redsun41 kernel: irq event stamp: 332632
Sep 18 15:39:28 redsun41 kernel: hardirqs last enabled at (332632): [<ffffffffa81e3134>] __local_bh_enable_ip+0xb4/0x150
Sep 18 15:39:28 redsun41 kernel: hardirqs last disabled at (332631): [<ffffffffa81e316a>] __local_bh_enable_ip+0xea/0x150
Sep 18 15:39:28 redsun41 kernel: softirqs last enabled at (332492): [<ffffffffa81e2802>] handle_softirqs+0x632/0x870
Sep 18 15:39:28 redsun41 kernel: softirqs last disabled at (332613): [<ffffffffa81e2bb4>] __irq_exit_rcu+0x164/0x290
Sep 18 15:39:28 redsun41 kernel: ---[ end trace 0000000000000000 ]---
[-- Attachment #2: rht_lockdep_repro.c --]
[-- Type: text/plain, Size: 2959 bytes --]
// SPDX-License-Identifier: GPL-2.0
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/mutex.h>
#include <linux/ww_mutex.h>
#include <linux/spinlock.h>
#include <linux/lockdep.h>
#include <linux/rhashtable.h>
#include <linux/slab.h>
/*
* ww_mutex machinery used to give a held lock a non-zero ->references.
* All ww_mutexes of one ww_class share a single lockdep class, and
* ww_mutex_lock() passes nest_lock = &ctx->dep_map, so acquiring the second
* one sets ->references on the first one's held_lock entry.
*/
static DEFINE_WW_CLASS(repro_ww_class);
static struct ww_mutex ww_a;
static struct ww_mutex ww_b;
struct repro_obj {
int value;
struct rhash_head node;
};
static struct rhashtable ht;
static const struct rhashtable_params repro_params = {
.key_len = sizeof(int),
.key_offset = offsetof(struct repro_obj, value),
.head_offset = offsetof(struct repro_obj, node),
};
/*
* Run fn() while holding two same-class ww_mutexes under one acquire context,
* so that the first held_lock entry has ->references != 0.
*/
static int with_referenced_held_lock(void (*fn)(void))
{
struct ww_acquire_ctx ctx;
int ret;
ww_mutex_init(&ww_a, &repro_ww_class);
ww_mutex_init(&ww_b, &repro_ww_class);
ww_acquire_init(&ctx, &repro_ww_class);
ret = ww_mutex_lock(&ww_a, &ctx);
if (ret) {
pr_err("ww_mutex_lock(ww_a) failed: %d\n", ret);
goto out_fini;
}
/* same class as ww_a plus a nest_lock -> bumps ->references */
ret = ww_mutex_lock(&ww_b, &ctx);
if (ret) {
pr_err("ww_mutex_lock(ww_b) failed: %d\n", ret);
ww_mutex_unlock(&ww_a);
goto out_fini;
}
fn();
ww_mutex_unlock(&ww_b);
ww_mutex_unlock(&ww_a);
out_fini:
ww_acquire_fini(&ctx);
return ret;
}
static void lookup_rhashtable(void)
{
int wanted = 42;
pr_info("doing rhashtable_lookup_fast()\n");
pr_info("rhashtable_lookup_fast() = %px\n",
rhashtable_lookup_fast(&ht, &wanted, repro_params));
}
static int __init repro_rhashtable(void)
{
struct rhashtable_iter iter;
int ret;
ret = rhashtable_init(&ht, &repro_params);
if (ret) {
pr_err("rhashtable_init failed: %d\n", ret);
return ret;
}
/*
* rhashtable_walk_enter() takes spin_lock(&ht->lock), which is what
* registers subclass 0 of this instance's key under the name "key".
*/
rhashtable_walk_enter(&ht, &iter);
rhashtable_walk_exit(&iter);
ret = with_referenced_held_lock(lookup_rhashtable);
rhashtable_destroy(&ht);
return ret;
}
static int __init repro_init(void)
{
if (!IS_ENABLED(CONFIG_PROVE_LOCKING)) {
pr_err("CONFIG_PROVE_LOCKING is required\n");
return -EOPNOTSUPP;
}
if (!debug_locks) {
pr_err("lockdep is already disabled, cannot test\n");
return -EOPNOTSUPP;
}
return repro_rhashtable();
}
static void __exit repro_exit(void)
{
pr_info("rht_lockdep_repro: unloaded\n");
}
module_init(repro_init);
module_exit(repro_exit);
MODULE_DESCRIPTION("Reproducer for the rhashtable lockdep subclass collision");
MODULE_LICENSE("GPL");
prev parent reply other threads:[~2026-09-18 7:59 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-13 1:31 [syzbot] [bridge?] WARNING: locking bug in match_held_lock syzbot
2026-09-15 3:40 ` Shin'ichiro Kawasaki
2026-09-15 4:06 ` Eric Dumazet
2026-09-15 6:04 ` [PATCH] rhashtable: Use separate lockdep keys for each lock Herbert Xu
2026-09-15 21:06 ` NeilBrown
2026-09-16 8:00 ` [v2 PATCH] " Herbert Xu
2026-09-16 8:46 ` [v3 " Herbert Xu
2026-09-18 7:59 ` Shin'ichiro Kawasaki [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aqztNV8fLEDsAtZL@shinmob \
--to=shinichiro.kawasaki@wdc.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=herbert@gondor.apana.org.au \
--cc=horms@kernel.org \
--cc=idosch@nvidia.com \
--cc=kuba@kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=neilb@ownmail.net \
--cc=pabeni@redhat.com \
--cc=quanyemostima@gmail.com \
--cc=razor@blackwall.org \
--cc=steffen.klassert@secunet.com \
--cc=syzbot+4d0e4d2db6dfde01b52f@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.com \
--cc=tgraf@suug.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®