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

  media: i2c: ov7740: fix use-after-destroy in remove

  The ov7740_remove() function had a severe teardown order bug where it
  destroyed the driver's mutex before freeing t…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  media: i2c: ov7740: fix use-after-destroy in remove

  The ov7740_remove() function had a severe teardown order bug where it
  destroyed the driver's mutex before freeing t…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 39c5c4471b8d793daf868bd004e56ed420e89707 <
    9e4693436c7dcf8584002500ce4b434b79bbf9ed
  - >-
    Linux >= 39c5c4471b8d793daf868bd004e56ed420e89707 <
    81e9765878d3ac8ad18e3a683332b5d6bc3a0e33
  - >-
    Linux >= 39c5c4471b8d793daf868bd004e56ed420e89707 <
    8a02ee6c1c4e88f3a0442bd60d3c77db9a30db5e
  - >-
    Linux >= 39c5c4471b8d793daf868bd004e56ed420e89707 <
    7512838a19af0a284a58435292243fad21e57ff1
  - >-
    Linux >= 39c5c4471b8d793daf868bd004e56ed420e89707 <
    25e2505866c577db2661e4d431f0907c6ec9a3b4
  - >-
    Linux >= 39c5c4471b8d793daf868bd004e56ed420e89707 <
    af81f35e4f429e769b784754e1aa4d7a922470ac
  - >-
    Linux >= 39c5c4471b8d793daf868bd004e56ed420e89707 <
    09453b467990e8ef8fe09f45a685f9a625248d33
  - >-
    Linux >= 39c5c4471b8d793daf868bd004e56ed420e89707 <
    5d1b3dea5a44124bab6c14a2d71b977dabed54e7
  - Linux 4.16
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T15:18:15.230'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89887'
references:
  - url: 'https://git.kernel.org/stable/c/09453b467990e8ef8fe09f45a685f9a625248d33'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/25e2505866c577db2661e4d431f0907c6ec9a3b4'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5d1b3dea5a44124bab6c14a2d71b977dabed54e7'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7512838a19af0a284a58435292243fad21e57ff1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/81e9765878d3ac8ad18e3a683332b5d6bc3a0e33'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8a02ee6c1c4e88f3a0442bd60d3c77db9a30db5e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/9e4693436c7dcf8584002500ce4b434b79bbf9ed'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/af81f35e4f429e769b784754e1aa4d7a922470ac'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:53.983Z'
epss: 0.00176
epssPercentile: 0.0626
---

## Overview

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

media: i2c: ov7740: fix use-after-destroy in remove

The ov7740_remove() function had a severe teardown order bug where it
destroyed the driver's mutex before freeing the V4L2 control handler
which relies on that mutex, leading to a use-after-destroy kernel panic.
Furthermore, the driver explicitly called v4l2_ctrl_handler_free() and
mutex_destroy() sequentially, but then called ov7740_free_controls()
which invokes both of them a second time, resulting in a double-free.

This patch fixes the issue by unregistering the subdevice first, and
relying exclusively on ov7740_free_controls() to safely tear down the
mutex and control handler in the correct order.

## Remediation

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