← Back to CVE Explorer

CVE-2025-40125

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: blk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx In __blk_mq_update_nr_hw_queues() the return value of blk_mq_sysfs_register_hctxs() is not checked. If sysfs creation for hctx fails, later changing the number of hw_queues or removing disk will trigger the following warning: kernfs: can not remove 'nr_tags', no directory WARNING: CPU: 2 PID: 637 at fs/kernfs/dir.c:1707 kernfs_remove_by_name_ns+0x13f/0x160 Call Trace: remove_files.isra.1+0x38/0xb0 sysfs_remove_group+0x4d/0x100 sysfs_remove_groups+0x31/0x60 __kobject_del+0x23/0xf0 kobject_del+0x17/0x40 blk_mq_unregister_hctx+0x5d/0x80 blk_mq_sysfs_unregister_hctxs+0x94/0xd0 blk_mq_update_nr_hw_queues+0x124/0x760 nullb_update_nr_hw_queues+0x71/0xf0 [null_blk] nullb_device_submit_queues_store+0x92/0x120 [null_blk] kobjct_del() was called unconditionally even if sysfs creation failed. Fix it by checkig the kobject creation statusbefore deleting it.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Deferred
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-11-12 11:15:42.043000
Last modified
2026-10-19 21:10:00.160000
View original CVE JSON
{
  "id": "CVE-2025-40125",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2025-11-12T11:15:42.043",
  "lastModified": "2026-10-19T21:10:00.160",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nblk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx\n\nIn __blk_mq_update_nr_hw_queues() the return value of\nblk_mq_sysfs_register_hctxs() is not checked. If sysfs creation for hctx\nfails, later changing the number of hw_queues or removing disk will\ntrigger the following warning:\n\n  kernfs: can not remove 'nr_tags', no directory\n  WARNING: CPU: 2 PID: 637 at fs/kernfs/dir.c:1707 kernfs_remove_by_name_ns+0x13f/0x160\n  Call Trace:\n   remove_files.isra.1+0x38/0xb0\n   sysfs_remove_group+0x4d/0x100\n   sysfs_remove_groups+0x31/0x60\n   __kobject_del+0x23/0xf0\n   kobject_del+0x17/0x40\n   blk_mq_unregister_hctx+0x5d/0x80\n   blk_mq_sysfs_unregister_hctxs+0x94/0xd0\n   blk_mq_update_nr_hw_queues+0x124/0x760\n   nullb_update_nr_hw_queues+0x71/0xf0 [null_blk]\n   nullb_device_submit_queues_store+0x92/0x120 [null_blk]\n\nkobjct_del() was called unconditionally even if sysfs creation failed.\nFix it by checkig the kobject creation statusbefore deleting it."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nblk-mq: verificar el estado kobject state_in_sysfs antes de eliminar en blk_mq_unregister_hctx\n\nEn __blk_mq_update_nr_hw_queues() no se verifica el valor de retorno de blk_mq_sysfs_register_hctxs(). Si la creación de sysfs para hctx falla, cambiar posteriormente el número de hw_queues o eliminar el disco activará la siguiente advertencia:\n\n  kernfs: no se puede eliminar 'nr_tags', no hay directorio\n  ADVERTENCIA: CPU: 2 PID: 637 en fs/kernfs/dir.c:1707 kernfs_remove_by_name_ns+0x13f/0x160\n  Rastreo de llamadas:\n   remove_files.isra.1+0x38/0xb0\n   sysfs_remove_group+0x4d/0x100\n   sysfs_remove_groups+0x31/0x60\n   __kobject_del+0x23/0xf0\n   kobject_del+0x17/0x40\n   blk_mq_unregister_hctx+0x5d/0x80\n   blk_mq_sysfs_unregister_hctxs+0x94/0xd0\n   blk_mq_update_nr_hw_queues+0x124/0x760\n   nullb_update_nr_hw_queues+0x71/0xf0 [null_blk]\n   nullb_device_submit_queues_store+0x92/0x120 [null_blk]\n\nkobjct_del() fue llamado incondicionalmente incluso si la creación de sysfs falló. Corregirlo verificando el estado de creación del kobject antes de eliminarlo."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "block/blk-mq-sysfs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "477e19dedc9d3e1f4443a1d4ae00572a988120ea",
              "lessThan": "a8c53553f1833cc2d14175d2d72cf37193a01898",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "477e19dedc9d3e1f4443a1d4ae00572a988120ea",
              "lessThan": "cc14ea21c4e658814d737ed4dedde6cd626a15ad",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "477e19dedc9d3e1f4443a1d4ae00572a988120ea",
              "lessThan": "4b97e99b87a773d52699521d40864f3ec888e9a6",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "477e19dedc9d3e1f4443a1d4ae00572a988120ea",
              "lessThan": "6e7dadc5763c48eb3b9b91265a21f312599ebb2c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "477e19dedc9d3e1f4443a1d4ae00572a988120ea",
              "lessThan": "06c4826b1d900611096e4621e93133db57e13911",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "477e19dedc9d3e1f4443a1d4ae00572a988120ea",
              "lessThan": "babc634e9fe2803962dba98a07587e835dbc0731",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "477e19dedc9d3e1f4443a1d4ae00572a988120ea",
              "lessThan": "d5ddd76ee52bdc16e9f8b1e7791291e785dab032",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "477e19dedc9d3e1f4443a1d4ae00572a988120ea",
              "lessThan": "4c7ef92f6d4d08a27d676e4c348f4e2922cab3ed",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "block/blk-mq-sysfs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "4.20",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "4.20",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.4.301",
              "lessThanOrEqual": "5.4.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.246",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.195",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.156",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.112",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.53",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.17.3",
              "lessThanOrEqual": "6.17.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/06c4826b1d900611096e4621e93133db57e13911",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4b97e99b87a773d52699521d40864f3ec888e9a6",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4c7ef92f6d4d08a27d676e4c348f4e2922cab3ed",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6e7dadc5763c48eb3b9b91265a21f312599ebb2c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/a8c53553f1833cc2d14175d2d72cf37193a01898",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/babc634e9fe2803962dba98a07587e835dbc0731",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/cc14ea21c4e658814d737ed4dedde6cd626a15ad",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/d5ddd76ee52bdc16e9f8b1e7791291e785dab032",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}