CVE-2026-98920
CVE.org · Publicado
- Status do registro
- Publicado
- Ano do identificador (não é o ano de publicação)
- 2026
- Publicação na fonte
- Atualização na fonte
- Importado pelo cveboard
- Snapshot da fonte
- cve_2026-10-24_midnight_baseline ·
Texto da CNA em inglês
netfs: Fix missing alloc tagging of direct mempool allocations
In the Linux kernel, the following vulnerability has been resolved: netfs: Fix missing alloc tagging of direct mempool allocations Commit 1d78d56c43ef ("netfs: Fix folio_queue ENOMEM in writeback by adding a mempool") added a mempool for the folio_queues and made the request, subrequest and folio_queue allocations distinguish between writeback and everything else. Writeback is part of memory reclaim and must not fail due to ENOMEM, so it allocates under GFP_NOFS through mempool_alloc(), which may dip into the pool's reserve and, if that runs empty, wait for elements to be returned. The GFP_KERNEL paths, which can return -ENOMEM to their callers, invoke the pool's ->alloc() callback directly instead. The direct call, however, skips the alloc_hooks() wrapper that the mempool_alloc() macro provides. The pool callbacks, mempool_alloc_slab() and mempool_kmalloc(), call kmem_cache_alloc_noprof() and kmalloc_noprof() and rely on current->alloc_tag having been set by the caller. With CONFIG_MEM_ALLOC_PROFILING_DEBUG=y this leads to current->alloc_tag not set WARNING: ./include/linux/alloc_tag.h:161 at __alloc_tagging_slab_alloc_hook alloc_tag was not set WARNING: ./include/linux/alloc_tag.h:166 at __alloc_tagging_slab_free_hook at allocation and free time respectively, as reported when reading files on a CIFS mount. The allocations are also missing from /proc/allocinfo. Wrap the direct ->alloc() invocations in alloc_hooks() with a new mempool_alloc_noreserve() helper in include/linux/mempool.h, next to the other alloc_hooks()-wrapped macros such as mempool_alloc(). The GFP_KERNEL paths keep their failable allocation semantics, they just get tagged now.
Fatos de produtos e versões por escopo
Dados de correção desconhecidos; nenhuma versão corrigida é deduzida aqui. Dados ausentes não comprovam ausência de correção.
Exploração desconhecida; este catálogo não avalia exploração.
Linux
- Fornecedor
- Linux
- Produto
- Linux
- Plataformas
- Desconhecido
- Status padrão
unaffected
| Versão (version) | Status (status) | Esquema de versões (versionType) | Fim exclusivo (lessThan) | Fim inclusivo (lessThanOrEqual) | Mudanças de status (at → status) |
|---|---|---|---|---|---|
| 15ed8a9b7c63e9171f5139a6aaa1ffb61809861f | affected | git | 5c03da745171485fd181f17b69213464f6d05f3d | Indisponível | Nenhuma listada |
| 1d78d56c43ef3768183e8370e7367b162700e049 | affected | git | 37a2042748bc880df03ff8315db86ed82991fbb8 | Indisponível | Nenhuma listada |
| 1d78d56c43ef3768183e8370e7367b162700e049 | affected | git | b78b728e21c32ec4c330b299f657fb1eb02dffc2 | Indisponível | Nenhuma listada |
| b343252d6f536203dd0660f676190dcbf6d2ecdc | affected | git | Indisponível | Indisponível | Nenhuma listada |
| 3f6d7f8a5416d852648d15a05e895f1195ee8a85 | affected | git | Indisponível | Indisponível | Nenhuma listada |
| 6.12.114 | affected | semver | 6.13 | Indisponível | Nenhuma listada |
| 7.1.8 | affected | semver | 7.2 | Indisponível | Nenhuma listada |
Linux
- Fornecedor
- Linux
- Produto
- Linux
- Plataformas
- Desconhecido
- Status padrão
affected
| Versão (version) | Status (status) | Esquema de versões (versionType) | Fim exclusivo (lessThan) | Fim inclusivo (lessThanOrEqual) | Mudanças de status (at → status) |
|---|---|---|---|---|---|
| 7.2 | affected | Indisponível | Indisponível | Indisponível | Nenhuma listada |
| 0 | unaffected | semver | 7.2 | Indisponível | Nenhuma listada |
| 7.2.9 | unaffected | semver | Indisponível | 7.2.* | Nenhuma listada |
| 7.3 | unaffected | original_commit_for_fix | Indisponível | * | Nenhuma listada |