proc_uint_conv(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’» proc_uint_conv πŸ’…

okay bestie, welcome to the proc_uint_conv(9) page from the Kernel API Manual ✨ this one is literally all about changing a user pointer or a kernel pointer depending on which way the data is flowing πŸ¦‹


🌸 SYNOPSIS 🌸

int proc_uint_conv (ulong *u_ptr , uint *k_ptr , int dir , const struct
ctl_table *tbl , bool k_ptr_range_check , int (*user_to_kern)(const
ulong *u_ptr, uint *k_ptr) , int (*kern_to_user)(ulong *u_ptr, const
uint *k_ptr) );

like, that's the whole signature bestie β€” don't let the line wrapping scare you 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • u_ptr β€” pointer to the user variable πŸ’–
  • k_ptr β€” pointer to the kernel variable 🧚
  • dir β€” TRUE if this is a write to the sysctl file πŸ‘‘
  • tbl β€” the sysctl table πŸ“‹
  • k_ptr_range_check β€” check the range for k_ptr when this is TRUE πŸ”₯
  • user_to_kern β€” callback used to assign the value from the user var to the kernel var πŸ¦‹
  • kern_to_user β€” callback used to assign the value from the kernel var to the user var 🌈

✨ DESCRIPTION ✨

so here's the vibe check: when the direction is kernel to user, then u_ptr is the one getting modified πŸ’… and when the direction is user to kernel, then k_ptr is the one getting modified 😭 that's it, that's the whole plot πŸ“


⭐ RETURN ⭐

0 on success πŸŽ‰ (slay)


πŸ¦‹ SEE ALSO πŸ¦‹


ngl bestie, that's a whole friend group of functions right there β€” go read them too, iykyk πŸ’œ

and that's a wrap, angel πŸ’– this page is from ./kernel, dated October 2026, and it's literally the proc_uint_conv(9) page β€” periodt βœ¨πŸ’…πŸŽ€

πŸ“¦ where this page comes from