drm_gem_private_object_fini(9)
π drm_gem_private_object_fini π
okay bestie, welcome to the Kernel API Manual β this one's a little cleanup crew function and honestly it's giving "designated driver of the GEM object world" π no cap.
β¨ NAME β¨
drm_gem_private_object_fini β bestie, this one finalizes a failed drm_gem_object. that's it, that's the whole vibe. it's the "oops, that didn't work, let me un-mess this" function π«Ά
πΈ SYNOPSIS πΈ
void drm_gem_private_object_fini (struct drm_gem_object *obj );
literally just one call and one pointer, so clean, so iconic β¨
π¦ ARGUMENTS π¦
objβ adrm_gem_object. yeah that's the whole description in the original and honestly? the confidence. icon behavior. it's the object you're cleaning up π
π DESCRIPTION π
so here's the tea β β this function uninitializes an already allocated GEM object when its initialization failed. read that again, bestie: the object got allocated, then the init went sideways π, and now somebody has to tidy up so nothing's left half-initialized and weird. that somebody is drm_gem_private_object_fini.
it's not creating anything, it's not doing main character work β it's the aftermath function. the "we tried, it didn't slay, let's clean the stage" function π§Ήβ¨
bestie pls remember: this is for the failed init path. if your init actually succeeded, this is not the function you're looking for, so don't come for her π
π₯ SEE ALSO π₯
the kernel file lives at ./drivers/gpu/drm/drm_gem.c β go read it, it's right there, iykyk π
and now the friend group, aka every single one of these, no skips, we're doing the whole roster π:
drm_gem_huge_mnt_create(9)drm_gem_init(9)drm_gem_object_init(9)drm_gem_private_object_init(9)drm_gem_object_handle_get_if_exists_unlocked(9)drm_gem_object_handle_free(9)drm_gem_object_handle_put_unlocked(9)drm_gem_handle_delete(9)drm_gem_dumb_map_offset(9)drm_gem_handle_create_tail(9)drm_gem_handle_create(9)drm_gem_free_mmap_offset(9)drm_gem_create_mmap_offset_size(9)drm_gem_create_mmap_offset(9)drm_gem_get_pages(9)drm_gem_put_pages(9)drm_gem_objects_lookup(9)drm_gem_object_lookup(9)drm_gem_dma_resv_wait(9)drm_gem_open(9)drm_gem_release(9)drm_gem_object_release(9)drm_gem_object_free(9)drm_gem_vm_open(9)drm_gem_vm_close(9)drm_gem_mmap_obj(9)drm_gem_get_unmapped_area(9)drm_gem_mmap(9)drm_gem_lock_reservations(9)drm_gem_lru_init(9)drm_gem_lru_remove(9)drm_gem_lru_move_tail_locked(9)drm_gem_lru_move_tail(9)drm_gem_lru_scan(9)drm_gem_evict_locked(9)
like i said. the whole group chat π«Ά and yes you should read them all, they ate π
β¨ sign-off time β¨
this little beauty comes to you from the source at ./drivers/gpu/drm, and the version/date stamp on it is October 2026 β so she's fresh, she's timely, she's drm_gem_private_object_fini(9) and she's literally the moment πππ¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms