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

  scsi: mpi3mr: Fix target device refcount leak in mpi3mr_sas_port_add()

  mpi3mr_get_tgtdev_by_addr() increments the target device kref when it
  returns a device
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  scsi: mpi3mr: Fix target device refcount leak in mpi3mr_sas_port_add()

  mpi3mr_get_tgtdev_by_addr() increments the target device kref when it
  returns a device. If a sub…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= e22bae30667a7e74ed057e00fb6e8c79e0738de3 <
    040146f81d099006a354b0caacc7f01ca00f257e
  - >-
    Linux >= e22bae30667a7e74ed057e00fb6e8c79e0738de3 <
    06a7073b33b8f5cb0ee71e07dc669efffb1c7d58
  - >-
    Linux >= e22bae30667a7e74ed057e00fb6e8c79e0738de3 <
    1ccbe8c42009706af79e6629c70d42fc929aef2b
  - >-
    Linux >= e22bae30667a7e74ed057e00fb6e8c79e0738de3 <
    419d129f970aaa6567dbac366b0c93784bf9ec97
  - Linux 6.1
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T11:17:44.163'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-98128'
references:
  - url: 'https://git.kernel.org/stable/c/040146f81d099006a354b0caacc7f01ca00f257e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/06a7073b33b8f5cb0ee71e07dc669efffb1c7d58'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/1ccbe8c42009706af79e6629c70d42fc929aef2b'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/419d129f970aaa6567dbac366b0c93784bf9ec97'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-25T11:06:38.818Z'
---

## Overview

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

scsi: mpi3mr: Fix target device refcount leak in mpi3mr_sas_port_add()

mpi3mr_get_tgtdev_by_addr() increments the target device kref when it
returns a device. If a subsequent error triggers a goto out_fail after
the tgtdev reference is acquired, the reference is never released
because the out_fail path does not call mpi3mr_tgtdev_put(). This
prevents the target device structure from ever being freed.

Add a tgtdev put in the out_fail path, guarded by a NULL check since
tgtdev is only acquired for SAS_END_DEVICE types and the same cleanup
path is shared by earlier error cases where tgtdev is still NULL.

## Remediation

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