{"id":40995,"date":"2026-10-19T00:31:46","date_gmt":"2026-10-18T16:31:46","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98523"},"modified":"2026-10-19T00:31:46","modified_gmt":"2026-10-18T16:31:46","slug":"cve-2026-98523","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98523","title":{"rendered":"CVE-2026-98523 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ndrm\/client: fix resto"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>drm\/client: fix restore of partially initialized client<\/p>\n<p>I got a null-ptr-deref report when closing a DRM file descriptor:<\/p>\n<p>WARNING: drivers\/gpu\/drm\/drm_atomic.c:2031 at<br \/>\n__drm_atomic_helper_set_config+0x18e\/0x1b0 [drm]<\/p>\n<p>Call Trace:<br \/>\ndrm_client_modeset_commit_atomic+0x16b\/0x220 [drm]<br \/>\ndrm_client_modeset_commit_locked+0x56\/0x160 [drm]<br \/>\ndrm_client_modeset_commit+0x21\/0x40 [drm]<br \/>\n__drm_fb_helper_restore_fbdev_mode_unlocked.part.0+0x7b\/0x80<br \/>\ndrm_fbdev_client_restore+0xe\/0x20 [drm_client_lib]<br \/>\ndrm_client_dev_restore+0x9f\/0xc0 [drm]<br \/>\ndrm_release+0xc5\/0xe0 [drm]<\/p>\n<p>The warning is followed by a NULL pointer dereference:<\/p>\n<p>BUG: kernel NULL pointer dereference, address: 0000000000000008<\/p>\n<p>RIP:<br \/>\n__drm_fb_helper_restore_fbdev_mode_unlocked.part.0+0x41\/0x80<br \/>\n[drm_kms_helper]<\/p>\n<p>Call Trace:<br \/>\ndrm_fbdev_client_restore+0xe\/0x20 [drm_client_lib]<br \/>\ndrm_client_dev_restore+0x9f\/0xc0 [drm]<br \/>\ndrm_release+0xc5\/0xe0 [drm]<br \/>\n__fput+0xdc\/0x2b0<br \/>\n__x64_sys_close+0x39\/0x80<br \/>\ndo_syscall_64+0x8d\/0x460<br \/>\nentry_SYSCALL_64_after_hwframe+0x76\/0x7e<\/p>\n<p>drm_client_register() adds the DRM client to the device client list<br \/>\nbefore invoking the initial hotplug callback. If the hotplug callback<br \/>\nfails, the client remains registered.<\/p>\n<p>For the fbdev client, a failure during drm_fb_helper_initial_config()<br \/>\ncauses the partially initialized fbdev helper to be cleaned up.<br \/>\ndrm_fb_helper_fini() releases fb_helper-&gt;info and leaves it NULL.<\/p>\n<p>The fbdev client therefore remains registered even though there is no<br \/>\nfully initialized framebuffer device.<\/p>\n<p>Later, when userspace closes the DRM file descriptor, drm_release()<br \/>\ncan invoke the restore callbacks of registered DRM clients:<\/p>\n<p>drm_release()<br \/>\ndrm_client_dev_restore()<br \/>\ndrm_fbdev_client_restore()<br \/>\ndrm_fb_helper_restore_fbdev_mode_unlocked()<\/p>\n<p>drm_fbdev_client_restore() currently restores the fbdev state<br \/>\nunconditionally. For a partially initialized fbdev client this can<br \/>\nsubmit an incomplete modeset state and subsequently access fbdev<br \/>\nstate which has not been initialized, resulting in the warning and<br \/>\nNULL pointer dereference above.<\/p>\n<p>drm_fbdev_client_unregister() already uses fb_helper-&gt;info to<br \/>\ndistinguish a fully probed framebuffer device from a partially<br \/>\ninitialized client.<\/p>\n<p>Use the same condition in drm_fbdev_client_restore() and skip restore<br \/>\nif no framebuffer device has been successfully initialized.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>drm\/client: fix restore of partially initialized client<\/p>\n<p>I got a null-ptr-deref report when closing a DRM file descriptor:<\/p>\n<p>WARNING<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-40995","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/40995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=40995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=40995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=40995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}