---
id: CVE-2026-98787
title: 'bpf: Fix missing migration protection in __rhtab_map_lookup_and_delete_batch()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  bpf: Fix missing migration protection in __rhtab_map_lookup_and_delete_batch()

  bpf_mem_cache_free_rcu() uses this_cpu_ptr() which requires migration
  to be disabled. Al…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 818e0084822742fc00eacbf5df3476a5e72c7d0e <
    94f41ec5fa578765b74ad5736c2f029e7aabc46d
  - >-
    Linux >= 818e0084822742fc00eacbf5df3476a5e72c7d0e <
    de020dc8049bfb2b22e3b6d99c031feb2e22d112
  - Linux 7.2
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:48:23.947Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98787'
references:
  - url: 'https://git.kernel.org/stable/c/94f41ec5fa578765b74ad5736c2f029e7aabc46d'
  - url: 'https://git.kernel.org/stable/c/de020dc8049bfb2b22e3b6d99c031feb2e22d112'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.486Z'
---

## Overview

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

bpf: Fix missing migration protection in __rhtab_map_lookup_and_delete_batch()

bpf_mem_cache_free_rcu() uses this_cpu_ptr() which requires migration
to be disabled. All callers of rhtab_delete_elem() disable migration
except __rhtab_map_lookup_and_delete_batch(), which calls it under
rcu_read_lock() only.

On CONFIG_PREEMPT_RCU, rcu_read_lock() does not disable preemption or
migration, so the task can migrate between CPUs during the delete loop,
causing this_cpu_ptr() to trigger:

  BUG: using smp_processor_id() in preemptible [00000000] code

Fix by wrapping the delete loop in migrate_disable()/migrate_enable()
in __rhtab_map_lookup_and_delete_batch(), matching the migration
protection that the other callers already provide.

## Affected

- `Linux >= 818e0084822742fc00eacbf5df3476a5e72c7d0e < 94f41ec5fa578765b74ad5736c2f029e7aabc46d`
- `Linux >= 818e0084822742fc00eacbf5df3476a5e72c7d0e < de020dc8049bfb2b22e3b6d99c031feb2e22d112`
- `Linux 7.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
