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

  most: usb: hdm_probe: Fix calling put_device() before device initialization

  The early error path in hdm_probe() can jump to err_free_mdev before
  &mdev->dev has been in…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  most: usb: hdm_probe: Fix calling put_device() before device initialization

  The early error path in hdm_probe() can jump to err_free_mdev before
  &mdev->dev has been in…
severity: none
published: '2025-12-16'
updated: '2026-10-14'
sourceUpdated: '2026-10-14T13:10:00.187'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-68249'
references:
  - url: 'https://git.kernel.org/stable/c/3509c748e79435d09e730673c8c100b7f0ebc87c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/4af0eedbdb4df7936bf43a28e31af232744d2620'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6fb8fbc0aa542af5bf0fed94fa6b0edf18144f95'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/7d851f746067b8ee5bac9c262f326ace0a6ea253'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a8cc9e5fcb0e2eef21513a4fec888f5712cb8162'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ad2be44882716dc3589fbc5572cc13f88ead6b24'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c400410fe0580dd6118ae8d60287ac9ce71a65fd'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00191
epssPercentile: 0.0813
ingestedAt: '2026-10-14T13:30:58.466Z'
---

## Overview

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

most: usb: hdm_probe: Fix calling put_device() before device initialization

The early error path in hdm_probe() can jump to err_free_mdev before
&mdev->dev has been initialized with device_initialize(). Calling
put_device(&mdev->dev) there triggers a device core WARN and ends up
invoking kref_put(&kobj->kref, kobject_release) on an uninitialized
kobject.

In this path the private struct was only kmalloc'ed and the intended
release is effectively kfree(mdev) anyway, so free it directly instead
of calling put_device() on an uninitialized device.

This removes the WARNING and fixes the pre-initialization error path.

## Remediation

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