CVE-2023-53475 (GCVE-0-2023-53475)
Vulnerability from cvelistv5
Published
2025-10-01 11:42
Modified
2025-10-01 11:42
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: usb: xhci: tegra: fix sleep in atomic call When we set the dual-role port to Host mode, we observed the following splat: [ 167.057718] BUG: sleeping function called from invalid context at include/linux/sched/mm.h:229 [ 167.057872] Workqueue: events tegra_xusb_usb_phy_work [ 167.057954] Call trace: [ 167.057962] dump_backtrace+0x0/0x210 [ 167.057996] show_stack+0x30/0x50 [ 167.058020] dump_stack_lvl+0x64/0x84 [ 167.058065] dump_stack+0x14/0x34 [ 167.058100] __might_resched+0x144/0x180 [ 167.058140] __might_sleep+0x64/0xd0 [ 167.058171] slab_pre_alloc_hook.constprop.0+0xa8/0x110 [ 167.058202] __kmalloc_track_caller+0x74/0x2b0 [ 167.058233] kvasprintf+0xa4/0x190 [ 167.058261] kasprintf+0x58/0x90 [ 167.058285] tegra_xusb_find_port_node.isra.0+0x58/0xd0 [ 167.058334] tegra_xusb_find_port+0x38/0xa0 [ 167.058380] tegra_xusb_padctl_get_usb3_companion+0x38/0xd0 [ 167.058430] tegra_xhci_id_notify+0x8c/0x1e0 [ 167.058473] notifier_call_chain+0x88/0x100 [ 167.058506] atomic_notifier_call_chain+0x44/0x70 [ 167.058537] tegra_xusb_usb_phy_work+0x60/0xd0 [ 167.058581] process_one_work+0x1dc/0x4c0 [ 167.058618] worker_thread+0x54/0x410 [ 167.058650] kthread+0x188/0x1b0 [ 167.058672] ret_from_fork+0x10/0x20 The function tegra_xusb_padctl_get_usb3_companion eventually calls tegra_xusb_find_port and this in turn calls kasprintf which might sleep and so cannot be called from an atomic context. Fix this by moving the call to tegra_xusb_padctl_get_usb3_companion to the tegra_xhci_id_work function where it is really needed.
Impacted products
Vendor Product Version
Linux Linux Version: f836e7843036fbf34320356e156cd4267fa5bfa2
Version: f836e7843036fbf34320356e156cd4267fa5bfa2
Version: f836e7843036fbf34320356e156cd4267fa5bfa2
Version: f836e7843036fbf34320356e156cd4267fa5bfa2
Version: f836e7843036fbf34320356e156cd4267fa5bfa2
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/host/xhci-tegra.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b4b4f17aa46c025da77aed5133b08971959c9684",
              "status": "affected",
              "version": "f836e7843036fbf34320356e156cd4267fa5bfa2",
              "versionType": "git"
            },
            {
              "lessThan": "1122474b757a5dd8b2b50008a97f33cdb10dff6e",
              "status": "affected",
              "version": "f836e7843036fbf34320356e156cd4267fa5bfa2",
              "versionType": "git"
            },
            {
              "lessThan": "130c61c516cd0684282a8f6ab163281d60642fc5",
              "status": "affected",
              "version": "f836e7843036fbf34320356e156cd4267fa5bfa2",
              "versionType": "git"
            },
            {
              "lessThan": "1fe6015aa92cc0dfd875c1d3c7c1750a1b0767d9",
              "status": "affected",
              "version": "f836e7843036fbf34320356e156cd4267fa5bfa2",
              "versionType": "git"
            },
            {
              "lessThan": "4c7f9d2e413dc06a157c4e5dccde84aaf4655eb3",
              "status": "affected",
              "version": "f836e7843036fbf34320356e156cd4267fa5bfa2",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/host/xhci-tegra.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.7"
            },
            {
              "lessThan": "5.7",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.178",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.107",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.24",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.2.*",
              "status": "unaffected",
              "version": "6.2.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.178",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.107",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.24",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.2.11",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.3",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: xhci: tegra: fix sleep in atomic call\n\nWhen we set the dual-role port to Host mode, we observed the following\nsplat:\n[  167.057718] BUG: sleeping function called from invalid context at\ninclude/linux/sched/mm.h:229\n[  167.057872] Workqueue: events tegra_xusb_usb_phy_work\n[  167.057954] Call trace:\n[  167.057962]  dump_backtrace+0x0/0x210\n[  167.057996]  show_stack+0x30/0x50\n[  167.058020]  dump_stack_lvl+0x64/0x84\n[  167.058065]  dump_stack+0x14/0x34\n[  167.058100]  __might_resched+0x144/0x180\n[  167.058140]  __might_sleep+0x64/0xd0\n[  167.058171]  slab_pre_alloc_hook.constprop.0+0xa8/0x110\n[  167.058202]  __kmalloc_track_caller+0x74/0x2b0\n[  167.058233]  kvasprintf+0xa4/0x190\n[  167.058261]  kasprintf+0x58/0x90\n[  167.058285]  tegra_xusb_find_port_node.isra.0+0x58/0xd0\n[  167.058334]  tegra_xusb_find_port+0x38/0xa0\n[  167.058380]  tegra_xusb_padctl_get_usb3_companion+0x38/0xd0\n[  167.058430]  tegra_xhci_id_notify+0x8c/0x1e0\n[  167.058473]  notifier_call_chain+0x88/0x100\n[  167.058506]  atomic_notifier_call_chain+0x44/0x70\n[  167.058537]  tegra_xusb_usb_phy_work+0x60/0xd0\n[  167.058581]  process_one_work+0x1dc/0x4c0\n[  167.058618]  worker_thread+0x54/0x410\n[  167.058650]  kthread+0x188/0x1b0\n[  167.058672]  ret_from_fork+0x10/0x20\n\nThe function tegra_xusb_padctl_get_usb3_companion eventually calls\ntegra_xusb_find_port and this in turn calls kasprintf which might sleep\nand so cannot be called from an atomic context.\n\nFix this by moving the call to tegra_xusb_padctl_get_usb3_companion to\nthe tegra_xhci_id_work function where it is really needed."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-10-01T11:42:44.604Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b4b4f17aa46c025da77aed5133b08971959c9684"
        },
        {
          "url": "https://git.kernel.org/stable/c/1122474b757a5dd8b2b50008a97f33cdb10dff6e"
        },
        {
          "url": "https://git.kernel.org/stable/c/130c61c516cd0684282a8f6ab163281d60642fc5"
        },
        {
          "url": "https://git.kernel.org/stable/c/1fe6015aa92cc0dfd875c1d3c7c1750a1b0767d9"
        },
        {
          "url": "https://git.kernel.org/stable/c/4c7f9d2e413dc06a157c4e5dccde84aaf4655eb3"
        }
      ],
      "title": "usb: xhci: tegra: fix sleep in atomic call",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53475",
    "datePublished": "2025-10-01T11:42:44.604Z",
    "dateReserved": "2025-10-01T11:39:39.401Z",
    "dateUpdated": "2025-10-01T11:42:44.604Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-53475\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-10-01T12:15:49.830\",\"lastModified\":\"2025-10-02T19:12:17.160\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nusb: xhci: tegra: fix sleep in atomic call\\n\\nWhen we set the dual-role port to Host mode, we observed the following\\nsplat:\\n[  167.057718] BUG: sleeping function called from invalid context at\\ninclude/linux/sched/mm.h:229\\n[  167.057872] Workqueue: events tegra_xusb_usb_phy_work\\n[  167.057954] Call trace:\\n[  167.057962]  dump_backtrace+0x0/0x210\\n[  167.057996]  show_stack+0x30/0x50\\n[  167.058020]  dump_stack_lvl+0x64/0x84\\n[  167.058065]  dump_stack+0x14/0x34\\n[  167.058100]  __might_resched+0x144/0x180\\n[  167.058140]  __might_sleep+0x64/0xd0\\n[  167.058171]  slab_pre_alloc_hook.constprop.0+0xa8/0x110\\n[  167.058202]  __kmalloc_track_caller+0x74/0x2b0\\n[  167.058233]  kvasprintf+0xa4/0x190\\n[  167.058261]  kasprintf+0x58/0x90\\n[  167.058285]  tegra_xusb_find_port_node.isra.0+0x58/0xd0\\n[  167.058334]  tegra_xusb_find_port+0x38/0xa0\\n[  167.058380]  tegra_xusb_padctl_get_usb3_companion+0x38/0xd0\\n[  167.058430]  tegra_xhci_id_notify+0x8c/0x1e0\\n[  167.058473]  notifier_call_chain+0x88/0x100\\n[  167.058506]  atomic_notifier_call_chain+0x44/0x70\\n[  167.058537]  tegra_xusb_usb_phy_work+0x60/0xd0\\n[  167.058581]  process_one_work+0x1dc/0x4c0\\n[  167.058618]  worker_thread+0x54/0x410\\n[  167.058650]  kthread+0x188/0x1b0\\n[  167.058672]  ret_from_fork+0x10/0x20\\n\\nThe function tegra_xusb_padctl_get_usb3_companion eventually calls\\ntegra_xusb_find_port and this in turn calls kasprintf which might sleep\\nand so cannot be called from an atomic context.\\n\\nFix this by moving the call to tegra_xusb_padctl_get_usb3_companion to\\nthe tegra_xhci_id_work function where it is really needed.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1122474b757a5dd8b2b50008a97f33cdb10dff6e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/130c61c516cd0684282a8f6ab163281d60642fc5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1fe6015aa92cc0dfd875c1d3c7c1750a1b0767d9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4c7f9d2e413dc06a157c4e5dccde84aaf4655eb3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b4b4f17aa46c025da77aed5133b08971959c9684\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…