From: Zhu Yanjun <yanjun.zhu@linux.dev>
To: "leon@kernel.org" <leon@kernel.org>,
Jason Gunthorpe <jgg@ziepe.ca>,
RDMA mailing list <linux-rdma@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
akpm@linux-foundation.org
Subject: raw_local_irq_restore() called with IRQs enabled
Date: Mon, 8 May 2023 16:53:45 +0800 [thread overview]
Message-ID: <a694638f-9fb4-88b2-cbba-bb5de2aadc3e@linux.dev> (raw)
Hi, all
I confronted the following problem. The call traces are as below.
kernel/fork.c:
"
2323 spin_lock_irq(¤t->sighand->siglock); <---disable
2324 if (!(clone_flags & CLONE_THREAD))
2325 hlist_add_head(&delayed.node,
¤t->signal->multiprocess);
2326 recalc_sigpending();
2327 spin_unlock_irq(¤t->sighand->siglock); <--enable
"
conflicts with the following
"
1031 spin_lock_irqsave(&qp_info->send_queue.lock, flags); <---save
1032 if (qp_info->send_queue.count <
qp_info->send_queue.max_active) {
1033 trace_ib_mad_ib_send_mad(mad_send_wr, qp_info);
1034 ret = ib_post_send(mad_agent->qp,
&mad_send_wr->send_wr.wr,
1035 NULL);
1036 list = &qp_info->send_queue.list;
1037 } else {
1038 ret = 0;
1039 list = &qp_info->overflow_list;
1040 }
1041
1042 if (!ret) {
1043 qp_info->send_queue.count++;
1044 list_add_tail(&mad_send_wr->mad_list.list, list);
1045 }
1046 spin_unlock_irqrestore(&qp_info->send_queue.lock, flags); <--restore
"
If we change spin_lock_irq/spin_unlock_irq to
spin_lock_irqsave/spin_unlock_irqrestore, it seems that this problem is
resolved.
But not sure if other problems are introduced.
[ 6020.091840] ------------[ cut here ]------------
[ 6020.091846] raw_local_irq_restore() called with IRQs enabled
[ 6020.091857] WARNING: CPU: 82 PID: 10603 at
kernel/locking/irqflag-debug.c:10 warn_bogus_irq_restore+0x21/0x30
[ 6020.091872] Modules linked in: rdma_rxe ip6_udp_tunnel udp_tunnel
xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4
nft_compat nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6
nf_defrag_ipv4 nf_tables nfnetlink tun bridge stp llc vfat fat ext4
mbcache jbd2 rpcrdma sunrpc intel_rapl_msr intel_rapl_common rdma_ucm
i10nm_edac ib_srpt nfit ib_isert libnvdimm iscsi_target_mod
target_core_mod x86_pkg_temp_thermal ib_iser intel_powerclamp libiscsi
coretemp scsi_transport_iscsi ib_umad rdma_cm ib_ipoib iw_cm kvm_intel
ib_cm ipmi_ssif kvm mlx5_ib i40e irqbypass crct10dif_pclmul crc32_pclmul
ghash_clmulni_intel ib_uverbs sha512_ssse3 iTCO_wdt rapl
iTCO_vendor_support mei_me intel_cstate ib_core joydev acpi_ipmi
intel_uncore mei ipmi_si pcspkr i2c_i801 dax_hmem isst_if_mmio
isst_if_mbox_pci wmi_bmof isst_if_common intel_pch_thermal i2c_smbus
ipmi_devintf ipmi_msghandler acpi_power_meter ip_tables xfs libcrc32c
sd_mod t10_pi crc64_rocksoft crc64 sg mgag200 mlx5_core drm_kms_helper
syscopyarea mlxfw sysfillrect
[ 6020.092063] sysimgblt tls i2c_algo_bit ahci drm_shmem_helper libahci
ice pci_hyperv_intf crc32c_intel drm psample megaraid_sas libata tg3 wmi
dm_mirror dm_region_hash dm_log dm_mod fuse [last unloaded: irdma]
[ 6020.092108] CPU: 82 PID: 10603 Comm: rping Kdump: loaded Tainted: G
S B 6.4.0-rc1+ #30
[ 6020.092115] Hardware name: Dell Inc. PowerEdge R750/06V45N, BIOS
1.2.4 05/28/2021
[ 6020.092119] RIP: 0010:warn_bogus_irq_restore+0x21/0x30
[ 6020.092126] Code: 90 90 90 90 90 90 90 90 90 80 3d 35 50 79 01 00 74
05 c3 cc cc cc cc 48 c7 c7 a0 d7 e9 ae c6 05 20 50 79 01 01 e8 1f 15 da
fe <0f> 0b c3 cc cc cc cc cc cc cc cc cc cc cc cc 90 90 90 90 90 90 90
[ 6020.092131] RSP: 0018:ff11000180e477e8 EFLAGS: 00010286
[ 6020.092137] RAX: 0000000000000000 RBX: 0000000000000000 RCX:
0000000000000000
[ 6020.092141] RDX: 0000000000000004 RSI: dffffc0000000000 RDI:
ffffffffb27b31c0
[ 6020.092144] RBP: ff110001175d69e8 R08: ffe21c02006d7f6a R09:
ffe21c02006d7f6a
[ 6020.092148] R10: ff110010036bfb4b R11: ffe21c02006d7f69 R12:
ff110001175d6a28
[ 6020.092152] R13: ff110001175d6a30 R14: ff110001175d69e8 R15:
0000000000000000
[ 6020.092155] FS: 00007f215281c740(0000) GS:ff11001003680000(0000)
knlGS:0000000000000000
[ 6020.092160] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 6020.092163] CR2: 00007f2147fffda0 CR3: 00000001a1b2c005 CR4:
0000000000771ee0
[ 6020.092167] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[ 6020.092170] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
0000000000000400
[ 6020.092173] PKRU: 55555554
[ 6020.092175] Call Trace:
[ 6020.092178] <TASK>
[ 6020.092181] _raw_spin_unlock_irqrestore+0x67/0x70
[ 6020.092190] ib_send_mad+0x3fa/0x7d0 [ib_core]
[ 6020.092299] ? __pfx_ib_send_mad+0x10/0x10 [ib_core]
[ 6020.092429] ib_post_send_mad+0x338/0x4c0 [ib_core]
[ 6020.092519] ib_send_cm_rep+0x4b0/0x790 [ib_cm]
[ 6020.092553] rdma_accept+0x432/0x550 [rdma_cm]
[ 6020.092585] ? __pfx_rdma_accept+0x10/0x10 [rdma_cm]
[ 6020.092613] ? do_raw_spin_unlock+0x97/0x130
[ 6020.092623] ? preempt_count_sub+0x14/0xc0
[ 6020.092632] ? _raw_spin_unlock+0x29/0x50
[ 6020.092637] ? ucma_get_ctx+0xab/0x180 [rdma_ucm]
[ 6020.092650] ? check_stack_object+0x22/0x70
[ 6020.092659] ucma_accept+0x1e7/0x2e0 [rdma_ucm]
[ 6020.092671] ? __pfx_ucma_accept+0x10/0x10 [rdma_ucm]
[ 6020.092683] ?
__pfx_ib_uverbs_handler_UVERBS_METHOD_INVOKE_WRITE+0x10/0x10 [ib_uverbs]
[ 6020.092720] ? _find_next_bit+0x37/0xc0
[ 6020.092741] ucma_write+0x139/0x1f0 [rdma_ucm]
[ 6020.092752] ? __pfx_ucma_write+0x10/0x10 [rdma_ucm]
[ 6020.092764] ? security_file_permission+0x4b/0x2b0
[ 6020.092774] vfs_write+0x161/0x740
[ 6020.092781] ? ib_uverbs_ioctl+0x17f/0x210 [ib_uverbs]
[ 6020.092815] ? __pfx_vfs_write+0x10/0x10
[ 6020.092822] ? __fget_files+0x158/0x230
[ 6020.092831] ? __fget_light+0xe2/0x100
[ 6020.092838] ksys_write+0x13f/0x160
[ 6020.092843] ? __pfx_ksys_write+0x10/0x10
[ 6020.092847] ? ktime_get_coarse_real_ts64+0x107/0x120
[ 6020.092854] ? ktime_get_coarse_real_ts64+0xaf/0x120
[ 6020.092863] do_syscall_64+0x37/0x90
[ 6020.092870] entry_SYSCALL_64_after_hwframe+0x72/0xdc
[ 6020.092877] RIP: 0033:0x7f2151e11847
[ 6020.092882] Code: c3 66 90 41 54 49 89 d4 55 48 89 f5 53 89 fb 48 83
ec 10 e8 1b fd ff ff 4c 89 e2 48 89 ee 89 df 41 89 c0 b8 01 00 00 00 0f
05 <48> 3d 00 f0 ff ff 77 35 44 89 c7 48 89 44 24 08 e8 54 fd ff ff 48
[ 6020.092886] RSP: 002b:00007ffc2439a0f0 EFLAGS: 00000293 ORIG_RAX:
0000000000000001
[ 6020.092892] RAX: ffffffffffffffda RBX: 0000000000000003 RCX:
00007f2151e11847
[ 6020.092896] RDX: 0000000000000130 RSI: 00007ffc2439a120 RDI:
0000000000000003
[ 6020.092899] RBP: 00007ffc2439a120 R08: 0000000000000000 R09:
0000000000000000
[ 6020.092902] R10: 00000000ffffffff R11: 0000000000000293 R12:
0000000000000130
[ 6020.092905] R13: 0000000000000011 R14: 0000000000000000 R15:
000055c0ea6ffa18
[ 6020.092914] </TASK>
[ 6020.092917] irq event stamp: 0
[ 6020.092919] hardirqs last enabled at (0): [<0000000000000000>] 0x0
[ 6020.092923] hardirqs last disabled at (0): [<ffffffffad94dae6>]
copy_process+0x13e6/0x3720
[ 6020.092931] softirqs last enabled at (0): [<ffffffffad94dae6>]
copy_process+0x13e6/0x3720
[ 6020.092936] softirqs last disabled at (0): [<0000000000000000>] 0x0
[ 6020.092939] ---[ end trace 0000000000000000 ]---
Zhu Yanjun
next reply other threads:[~2023-05-08 8:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-08 8:53 Zhu Yanjun [this message]
2023-05-08 8:57 ` [PATCH 1/1] kernel/fork: Fix the error "raw_local_irq_restore() Zhu Yanjun
2023-05-09 8:49 ` Zhu Yanjun
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=a694638f-9fb4-88b2-cbba-bb5de2aadc3e@linux.dev \
--to=yanjun.zhu@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=jgg@ziepe.ca \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.