ghsa-f5pv-q555-4v9f
Vulnerability from github
Published
2025-12-08 03:31
Modified
2025-12-08 03:31
Details

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

drm/gud: Fix UBSAN warning

UBSAN complains about invalid value for bool:

[ 101.165172] [drm] Initialized gud 1.0.0 20200422 for 2-3.2:1.0 on minor 1 [ 101.213360] gud 2-3.2:1.0: [drm] fb1: guddrmfb frame buffer device [ 101.213426] usbcore: registered new interface driver gud [ 101.989431] ================================================================================ [ 101.989441] UBSAN: invalid-load in linux/include/linux/iosys-map.h:253:9 [ 101.989447] load of value 121 is not a valid value for type '_Bool' [ 101.989451] CPU: 1 PID: 455 Comm: kworker/1:6 Not tainted 5.18.0-rc5-gud-5.18-rc5 #3 [ 101.989456] Hardware name: Hewlett-Packard HP EliteBook 820 G1/1991, BIOS L71 Ver. 01.44 04/12/2018 [ 101.989459] Workqueue: events_long gud_flush_work [gud] [ 101.989471] Call Trace: [ 101.989474] [ 101.989479] dump_stack_lvl+0x49/0x5f [ 101.989488] dump_stack+0x10/0x12 [ 101.989493] ubsan_epilogue+0x9/0x3b [ 101.989498] __ubsan_handle_load_invalid_value.cold+0x44/0x49 [ 101.989504] dma_buf_vmap.cold+0x38/0x3d [ 101.989511] ? find_busiest_group+0x48/0x300 [ 101.989520] drm_gem_shmem_vmap+0x76/0x1b0 [drm_shmem_helper] [ 101.989528] drm_gem_shmem_object_vmap+0x9/0xb [drm_shmem_helper] [ 101.989535] drm_gem_vmap+0x26/0x60 [drm] [ 101.989594] drm_gem_fb_vmap+0x47/0x150 [drm_kms_helper] [ 101.989630] gud_prep_flush+0xc1/0x710 [gud] [ 101.989639] ? _raw_spin_lock+0x17/0x40 [ 101.989648] gud_flush_work+0x1e0/0x430 [gud] [ 101.989653] ? __switch_to+0x11d/0x470 [ 101.989664] process_one_work+0x21f/0x3f0 [ 101.989673] worker_thread+0x200/0x3e0 [ 101.989679] ? rescuer_thread+0x390/0x390 [ 101.989684] kthread+0xfd/0x130 [ 101.989690] ? kthread_complete_and_exit+0x20/0x20 [ 101.989696] ret_from_fork+0x22/0x30 [ 101.989706] [ 101.989708] ================================================================================

The source of this warning is in iosys_map_clear() called from dma_buf_vmap(). It conditionally sets values based on map->is_iomem. The iosys_map variables are allocated uninitialized on the stack leading to ->is_iomem having all kinds of values and not only 0/1.

Fix this by zeroing the iosys_map variables.

Show details on source website


{
  "affected": [],
  "aliases": [
    "CVE-2022-50628"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-12-08T02:15:48Z",
    "severity": null
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/gud: Fix UBSAN warning\n\nUBSAN complains about invalid value for bool:\n\n[  101.165172] [drm] Initialized gud 1.0.0 20200422 for 2-3.2:1.0 on minor 1\n[  101.213360] gud 2-3.2:1.0: [drm] fb1: guddrmfb frame buffer device\n[  101.213426] usbcore: registered new interface driver gud\n[  101.989431] ================================================================================\n[  101.989441] UBSAN: invalid-load in linux/include/linux/iosys-map.h:253:9\n[  101.989447] load of value 121 is not a valid value for type \u0027_Bool\u0027\n[  101.989451] CPU: 1 PID: 455 Comm: kworker/1:6 Not tainted 5.18.0-rc5-gud-5.18-rc5 #3\n[  101.989456] Hardware name: Hewlett-Packard HP EliteBook 820 G1/1991, BIOS L71 Ver. 01.44 04/12/2018\n[  101.989459] Workqueue: events_long gud_flush_work [gud]\n[  101.989471] Call Trace:\n[  101.989474]  \u003cTASK\u003e\n[  101.989479]  dump_stack_lvl+0x49/0x5f\n[  101.989488]  dump_stack+0x10/0x12\n[  101.989493]  ubsan_epilogue+0x9/0x3b\n[  101.989498]  __ubsan_handle_load_invalid_value.cold+0x44/0x49\n[  101.989504]  dma_buf_vmap.cold+0x38/0x3d\n[  101.989511]  ? find_busiest_group+0x48/0x300\n[  101.989520]  drm_gem_shmem_vmap+0x76/0x1b0 [drm_shmem_helper]\n[  101.989528]  drm_gem_shmem_object_vmap+0x9/0xb [drm_shmem_helper]\n[  101.989535]  drm_gem_vmap+0x26/0x60 [drm]\n[  101.989594]  drm_gem_fb_vmap+0x47/0x150 [drm_kms_helper]\n[  101.989630]  gud_prep_flush+0xc1/0x710 [gud]\n[  101.989639]  ? _raw_spin_lock+0x17/0x40\n[  101.989648]  gud_flush_work+0x1e0/0x430 [gud]\n[  101.989653]  ? __switch_to+0x11d/0x470\n[  101.989664]  process_one_work+0x21f/0x3f0\n[  101.989673]  worker_thread+0x200/0x3e0\n[  101.989679]  ? rescuer_thread+0x390/0x390\n[  101.989684]  kthread+0xfd/0x130\n[  101.989690]  ? kthread_complete_and_exit+0x20/0x20\n[  101.989696]  ret_from_fork+0x22/0x30\n[  101.989706]  \u003c/TASK\u003e\n[  101.989708] ================================================================================\n\nThe source of this warning is in iosys_map_clear() called from\ndma_buf_vmap(). It conditionally sets values based on map-\u003eis_iomem. The\niosys_map variables are allocated uninitialized on the stack leading to\n-\u003eis_iomem having all kinds of values and not only 0/1.\n\nFix this by zeroing the iosys_map variables.",
  "id": "GHSA-f5pv-q555-4v9f",
  "modified": "2025-12-08T03:31:03Z",
  "published": "2025-12-08T03:31:03Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-50628"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/832f861a46039d50536dcfda0a9fb334b48d0f8b"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/951df98024f7272f85df5044eca7374f5b5b24ef"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e1078b270d218f8d58efb4d78ea25a4d16ba3490"
    }
  ],
  "schema_version": "1.4.0",
  "severity": []
}


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…