In the Linux kernel, the following vulnerability has been resolved:
net: hns3: do not allow call hns3_nic_net_open repeatedly
hns3_nic_net_open() is not allowed to called repeatly, but there is no checking for this. When doing device reset and setup tc concurrently, there is a small oppotunity to call hns3_nic_net_open repeatedly, and cause kernel bug by calling napi_enable twice.
The calltrace information is like below: [ 3078.222780] ------------[ cut here ]------------ [ 3078.230255] kernel BUG at net/core/dev.c:6991! [ 3078.236224] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP [ 3078.243431] Modules linked in: hns3 hclgevf hclge hnae3 vfio_iommu_type1 vfio_pci vfio_virqfd vfio pv680_mii(O) [ 3078.258880] CPU: 0 PID: 295 Comm: kworker/u8:5 Tainted: G O 5.14.0-rc4+ #1 [ 3078.269102] Hardware name: , BIOS KpxxxFPGA 1P B600 V181 08/12/2021 [ 3078.276801] Workqueue: hclge hclge_service_task [hclge] [ 3078.288774] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=--) [ 3078.296168] pc : napi_enable+0x80/0x84 tc qdisc sho[w 3d0e7v8 .e3t0h218 79] lr : hns3_nic_net_open+0x138/0x510 [hns3]
[ 3078.314771] sp : ffff8000108abb20 [ 3078.319099] x29: ffff8000108abb20 x28: 0000000000000000 x27: ffff0820a8490300 [ 3078.329121] x26: 0000000000000001 x25: ffff08209cfc6200 x24: 0000000000000000 [ 3078.339044] x23: ffff0820a8490300 x22: ffff08209cd76000 x21: ffff0820abfe3880 [ 3078.349018] x20: 0000000000000000 x19: ffff08209cd76900 x18: 0000000000000000 [ 3078.358620] x17: 0000000000000000 x16: ffffc816e1727a50 x15: 0000ffff8f4ff930 [ 3078.368895] x14: 0000000000000000 x13: 0000000000000000 x12: 0000259e9dbeb6b4 [ 3078.377987] x11: 0096a8f7e764eb40 x10: 634615ad28d3eab5 x9 : ffffc816ad8885b8 [ 3078.387091] x8 : ffff08209cfc6fb8 x7 : ffff0820ac0da058 x6 : ffff0820a8490344 [ 3078.396356] x5 : 0000000000000140 x4 : 0000000000000003 x3 : ffff08209cd76938 [ 3078.405365] x2 : 0000000000000000 x1 : 0000000000000010 x0 : ffff0820abfe38a0 [ 3078.414657] Call trace: [ 3078.418517] napi_enable+0x80/0x84 [ 3078.424626] hns3_reset_notify_up_enet+0x78/0xd0 [hns3] [ 3078.433469] hns3_reset_notify+0x64/0x80 [hns3] [ 3078.441430] hclge_notify_client+0x68/0xb0 [hclge] [ 3078.450511] hclge_reset_rebuild+0x524/0x884 [hclge] [ 3078.458879] hclge_reset_service_task+0x3c4/0x680 [hclge] [ 3078.467470] hclge_service_task+0xb0/0xb54 [hclge] [ 3078.475675] process_one_work+0x1dc/0x48c [ 3078.481888] worker_thread+0x15c/0x464 [ 3078.487104] kthread+0x160/0x170 [ 3078.492479] ret_from_fork+0x10/0x18 [ 3078.498785] Code: c8027c81 35ffffa2 d50323bf d65f03c0 (d4210000) [ 3078.506889] ---[ end trace 8ebe0340a1b0fb44 ]---
Once hns3_nic_net_open() is excute success, the flag HNS3_NIC_STATE_DOWN will be cleared. So add checking for this flag, directly return when HNS3_NIC_STATE_DOWN is no set.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-64k-develUpgrade kernel-debugUpgrade kernel-rt-coreUpgrade kernel-64k-modules-extraUpgrade python3-perfUpgrade kernel-rt-develUpgrade kernel-coreUpgrade kernel-tools-libsUpgrade rtlaUpgrade kernel-develUpgrade kernel-64kUpgrade kernel-debug-develUpgrade kernel-rt-debug-modulesUpgrade kernel-zfcpdumpUpgrade kernel-debug-uki-virtUpgrade kernel-64k-debug-modulesUpgrade kernel-64k-debug-develUpgrade kernel-debug-modules-coreUpgrade perfUpgrade rvUpgrade bpftoolUpgrade kernel-debug-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-debugUpgrade kernel-64k-debug-modules-coreUpgrade kernel-64k-modules-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-debug-coreUpgrade kernel-debug-modulesUpgrade kernel-cross-headersUpgrade kernel-toolsUpgrade kernel-rt-modulesUpgrade kernel-64k-debug-coreUpgrade kernel-64k-modulesUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-modules-extraUpgrade kernel-modules-extraUpgrade kernel-headersUpgrade kernel-abi-stablelistsUpgrade kernel-64k-debugUpgrade kernelUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-modulesUpgrade kernel-modules-coreUpgrade kernel-rt-debug-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-uki-virtUpgrade kernel-zfcpdump-develUpgrade kernel-docUpgrade kernel-debug-devel-matchedUpgrade kernel-devel-matchedUpgrade libperfUpgrade kernel-rt-modules-coreUpgrade kernel-tools-libs-develUpgrade kernel-64k-devel-matchedUpgrade kernel-debug-modules-extraUpgrade kernel-rtUpgrade kernel-zfcpdump-modulesUpgrade kernel-64k-coreUpgrade kernel-64k-debug-modules-extraUpgrade kernel-zfcpdump-core | Nov 4, 2024 | May 21, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernelUpgrade python3-perf | Nov 11, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libs | Nov 11, 2024 | May 21, 2024 |
| Oracle_linux | — | Upgrade kernel | Jul 9, 2024 | May 21, 2024 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Jun 27, 2024 | May 21, 2024 |
| Rocky_linux | — | Upgrade rtlaUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-tools-debuginfoUpgrade python3-perfUpgrade kernel-modules-extraUpgrade kernel-rt-kvmUpgrade kernel-rt-debugUpgrade kernel-develUpgrade perfUpgrade kernel-zfcpdump-develUpgrade kernel-rt-modules-extraUpgrade kernel-cross-headersUpgrade kernel-rt-debug-kvmUpgrade kernel-debug-modules-extraUpgrade libperf-debuginfoUpgrade kernel-toolsUpgrade kernel-modulesUpgrade kernel-debug-modules-coreUpgrade rvUpgrade kernel-rt-debug-debuginfoUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-debug-develUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-modulesUpgrade kernel-tools-libs-develUpgrade bpftool-debuginfoUpgrade kernel-headersUpgrade kernel-devel-matchedUpgrade libperfUpgrade kernel-rt-debug-modulesUpgrade kernelUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debuginfoUpgrade kernel-rt-debug-coreUpgrade kernel-debug-modulesUpgrade kernel-rtUpgrade kernel-debug-debuginfoUpgrade kernel-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-zfcpdumpUpgrade kernel-tools-libsUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-uki-virtUpgrade python3-perf-debuginfoUpgrade kernel-debug-coreUpgrade kernel-debugUpgrade kernel-debuginfoUpgrade bpftoolUpgrade kernel-debug-develUpgrade kernel-rt-develUpgrade kernel-zfcpdump-devel-matched | Jul 16, 2024 | May 21, 2024 |
| Suse | — | Upgrade dtb-xilinxUpgrade kernel-rt_debugUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-defaultUpgrade dtb-caviumUpgrade kernel-debug-develUpgrade dtb-allwinnerUpgrade kernel-azure-baseUpgrade kernel-default-livepatch-develUpgrade dtb-sprdUpgrade dtb-marvellUpgrade kernel-64kb-develUpgrade kernel-default-livepatchUpgrade kernel-64kbUpgrade kernel-64kb-extraUpgrade dlm-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade dlm-kmp-rtUpgrade kernel-rt-livepatchUpgrade kernel-64kb-optionalUpgrade kernel-devel-rtUpgrade kernel-docsUpgrade kernel-symsUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-azure-extraUpgrade kernel-debugUpgrade kernel-defaultUpgrade cluster-md-kmp-rtUpgrade gfs2-kmp-defaultUpgrade dtb-amazonUpgrade kernel-default-optionalUpgrade dtb-hisiliconUpgrade dtb-appleUpgrade kernel-kvmsmall-livepatch-develUpgrade kselftests-kmp-defaultUpgrade ocfs2-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade dtb-amdUpgrade gfs2-kmp-azureUpgrade ocfs2-kmp-64kbUpgrade kernel-default-develUpgrade kselftests-kmp-rtUpgrade kernel-rt-develUpgrade dtb-freescaleUpgrade kernel-64kb-livepatch-develUpgrade dtb-broadcomUpgrade dtb-socionextUpgrade kernel-default-baseUpgrade ocfs2-kmp-azureUpgrade kernel-docs-htmlUpgrade kernel-develUpgrade dtb-mediatekUpgrade dtb-renesasUpgrade gfs2-kmp-64kbUpgrade dlm-kmp-64kbUpgrade dtb-lgUpgrade kselftests-kmp-64kbUpgrade kernel-rt-extraUpgrade kernel-rt_debug-develUpgrade kernel-debug-livepatch-develUpgrade kernel-syms-azureUpgrade kernel-sourceUpgrade kernel-default-base-rebuildUpgrade kernel-azure-optionalUpgrade kernel-rtUpgrade kernel-azureUpgrade reiserfs-kmp-64kbUpgrade kernel-syms-rtUpgrade kernel-obs-qaUpgrade dtb-rockchipUpgrade kernel-debug-vdsoUpgrade kernel-zfcpdumpUpgrade kernel-rt-vdsoUpgrade cluster-md-kmp-azureUpgrade kernel-azure-develUpgrade kernel-rt-optionalUpgrade kernel-kvmsmall-develUpgrade kernel-macrosUpgrade kernel-azure-livepatch-develUpgrade kernel-default-extraUpgrade kernel-source-rtUpgrade dtb-amlogicUpgrade cluster-md-kmp-defaultUpgrade kernel-default-vdsoUpgrade kernel-default-manUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azure-vdsoUpgrade kernel-source-vanillaUpgrade dtb-alteraUpgrade reiserfs-kmp-azureUpgrade kernel-rt-livepatch-develUpgrade dtb-qcomUpgrade kernel-source-azureUpgrade ocfs2-kmp-rtUpgrade dtb-exynosUpgrade dtb-armUpgrade kernel-rt_debug-vdsoUpgrade kernel-devel-azureUpgrade dtb-apmUpgrade kernel-obs-buildUpgrade dtb-nvidiaUpgrade kernel-kvmsmallUpgrade kselftests-kmp-azureUpgrade gfs2-kmp-rt | Aug 9, 2024 | May 21, 2024 |
| Ubuntu | — | Upgrade linux-fipsUpgrade linux-raspi-5.4Upgrade linux-awsUpgrade linux-aws-5.4Upgrade linux-kvmUpgrade linux-raspiUpgrade linux-bluefieldUpgrade linux-oracle-5.4Upgrade linux-gcpUpgrade linux-azureUpgrade linuxUpgrade linux-gkeopUpgrade linux-azure-fipsUpgrade linux-azure-5.4Upgrade linux-oracleUpgrade linux-gcp-5.4Upgrade linux-ibmUpgrade linux-gcp-fipsUpgrade linux-aws-fipsUpgrade linux-hwe-5.4 | Nov 19, 2024 | May 21, 2024 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub