In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: don't bump pin count on failed re-pin in nouveau_bo_pin_lo
위협 신호 · CVSS · EPSS · KEV
이론적 심각도 점수
예측 데이터 없음
실측 악용 기록 없음
계획된 패치 주기 내 조치(60일 이내)
CVSS 벡터 · 메트릭
CVSS 벡터 정보 없음
상세 설명
In the Linux kernel, the following vulnerability has been resolved:
drm/nouveau: don't bump pin count on failed re-pin in nouveau_bo_pin_locked()
nouveau_bo_pin_locked() checks whether an already pinned BO is in a
memory domain compatible with a new pin request. When the domains are
incompatible, it sets -EBUSY but still calls ttm_bo_pin() before
returning.
Callers treat a failed nouveau_bo_pin() as not having acquired a new pin,
so the extra pin count is never decreased by a matching unpin.
This triggers the warning in ttm_bo_release():
1WARN_ON_ONCE(bo->pin_count);Found when fuzzing the nouveau driver with a modified Syzkaller:
1WARNING: drivers/gpu/drm/ttm/ttm_bo.c:256 at ttm_bo_release+0x827/0x9e0 drivers/gpu/drm/ttm/ttm_bo.c:256, CPU#1: syz.3.24/2212 2Modules linked in: 3CPU: 1 UID: 0 PID: 2212 Comm: syz.3.24 Not tainted 7.2.0 #24 PREEMPT(lazy) 4nouveau 0000:01:00.0: gsp:msg fn:103 len:0x40/0x20 res:0x19 resp:0x19 5Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 6RIP: 0010:ttm_bo_release+0x827/0x9e0 drivers/gpu/drm/ttm/ttm_bo.c:256 7Code: 02 00 0f 85 51 01 00 00 48 8b 7b 08 e8 d2 20 01 00 e9 80 fd ff ff e8 d8 15 c0 fe 90 0f 0b 90 e9 e1 f8 ff ff e8 ca 15 c0 fe 90 <0f> 0b 90 e9 a4 f8 ff ff e8 bc 15 c0 fe be 03 00 00 00 4c 89 e7 e8 8msg: 00000000: 05 00 d0 c1 04 00 f0 f1 01 30 00 00 2d 90 00 00 .........0..-... 9RSP: 0018:ffffc9000f5cf710 EFLAGS: 0001029310RAX: 0000000000000000 RBX: ffff888018e5d2a8 RCX: ffffffff82bb1b3611RDX: ffff888017b68000 RSI: 0000000000000004 RDI: ffff888018e5d2a812msg: 00000010: 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................13RBP: ffff88801261c720 R08: 0000000000000001 R09: ffffed10031cba5514R10: ffff888018e5d2ab R11: 00000000000000f3 R12: ffff888018e5d29015R13: ffff888018e5d2d4 R14: ffff88801b219c18 R15: dffffc000000000016FS: 0000000000000000(0000) GS:ffff8880e0f6f000(0000) knlGS:000000000000000017CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003318CR2: 0000001b31223ffc CR3: 0000000028e00005 CR4: 0000000000770ef019PKRU: 8000000020Call Trace:21<TASK>22kref_put include/linux/kref.h:65 [inline]23ttm_bo_put drivers/gpu/drm/ttm/ttm_bo.c:325 [inline]24ttm_bo_fini+0x55/0x80 drivers/gpu/drm/ttm/ttm_bo.c:33025nouveau_gem_object_del+0xb2/0x1b0 drivers/gpu/drm/nouveau/nouveau_gem.c:9026drm_gem_object_free+0x5f/0x90 drivers/gpu/drm/drm_gem.c:116527kref_put include/linux/kref.h:65 [inline]28__drm_gem_object_put include/drm/drm_gem.h:562 [inline]29drm_gem_object_put include/drm/drm_gem.h:575 [inline]30nouveau_abi16_chan_fini.constprop.0+0x44f/0x5a0 drivers/gpu/drm/nouveau/nouveau_abi16.c:19531nouveau 0000:01:00.0: syz.2.23[2209]: Unknown handle 0x0000000032nouveau_abi16_fini+0x1d0/0x340 drivers/gpu/drm/nouveau/nouveau_abi16.c:22533nouveau_drm_postclose+0x18b/0x3e0 drivers/gpu/drm/nouveau/nouveau_drm.c:128434nouveau 0000:01:00.0: syz.2.23[2209]: validate_init35drm_file_free.part.0+0x6d6/0xb60 drivers/gpu/drm/drm_file.c:26736drm_file_free drivers/gpu/drm/drm_file.c:237 [inline]37drm_close_helper.isra.0+0x11a/0x160 drivers/gpu/drm/drm_file.c:29038drm_release+0x1ab/0x330 drivers/gpu/drm/drm_file.c:43839__fput+0x39c/0xa60 fs/file_table.c:51240nouveau 0000:01:00.0: syz.2.23[2209]: validate: -241task_work_run+0x15a/0x230 kernel/task_work.c:23342exit_task_work include/linux/task_work.h:40 [inline]43do_exit+0x82b/0x25a0 kernel/exit.c:100944do_group_exit+0xc2/0x280 kernel/exit.c:115245get_signal+0x1d6e/0x1f30 kernel/signal.c:304646arch_do_signal_or_restart+0x7d/0x6e0 arch/x86/kernel/signal.c:33747__exit_to_user_mode_loop kernel/entry/common.c:66 [inline]48exit_to_user_mode_loop+0xdf/0x440 kernel/entry/common.c:10149__exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]50syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]51syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline]52do_syscall_64+0x4f8/0x690 arch/x86/entry/syscall_64.c:10053entry_SYSCALL_64_after_hwframe+0x77/0x7f54RI---truncated---
AI 심층 분석
공격 시나리오 · 재현 가능한 PoC 페이로드 · 즉시 적용 가능한 차단 패치를 한 번에 받아 보세요. 보안 운영팀이 그대로 점검·티켓팅에 쓸 수 있는 형태로 정리해 드립니다.
참고 자료 7
링크 내용 불러오는 중…