device_change_owner(9)
π device_change_owner(9) β Kernel API Manual π
okay so bestie, this one lives in the Kernel API Manual, section 9, and honestly? it's giving "tiny function, big responsibilities." let's get into it β¨
β¨ NAME β¨
device_change_owner β change the owner of an existing device. that's it, that's the whole vibe π«Ά
πΈ SYNOPSIS πΈ
int device_change_owner (struct device *dev , kuid_t kuid , kgid_t kgid );
like, three args, one int back. short and iconic, no notes π
π¦ ARGUMENTS π¦
devβ the device. the actual little guy we're doing all this for π₯Ίkuidβ the new owner'skuid. yes, a kernel uid, not your regular-ass userspace one πkgidβ the new owner'skgid. the group half of the glow-up π
π₯ DESCRIPTION π₯
so what this does is it changes the owner of dev and its corresponding sysfs entries over to kuid/kgid. both. together. matching. coordinated. we love a consistent look β¨
and the way it does it? it closely mirrors how dev was added via driver core. iykyk β it's doing the same moves, just for the ownership situation instead of the initial add π«
Returns 0 on success or an error code on failure. no cap, that's the whole return contract π
β SEE ALSO β
- Kernel file
./drivers/base/core.cβ go read the source, bestie, it's all in there π __fwnode_link_add(9)__fwnode_link_del(9)__fwnode_link_cycle(9)fwnode_links_purge_suppliers(9)fwnode_links_purge_consumers(9)fwnode_links_purge(9)__fwnode_links_move_consumers(9)__fw_devlink_pickup_dangling_consumers(9)fw_devlink_refresh_fwnode(9)device_is_dependent(9)device_pm_move_to_tail(9)device_link_wait_removal(9)device_link_add(9)device_link_del(9)device_link_remove(9)device_links_check_suppliers(9)__device_links_queue_sync_state(9)device_links_flush_sync_list(9)device_links_force_bind(9)device_links_driver_bound(9)__device_links_no_driver(9)device_links_no_driver(9)device_links_driver_cleanup(9)device_links_busy(9)device_links_unbind_consumers(9)device_links_purge(9)wait_for_init_devices_probe(9)fwnode_is_ancestor_of(9)fwnode_get_next_parent_dev(9)__fw_devlink_relax_cycles(9)fw_devlink_create_devlink(9)__fw_devlink_link_to_consumers(9)__fw_devlink_link_to_suppliers(9)dev_driver_string(9)device_release(9)devm_device_add_group(9)devices_kset_move_before(9)devices_kset_move_after(9)devices_kset_move_last(9)device_create_file(9)device_remove_file(9)device_remove_file_self(9)device_create_bin_file(9)device_remove_bin_file(9)device_initialize(9)kobject_has_children(9)dev_set_name(9)device_add(9)device_register(9)get_device(9)put_device(9)device_del(9)device_unregister(9)device_get_devnode(9)device_for_each_child(9)device_for_each_child_reverse(9)device_for_each_child_reverse_from(9)device_find_child(9)device_offline(9)device_online(9)__root_device_register(9)root_device_unregister(9)device_create(9)device_create_with_groups(9)device_destroy(9)device_rename(9)device_move(9)device_shutdown(9)dev_err_probe(9)dev_warn_probe(9)set_primary_fwnode(9)set_secondary_fwnode(9)device_remove_of_node(9)device_add_of_node(9)device_set_of_node_from_dev(9)get_dev_from_fwnode(9)
okay but the dedication?? seventy-six cross-references, the whole device_* friend group showed up to support π love that for them π
π and that's the whole page π
shoutout to ./drivers/base for being the section, October 2026 for the date, and the manpage device_change_owner(9) itself β she's small, she's specific, she changes sysfs ownership. periodt π
ππ¦
π¦ 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