CVE-2023-53099

Source
https://cve.org/CVERecord?id=CVE-2023-53099
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53099.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-53099
Downstream
Related
Published
2025-05-02T15:55:42.391Z
Modified
2026-04-11T12:46:41.159168Z
Summary
firmware: xilinx: don't make a sleepable memory allocation from an atomic context
Details

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

firmware: xilinx: don't make a sleepable memory allocation from an atomic context

The following issue was discovered using lockdep: [ 6.691371] BUG: sleeping function called from invalid context at include/linux/sched/mm.h:209 [ 6.694602] inatomic(): 1, irqsdisabled(): 128, non_block: 0, pid: 1, name: swapper/0 [ 6.702431] 2 locks held by swapper/0/1: [ 6.706300] #0: ffffff8800f6f188 (&dev->mutex){....}-{3:3}, at: __devicedriverlock+0x4c/0x90 [ 6.714900] #1: ffffffc009a2abb8 (enablelock){....}-{2:2}, at: clkenablelock+0x4c/0x140 [ 6.723156] irq event stamp: 304030 [ 6.726596] hardirqs last enabled at (304029): [<ffffffc008d17ee0>] rawspinunlockirqrestore+0xc0/0xd0 [ 6.736142] hardirqs last disabled at (304030): [<ffffffc00876bc5c>] clkenablelock+0xfc/0x140 [ 6.744742] softirqs last enabled at (303958): [<ffffffc0080904f0>] stext+0x4f0/0x894 [ 6.752655] softirqs last disabled at (303951): [<ffffffc0080e53b8>] irqexit+0x238/0x280 [ 6.760744] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G U 5.15.36 #2 [ 6.768048] Hardware name: xlnx,zynqmp (DT) [ 6.772179] Call trace: [ 6.774584] dumpbacktrace+0x0/0x300 [ 6.778197] showstack+0x18/0x30 [ 6.781465] dumpstacklvl+0xb8/0xec [ 6.785077] dumpstack+0x1c/0x38 [ 6.788345] ___might_sleep+0x1a8/0x2a0 [ 6.792129] __mightsleep+0x6c/0xd0 [ 6.795655] kmemcachealloctrace+0x270/0x3d0 [ 6.800127] do_featurecheckcall+0x100/0x220 [ 6.804513] zynqmppminvokefn+0x8c/0xb0 [ 6.808555] zynqmppmclockgetstate+0x90/0xe0 [ 6.813027] zynqmppllisenabled+0x8c/0x120 [ 6.817327] zynqmppllenable+0x38/0xc0 [ 6.821197] clkcoreenable+0x144/0x400 [ 6.825067] clkcoreenable+0xd4/0x400 [ 6.828851] clkcoreenable+0xd4/0x400 [ 6.832635] clkcoreenable+0xd4/0x400 [ 6.836419] clkcoreenable+0xd4/0x400 [ 6.840203] clkcoreenable+0xd4/0x400 [ 6.843987] clkcoreenable+0xd4/0x400 [ 6.847771] clkcoreenable+0xd4/0x400 [ 6.851555] clkcoreenablelock+0x24/0x50 [ 6.855683] clkenable+0x24/0x40 [ 6.858952] fclkprobe+0x84/0xf0 [ 6.862220] platformprobe+0x8c/0x110 [ 6.865918] reallyprobe+0x110/0x5f0 [ 6.869530] __driverprobedevice+0xcc/0x210 [ 6.873830] driverprobedevice+0x64/0x140 [ 6.877958] __driverattach+0x114/0x1f0 [ 6.881828] busforeachdev+0xe8/0x160 [ 6.885698] driverattach+0x34/0x50 [ 6.889224] busadddriver+0x228/0x300 [ 6.893008] driverregister+0xc0/0x1e0 [ 6.896792] _platformdriverregister+0x44/0x60 [ 6.901436] fclkdriverinit+0x1c/0x28 [ 6.905220] dooneinitcall+0x104/0x590 [ 6.909091] kernelinitfreeable+0x254/0x2bc [ 6.913390] kernelinit+0x24/0x130 [ 6.916831] retfromfork+0x10/0x20

Fix it by passing the GFP_ATOMIC gfp flag for the corresponding memory allocation.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53099.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
acfdd18591eaac25446e976a0c0d190f8b3dbfb1
Fixed
b37d3ccbd549494890672136a0e623eb010d46a7
Fixed
86afb633beaa02ee95b5126a14c9f22cfade4fd9
Fixed
162049c31eb64308afa22e341a257a723526eb5c
Fixed
9bbab2843f2d1337a268499a1c02b435d2985a17
Fixed
38ed310c22e7a0fc978b1f8292136a4a4a8b3051
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
a38a99930883fb1e24f2a34b78a05a6598e86150

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53099.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.10.0
Fixed
5.10.176
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.104
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.21
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.2.8

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53099.json"