CVE-2022-50151 in Linux
要約
〜によって VulDB • 2026年06月08日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
usb: cdns3: ドライバロード時にランダムな警告メッセージが発生する問題を修正
警告ログ: [ 4.141392] Unexpected gfp: 0x4 (GFP_DMA32). Fixing up to gfp: 0xa20 (GFP_ATOMIC). Fix your code!
[ 4.150340] CPU: 1 PID: 175 Comm: 1-0050 Not tainted 5.15.5-00039-g2fd9ae1b568c #20
[ 4.158010] Hardware name: Freescale i.MX8QXP MEK (DT)
[ 4.163155] Call trace:
[ 4.165600] dump_backtrace+0x0/0x1b0
[ 4.169286] show_stack+0x18/0x68
[ 4.172611] dump_stack_lvl+0x68/0x84
[ 4.176286] dump_stack+0x18/0x34
[ 4.179613] kmalloc_fix_flags+0x60/0x88
[ 4.183550] new_slab+0x334/0x370
[ 4.186878] ___slab_alloc.part.108+0x4d4/0x748
[ 4.191419] __slab_alloc.isra.109+0x30/0x78
[ 4.195702] kmem_cache_alloc+0x40c/0x420
[ 4.199725] dma_pool_alloc+0xac/0x1f8
[ 4.203486] cdns3_allocate_trb_pool+0xb4/0xd0
pool_alloc_page(struct dma_pool *pool, gfp_t mem_flags) {
... page = kmalloc(sizeof(*page), mem_flags); page->vaddr = dma_alloc_coherent(pool->dev, pool->allocation, &page->dma, mem_flags); ... }
kmallocは、cdns3_allocate_trb_pool()から渡され、GFP_DMA32フラグを含むmem_flagsで呼び出されていました。 kmalloc_fix_flags()が警告を報告しています。
GFP_DMA32は全く有用ではありません。dma_alloc_coherent()はpool->devによってDMAメモリ領域を正しく処理します。GFP_DMA32は安全に削除できます。
If you want to get best quality of vulnerability data, you may have to visit VulDB.