---
id: CVE-2026-46165
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  openvswitch: vport: fix self-deadlock on release of tunnel ports

  vports are used concurrently and protected by RCU, so netdev_put()
  must happen after the RCU grace per…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  openvswitch: vport: fix self-deadlock on release of tunnel ports

  vports are used concurrently and protected by RCU, so netdev_put()
  must happen after the RCU grace per…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-667
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 6.1.168, < 6.1.175'
  - 'linux_kernel >= 6.6.131, < 6.6.140'
  - 'linux_kernel >= 6.12.80, < 6.12.88'
  - 'linux_kernel >= 6.18.21, < 6.18.30'
  - 'linux_kernel >= 6.19.11, < 7.0'
  - 'linux_kernel >= 7.0.1, < 7.0.7'
  - linux_kernel = 7.0
  - linux_kernel = 7.1
patched:
  - linux_kernel 7.0.7
published: '2026-05-28'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T02:19:47.633'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-46165'
references:
  - url: 'https://git.kernel.org/stable/c/366c482965c673565ecb8bcfb15d5548f13a6a10'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/3df75fff46b1517eb479d8e6b8e3500763715dd0'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6522d59fb7de55ce0f0f285d962243ddffebb01f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8ae6c15fc473c9ad03b0173330cce9a092c76154'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/aa69918bd418e700309fdd08509dba324fb24296'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c741433f6c8dcdecd1d9549d89053761fd1ea413'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-784472.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.00125
epssPercentile: 0.02014
ingestedAt: '2026-10-15T03:30:12.892Z'
---

## Overview

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

openvswitch: vport: fix self-deadlock on release of tunnel ports

vports are used concurrently and protected by RCU, so netdev_put()
must happen after the RCU grace period.  So, either in an RCU call or
after the synchronize_net().  The rtnl_delete_link() must happen under
RTNL and so can't be executed in RCU context.  Calling synchronize_net()
while holding RTNL is not a good idea for performance and system
stability under load in general, so calling netdev_put() in RCU call
is the right solution here.

However,
when the device is deleted, rtnl_unlock() will call netdev_run_todo()
and block until all the references are gone.  In the current code this
means that we never reach the call_rcu() and the vport is never freed
and the reference is never released, causing a self-deadlock on device
removal.

Fix that by moving the rcu_call() before the rtnl_unlock(), so the
scheduled RCU callback will be executed when synchronize_net() is
called from the rtnl_unlock()->netdev_run_todo() while the RTNL itself
is already released.

## Affected

- `linux_kernel >= 6.1.168, < 6.1.175`
- `linux_kernel >= 6.6.131, < 6.6.140`
- `linux_kernel >= 6.12.80, < 6.12.88`
- `linux_kernel >= 6.18.21, < 6.18.30`
- `linux_kernel >= 6.19.11, < 7.0`
- `linux_kernel >= 7.0.1, < 7.0.7`
- `linux_kernel = 7.0`
- `linux_kernel = 7.1`

## Remediation

Upgrade past the affected range:

- `linux_kernel 7.0.7`
