CVE-2022-50171

CVE-2022-50171

High · published June 18, 2025

CVSS v3.1
7.5
EPSS
0%
Percentile
29.5
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

crypto: hisilicon/sec - don't sleep when in softirq

When kunpeng920 encryption driver is used to deencrypt and decrypt

packets during the softirq, it is not allowed to use mutex lock. The

kernel will report the following error:

BUG: scheduling while atomic: swapper/57/0/0x00000300

Call trace:

dump_backtrace+0x0/0x1e4

show_stack+0x20/0x2c

dump_stack+0xd8/0x140

__schedule_bug+0x68/0x80

__schedule+0x728/0x840

schedule+0x50/0xe0

schedule_preempt_disabled+0x18/0x24

__mutex_lock.constprop.0+0x594/0x5dc

__mutex_lock_slowpath+0x1c/0x30

mutex_lock+0x50/0x60

sec_request_init+0x8c/0x1a0 [hisi_sec2]

sec_process+0x28/0x1ac [hisi_sec2]

sec_skcipher_crypto+0xf4/0x1d4 [hisi_sec2]

sec_skcipher_encrypt+0x1c/0x30 [hisi_sec2]

crypto_skcipher_encrypt+0x2c/0x40

crypto_authenc_encrypt+0xc8/0xfc [authenc]

crypto_aead_encrypt+0x2c/0x40

echainiv_encrypt+0x144/0x1a0 [echainiv]

crypto_aead_encrypt+0x2c/0x40

esp_output_tail+0x348/0x5c0 [esp4]

esp_output+0x120/0x19c [esp4]

xfrm_output_one+0x25c/0x4d4

xfrm_output_resume+0x6c/0x1fc

xfrm_output+0xac/0x3c0

xfrm4_output+0x64/0x130

ip_build_and_send_pkt+0x158/0x20c

tcp_v4_send_synack+0xdc/0x1f0

tcp_conn_request+0x7d0/0x994

tcp_v4_conn_request+0x58/0x6c

tcp_v6_conn_request+0xf0/0x100

tcp_rcv_state_process+0x1cc/0xd60

tcp_v4_do_rcv+0x10c/0x250

tcp_v4_rcv+0xfc4/0x10a4

ip_protocol_deliver_rcu+0xf4/0x200

ip_local_deliver_finish+0x58/0x70

ip_local_deliver+0x68/0x120

ip_sublist_rcv_finish+0x70/0x94

ip_list_rcv_finish.constprop.0+0x17c/0x1d0

ip_sublist_rcv+0x40/0xb0

ip_list_rcv+0x140/0x1dc

__netif_receive_skb_list_core+0x154/0x28c

__netif_receive_skb_list+0x120/0x1a0

netif_receive_skb_list_internal+0xe4/0x1f0

napi_complete_done+0x70/0x1f0

gro_cell_poll+0x9c/0xb0

napi_poll+0xcc/0x264

net_rx_action+0xd4/0x21c

__do_softirq+0x130/0x358

irq_exit+0x11c/0x13c

__handle_domain_irq+0x88/0xf0

gic_handle_irq+0x78/0x2c0

el1_irq+0xb8/0x140

arch_cpu_idle+0x18/0x40

default_idle_call+0x5c/0x1c0

cpuidle_idle_call+0x174/0x1b0

do_idle+0xc8/0x160

cpu_startup_entry+0x30/0x11c

secondary_start_kernel+0x158/0x1e4

softirq: huh, entered softirq 3 NET_RX 0000000093774ee4 with

preempt_count 00000100, exited with fffffe00?

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00368 · 29.5th percentile
Published
2025-06-18T15:15Z
Affected products (4)
ProductVersionsFixed in
linux/linux_kernel≥ 5.5, < 5.10.1375.10.137
linux/linux_kernel≥ 5.11, < 5.15.615.15.61
linux/linux_kernel≥ 5.16, < 5.18.185.18.18
linux/linux_kernel≥ 5.19, < 5.19.25.19.2
References (5)
EPSS history
Timeline
  • 18 JUN 11:03Z
    crypto: hisilicon/sec - don't sleep when in softirq
    cvelistv5