{"id":"CVE-2026-99158","kind":"vulnerability","aliases":["CVE-2026-99158"],"related":[],"title":"Linux kernel: false warning in ring buffer mmap reader under load","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nring-buffer: Fix false warning in ring_buffer_map_get_reader()\n\nThe mmap reader can warn when it catches up with a writer that is still\ncommitting events. rb_get_reader_page() returns NULL in this case, but\nring_buffer_map_get_reader() treats that result as an error.\n\nThe initial rb_per_cpu_empty() check filters out an empty buffer, but it\ndoes not guarantee that the next reader page has committed data. Writers\ndo not take reader_lock and can advance commit_page before publishing the\ncommitted length on the new page. rb_get_reader_page() can swap to that\npage, catch up with the writer and return NULL.\n\nHandle NULL through the existing no-data exit without warning. Remove the\ncaller's reader_page == commit_page check as well, since the reader-page\nhelper already handles that case. The existing metadata update and return\npath remain in place.","summary":"The Linux kernel's ring buffer mmap reader could emit a spurious kernel warning when it caught up with a writer still committing events. The fix treats that case as a normal no-data exit, so the warning no longer fires.","severity":"unknown","cvss":null,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["kernel","linux","runtime","tracing"],"not_affected_if":[],"how_to_check":null,"fix":null,"status":"open","published_at":"2026-10-28T11:17:36+00:00","first_seen_at":"2026-10-28T11:32:36+00:00","triaged_at":"2026-10-28T11:35:47+00:00","updated_at":"2026-10-28T11:35:47+00:00","category":"runtime","confidence":0.5,"triage":{"at":"2026-10-28T11:35:47Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"Linux kernel: false warning in ring buffer mmap reader under load","impact":"low","summary":"The Linux kernel's ring buffer mmap reader could emit a spurious kernel warning when it caught up with a writer still committing events. The fix treats that case as a normal no-data exit, so the warning no longer fires.","category":"runtime","nicknames":[],"who_cares":["linux","kernel","tracing"],"confidence":0.5,"needs_auth":"unknown","worst_case":"Spurious kernel warning in the log; no code execution described","analyst_note":"","how_to_check":"unknown","needs_analyst":false,"not_affected_if":[],"who_is_affected":"unknown","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"low"},"cost_usd":0.000498,"input_tokens":3514,"output_tokens":293,"severity_before":"unknown"},"analyst_status":null,"analyst_note":null,"search":"'-2026':13A,16A '-99158':14A,17A 'advanc':157C 'alreadi':214C 'buffer':7A,27B,76C,82C,114C,135C 'caller':199C 'case':50B,111C,217C 'catch':93C,178C 'caught':38B 'check':130C,205C 'commit':44B,101C,147C,158C,163C,203C 'could':30B 'cpu':128C 'cve':12A,15A 'data':56B,148C,193C 'emit':31B 'empti':129C,134C 'error':123C 'event':45B,102C 'exist':190C,219C 'exit':57B,194C 'fals':3A,78C 'filter':131C 'fire':63B 'fix':47B,77C 'follow':69C 'get':84C,104C,116C,170C 'guarante':140C 'handl':186C,215C 'helper':213C 'initi':125C 'kernel':2A,18B,24B,34B,67C 'length':164C 'linux':1A,19B,23B,66C 'load':11A 'lock':154C 'longer':62B 'map':83C,115C 'metadata':220C 'mmap':8A,28B,87C 'new':167C 'next':143C 'no-data':54B,191C 'normal':53B 'null':108C,185C,187C 'page':106C,145C,159C,168C,172C,177C,202C,204C,212C 'path':224C 'per':127C 'place':227C 'publish':161C 'rb':103C,126C,169C 'reader':9A,29B,85C,88C,105C,117C,144C,153C,171C,201C,211C 'reader-pag':210C 'remain':225C 'remov':197C 'resolv':73C 'result':120C 'return':107C,184C,223C 'ring':6A,26B,75C,81C,113C 'ring-buff':74C 'runtim':20B 'sinc':208C 'spurious':33B 'still':43B,100C 'swap':174C 'take':152C 'trace':21B 'treat':48B,118C 'updat':221C 'vulner':70C 'warn':4A,35B,60B,79C,90C,196C 'well':207C 'without':195C 'writer':42B,97C,149C,182C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-28T11:17:36+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-99158","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99158","severity":null,"published_at":"2026-10-28T11:17:36+00:00","modified_at":"2026-10-28T11:17:36+00:00","first_seen_at":"2026-10-28T11:32:36+00:00","fetched_at":"2026-10-28T11:32:36+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"}