In the Linux kernel, the following vulnerability has been resolved:
net: ethernet: mtk-star-emac: fix spinlock recursion issues on rx/tx poll
Use spinlockirqsave and spinunlockirqrestore instead of spinlock and spinunlock in mtkstaremac driver to avoid spinlock recursion occurrence that can happen when enabling the DMA interrupts again in rx/tx poll.
BUG: spinlock recursion on CPU#0, swapper/0/0
lock: 0xffff00000db9cf20, .magic: dead4ead, .owner: swapper/0/0,
.owner_cpu: 0
CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted
6.15.0-rc2-next-20250417-00001-gf6a27738686c-dirty #28 PREEMPT
Hardware name: MediaTek MT8365 Open Platform EVK (DT)
Call trace:
show_stack+0x18/0x24 (C)
dump_stack_lvl+0x60/0x80
dump_stack+0x18/0x24
spin_dump+0x78/0x88
do_raw_spin_lock+0x11c/0x120
_raw_spin_lock+0x20/0x2c
mtk_star_handle_irq+0xc0/0x22c [mtk_star_emac]
__handle_irq_event_percpu+0x48/0x140
handle_irq_event+0x4c/0xb0
handle_fasteoi_irq+0xa0/0x1bc
handle_irq_desc+0x34/0x58
generic_handle_domain_irq+0x1c/0x28
gic_handle_irq+0x4c/0x120
do_interrupt_handler+0x50/0x84
el1_interrupt+0x34/0x68
el1h_64_irq_handler+0x18/0x24
el1h_64_irq+0x6c/0x70
regmap_mmio_read32le+0xc/0x20 (P)
_regmap_bus_reg_read+0x6c/0xac
_regmap_read+0x60/0xdc
regmap_read+0x4c/0x80
mtk_star_rx_poll+0x2f4/0x39c [mtk_star_emac]
__napi_poll+0x38/0x188
net_rx_action+0x164/0x2c0
handle_softirqs+0x100/0x244
__do_softirq+0x14/0x20
____do_softirq+0x10/0x20
call_on_irq_stack+0x24/0x64
do_softirq_own_stack+0x1c/0x40
__irq_exit_rcu+0xd4/0x10c
irq_exit_rcu+0x10/0x1c
el1_interrupt+0x38/0x68
el1h_64_irq_handler+0x18/0x24
el1h_64_irq+0x6c/0x70
cpuidle_enter_state+0xac/0x320 (P)
cpuidle_enter+0x38/0x50
do_idle+0x1e4/0x260
cpu_startup_entry+0x34/0x3c
rest_init+0xdc/0xe0
console_on_rootfs+0x0/0x6c
__primary_switched+0x88/0x90
[
{
"id": "CVE-2025-37917-17c5a179",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cb10f17bddc415f30fbc00a4e2b490e0d94c462",
"target": {
"function": "mtk_star_tx_poll",
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"length": 756.0,
"function_hash": "152148833826970032975527113711457417750"
},
"signature_type": "Function"
},
{
"id": "CVE-2025-37917-2e34af72",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bedd287fdd3142dffad7ae2ac6ef15f4a2ad0629",
"target": {
"function": "mtk_star_tx_poll",
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"length": 756.0,
"function_hash": "152148833826970032975527113711457417750"
},
"signature_type": "Function"
},
{
"id": "CVE-2025-37917-2f7f9a3a",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@94107259f972d2fd896dbbcaa176b3b2451ff9e5",
"target": {
"function": "mtk_star_tx_poll",
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"length": 756.0,
"function_hash": "152148833826970032975527113711457417750"
},
"signature_type": "Function"
},
{
"id": "CVE-2025-37917-56d4f628",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@94107259f972d2fd896dbbcaa176b3b2451ff9e5",
"target": {
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"line_hashes": [
"4250281260331976271357395298094013312",
"19605600057119908646636833691524028550",
"82310299393074311048085175566667880215",
"216082822484542761239647817977155796080",
"219436739259268950771642236436106000914",
"198449628624540299601427560745982044820",
"239805639088169023682225144452296619896",
"55751740474253211949625124403837880865",
"74677796111648025731034827248594724337",
"65395238827215324748490380264464182402",
"265448563923127699352977283385924334382",
"175954810883840913468781617485144534187",
"38577303802555537002862725765508979547",
"188189280038914959977130723059532273306",
"152464398169770959164944378916762975320",
"259989577238370386798793261922547266496",
"285227863839643342550543044003555279794",
"252135604107343692441529626605283055334",
"3729863207546640234722630396267839889",
"179633555518665367028732648677282814735"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"id": "CVE-2025-37917-5ff8b714",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cb10f17bddc415f30fbc00a4e2b490e0d94c462",
"target": {
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"line_hashes": [
"4250281260331976271357395298094013312",
"19605600057119908646636833691524028550",
"82310299393074311048085175566667880215",
"216082822484542761239647817977155796080",
"219436739259268950771642236436106000914",
"198449628624540299601427560745982044820",
"239805639088169023682225144452296619896",
"55751740474253211949625124403837880865",
"74677796111648025731034827248594724337",
"65395238827215324748490380264464182402",
"265448563923127699352977283385924334382",
"175954810883840913468781617485144534187",
"38577303802555537002862725765508979547",
"188189280038914959977130723059532273306",
"152464398169770959164944378916762975320",
"259989577238370386798793261922547266496",
"285227863839643342550543044003555279794",
"252135604107343692441529626605283055334",
"3729863207546640234722630396267839889",
"179633555518665367028732648677282814735"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"id": "CVE-2025-37917-8a169a41",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d40bf73fa7f31eac2b0a7c9d85de67df82ee7f3",
"target": {
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"line_hashes": [
"4250281260331976271357395298094013312",
"19605600057119908646636833691524028550",
"82310299393074311048085175566667880215",
"216082822484542761239647817977155796080",
"219436739259268950771642236436106000914",
"198449628624540299601427560745982044820",
"239805639088169023682225144452296619896",
"55751740474253211949625124403837880865",
"74677796111648025731034827248594724337",
"65395238827215324748490380264464182402",
"265448563923127699352977283385924334382",
"175954810883840913468781617485144534187",
"38577303802555537002862725765508979547",
"188189280038914959977130723059532273306",
"152464398169770959164944378916762975320",
"259989577238370386798793261922547266496",
"285227863839643342550543044003555279794",
"252135604107343692441529626605283055334",
"3729863207546640234722630396267839889",
"179633555518665367028732648677282814735"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"id": "CVE-2025-37917-943698da",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bedd287fdd3142dffad7ae2ac6ef15f4a2ad0629",
"target": {
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"line_hashes": [
"4250281260331976271357395298094013312",
"19605600057119908646636833691524028550",
"82310299393074311048085175566667880215",
"216082822484542761239647817977155796080",
"219436739259268950771642236436106000914",
"198449628624540299601427560745982044820",
"239805639088169023682225144452296619896",
"55751740474253211949625124403837880865",
"74677796111648025731034827248594724337",
"65395238827215324748490380264464182402",
"265448563923127699352977283385924334382",
"175954810883840913468781617485144534187",
"38577303802555537002862725765508979547",
"188189280038914959977130723059532273306",
"152464398169770959164944378916762975320",
"259989577238370386798793261922547266496",
"285227863839643342550543044003555279794",
"252135604107343692441529626605283055334",
"3729863207546640234722630396267839889",
"179633555518665367028732648677282814735"
],
"threshold": 0.9
},
"signature_type": "Line"
},
{
"id": "CVE-2025-37917-96800866",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7cb10f17bddc415f30fbc00a4e2b490e0d94c462",
"target": {
"function": "mtk_star_rx_poll",
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"length": 324.0,
"function_hash": "289207951298670175318784042489852514488"
},
"signature_type": "Function"
},
{
"id": "CVE-2025-37917-ceceb874",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@94107259f972d2fd896dbbcaa176b3b2451ff9e5",
"target": {
"function": "mtk_star_rx_poll",
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"length": 324.0,
"function_hash": "289207951298670175318784042489852514488"
},
"signature_type": "Function"
},
{
"id": "CVE-2025-37917-d06dbba2",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bedd287fdd3142dffad7ae2ac6ef15f4a2ad0629",
"target": {
"function": "mtk_star_rx_poll",
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"length": 324.0,
"function_hash": "289207951298670175318784042489852514488"
},
"signature_type": "Function"
},
{
"id": "CVE-2025-37917-d100b2ee",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d40bf73fa7f31eac2b0a7c9d85de67df82ee7f3",
"target": {
"function": "mtk_star_rx_poll",
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"length": 324.0,
"function_hash": "289207951298670175318784042489852514488"
},
"signature_type": "Function"
},
{
"id": "CVE-2025-37917-f70884ff",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d40bf73fa7f31eac2b0a7c9d85de67df82ee7f3",
"target": {
"function": "mtk_star_tx_poll",
"file": "drivers/net/ethernet/mediatek/mtk_star_emac.c"
},
"digest": {
"length": 756.0,
"function_hash": "152148833826970032975527113711457417750"
},
"signature_type": "Function"
}
]