{"id":"CVE-2026-98920","kind":"vulnerability","aliases":["CVE-2026-98920"],"related":[],"title":"Linux kernel: netfs direct mempool allocations missing memory allocation tagging","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfs: Fix missing alloc tagging of direct mempool allocations\n\nCommit 1d78d56c43ef (\"netfs: Fix folio_queue ENOMEM in writeback by\nadding a mempool\") added a mempool for the folio_queues and made the\nrequest, subrequest and folio_queue allocations distinguish between\nwriteback and everything else.  Writeback is part of memory reclaim\nand must not fail due to ENOMEM, so it allocates under GFP_NOFS\nthrough mempool_alloc(), which may dip into the pool's reserve and,\nif that runs empty, wait for elements to be returned.  The\nGFP_KERNEL paths, which can return -ENOMEM to their callers, invoke\nthe pool's ->alloc() callback directly instead.\n\nThe direct call, however, skips the alloc_hooks() wrapper that the\nmempool_alloc() macro provides.  The pool callbacks, mempool_alloc_slab()\nand mempool_kmalloc(), call kmem_cache_alloc_noprof() and kmalloc_noprof()\nand rely on current->alloc_tag having been set by the caller.  With\nCONFIG_MEM_ALLOC_PROFILING_DEBUG=y this leads to\n\n    current->alloc_tag not set\n    WARNING: ./include/linux/alloc_tag.h:161 at __alloc_tagging_slab_alloc_hook\n    alloc_tag was not set\n    WARNING: ./include/linux/alloc_tag.h:166 at __alloc_tagging_slab_free_hook\n\nat allocation and free time respectively, as reported when reading\nfiles on a CIFS mount.  The allocations are also missing from\n/proc/allocinfo.\n\nWrap the direct ->alloc() invocations in alloc_hooks() with a new\nmempool_alloc_noreserve() helper in include/linux/mempool.h, next to\nthe other alloc_hooks()-wrapped macros such as mempool_alloc().  The\nGFP_KERNEL paths keep their failable allocation semantics, they just\nget tagged now.","summary":"In the Linux kernel's netfs networking filesystem layer, allocations made directly through a mempool skip the allocation-tagging hook, causing kernel warnings with CONFIG_MEM_ALLOC_PROFILING_DEBUG enabled when reading files on a CIFS mount. The sources describe a correctness and debugging defect and do not describe an attacker gaining access or code execution.","severity":"unknown","cvss":null,"epss":0.00206,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["cifs","linux-kernel","netfs","runtime"],"not_affected_if":["default-config"],"how_to_check":"- unknown","fix":"- unknown","status":"open","published_at":"2026-10-23T13:17:12+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","triaged_at":"2026-10-25T04:58:21+00:00","updated_at":"2026-10-25T12:38:50+00:00","category":"runtime","confidence":0.4,"triage":{"at":"2026-10-25T04:58:21Z","model":"claude-haiku-5-5","output":{"fix":"- unknown","reach":"local","title":"Linux kernel: netfs direct mempool allocations missing memory allocation tagging","impact":"low","summary":"In the Linux kernel's netfs networking filesystem layer, allocations made directly through a mempool skip the allocation-tagging hook, causing kernel warnings with CONFIG_MEM_ALLOC_PROFILING_DEBUG enabled when reading files on a CIFS mount. The sources describe a correctness and debugging defect and do not describe an attacker gaining access or code execution.","category":"runtime","nicknames":[],"who_cares":["linux-kernel","cifs","netfs"],"confidence":0.4,"needs_auth":"unknown","worst_case":"unknown","analyst_note":"Check the NVD entry and the upstream kernel commit 1d78d56c43ef for whether any security impact beyond warnings and missing /proc/allocinfo entries is stated, and for the fixed stable kernel versions.","how_to_check":"- unknown","needs_analyst":true,"not_affected_if":["default-config"],"who_is_affected":"Linux kernel builds with CONFIG_MEM_ALLOC_PROFILING_DEBUG enabled that use netfs, such as CIFS mounts, are the systems where the warning appears. The sources do not describe exploitation, and systems without that debug option are not described as affected.","user_interaction":"unknown","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000651,"input_tokens":3926,"output_tokens":516,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-98920':13A,16A '/include/linux/alloc_tag.h':254C,268C '/proc/allocinfo':297C '161':255C '166':269C '1d78d56c43ef':100C 'access':76B 'add':109C,112C 'alloc':6A,9A,32B,41B,50B,93C,98C,127C,149C,155C,190C,200C,206C,213C,221C,230C,241C,249C,257C,260C,262C,271C,277C,292C,301C,304C,310C,319C,326C,334C 'allocation-tag':40B 'also':294C 'attack':74B 'cach':220C 'call':196C,218C 'callback':191C,211C 'caller':185C,237C 'caus':44B 'cif':17B,59B,289C 'code':78B 'commit':99C 'config':48B,239C 'correct':65B 'current':229C,248C 'cve':11A,14A 'debug':52B,67B,243C 'defect':68B 'describ':63B,72B 'dip':158C 'direct':4A,34B,96C,192C,195C,300C 'distinguish':128C 'due':144C 'element':171C 'els':133C 'empti':168C 'enabl':53B 'enomem':105C,146C,182C 'everyth':132C 'execut':79B 'fail':143C 'failabl':333C 'file':56B,286C 'filesystem':30B 'fix':91C,102C 'folio':103C,117C,125C 'follow':85C 'free':274C,279C 'gain':75B 'get':338C 'gfp':151C,176C,328C 'helper':312C 'hook':43B,201C,261C,275C,305C,320C 'howev':197C 'include/linux/mempool.h':314C 'instead':193C 'invoc':302C 'invok':186C 'keep':331C 'kernel':2A,20B,26B,45B,83C,177C,329C 'kmalloc':217C,224C 'kmem':219C 'layer':31B 'lead':246C 'linux':1A,19B,25B,82C 'linux-kernel':18B 'macro':207C,322C 'made':33B,120C 'may':157C 'mem':49B,240C 'memori':8A,138C 'mempool':5A,37B,97C,111C,114C,154C,205C,212C,216C,309C,325C 'miss':7A,92C,295C 'mount':60B,290C 'must':141C 'netf':3A,21B,28B,90C,101C 'network':29B 'new':308C 'next':315C 'nof':152C 'noprof':222C,225C 'noreserv':311C 'part':136C 'path':178C,330C 'pool':161C,188C,210C 'profil':51B,242C 'provid':208C 'queue':104C,118C,126C 'read':55B,285C 'reclaim':139C 'reli':227C 'report':283C 'request':122C 'reserv':163C 'resolv':89C 'respect':281C 'return':174C,181C 'run':167C 'runtim':22B 'semant':335C 'set':234C,252C,266C 'skip':38B,198C 'slab':214C,259C,273C 'sourc':62B 'subrequest':123C 'tag':10A,42B,94C,231C,250C,258C,263C,272C,339C 'time':280C 'vulner':86C 'wait':169C 'warn':46B,253C,267C 'wrap':298C,321C 'wrapper':202C 'writeback':107C,130C,134C 'y':244C","nicknames":[],"mitigations":[],"who_affected":"Linux kernel builds with CONFIG_MEM_ALLOC_PROFILING_DEBUG enabled that use netfs, such as CIFS mounts, are the systems where the warning appears. The sources do not describe exploitation, and systems without that debug option are not described as affected.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T13:17:12+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-98920","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-98920","severity":null,"published_at":"2026-10-23T13:17:12+00:00","modified_at":"2026-10-23T13:17:12+00:00","first_seen_at":"2026-10-23T21:57:33+00:00","fetched_at":"2026-10-23T22:29:03+00:00","note":null},{"source":"epss","external_id":"CVE-2026-98920","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-98920","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-25T12:38:50+00:00","fetched_at":"2026-10-25T12:38:50+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}