qcomtee_user_object_select(9)
π qcomtee_user_object_select β the kernel manual, but make it make sense
okay so bestie, this page lives in the Kernel API Manual and it's all about qcomtee_user_object_select β the function that selects a request for a user object. yes, that's the whole vibe. let's get into it π
β¨ SYNOPSIS β¨
int qcomtee_user_object_select (struct tee_context *ctx , struct
tee_param *params , int num_params , void __user *uaddr , size_t size ,
struct qcomtee_user_object_request_data *data );
that's the whole signature, no cap β six args, one int return, and it's giving very "I do one thing and I do it well" π
πΈ ARGUMENTS πΈ
so here's the cast of characters, one by one, no skips:
ctxβ the context where we go looking for a user object. like, this is the neighborhood we're searching in ποΈparamsβ the parameters for the op. the actual op, bestie.num_paramsβ how many elements are in that parameter array. gotta know how many you're working with π’uaddrβ the user buffer for the output UBUF parameters. that's where the output goes πsizeβ the size of the user bufferuaddr. because we don't just yeet into a buffer of unknown size fr frdataβ the info for the selected request. like the little profile card for whichever request got picked π
π¦ DESCRIPTION π¦
okay so here's the whole deal: params gets filled in, along with data, for the request that was selected. that's it. that's the sentence. short and iconic, honestly β¨
it's giving "one line of prose but it's doing exactly what it needs to do" π
π RETURN π
- on success β returns
0β slay - on failure β returns
< 0π not slay
that's it. no ambiguity. a true legend.
π SEE ALSO π
go read these next, bestie, they're all connected and honestly they ate:
- Kernel file
./drivers/tee/qcomtee/user_obj.c - User Objects aka Supplicants(9)
struct qcomtee_user_object(9)enum qcomtee_req_state(9)ureq_dequeue(9)ureq_select(9)qcomtee_user_param_to_object(9)qcomtee_cb_params_from_args(9)qcomtee_cb_params_to_args(9)qcomtee_user_object_submit(9)
like, read them in that order or don't, I'm not your mom, but they're all the same little friend group π«Ά
β real talk: this is kernel API territory, so keep the args exactly as typed βctx,params,num_params,uaddr,size,dataβ and don't go freelancing with the types. iykyk π
and that's the page!! mwah π this one came from ./drivers/tee/qcomtee, dated October 2026 β soak it in, it's literally a whole vibe check for a kernel interface πΈπ
π¦ 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