check_rdma_desc(9)
π check_rdma_desc β the kernel manual, section 9
okay bestie so this is check_rdma_desc(9) from the Kernel API Manual, and honestly? it's a little vibe check for RDMA descriptors π¦ it does exactly one job and it does it iconically: it looks at your descriptor array and is like "yeah this covers the transfer" or "nope, -EINVAL, bye π". no cap, that's the whole personality.
β¨ SYNOPSIS β¨
lowkey just one function, here's the shape of it, copied exactly so you can trust me:
int check_rdma_desc (struct smbdirect_buffer_descriptor_v1 *desc ,
unsigned int desc_len , unsigned int required_len );
three args, returns an int, and she's out π
πΈ ARGUMENTS πΈ
descβ the descriptor array itself, the main character of this whole operation πdesc_lenβ how long that descriptor array is (its length, that's it, that's the whole vibe) πrequired_lenβ the minimum aggregate buffer length, aka the smallest total buffer size you're gonna accept as "yeah that's enough" β¨
β RETURN β
so what does she give back? simple:
0β the descriptors cover the transfer, slay, you're good π«Ά- otherwise
-EINVALβ they don't, and she's telling you with the most classic kernel error code there is π
fr fr,0= happy path,-EINVAL= not today. there's no in-between, no grey area, she is not ambiguous π
π SEE ALSO π
ngl the cross-reference list here is long, like a whole group chat of SMB server functions, and every single one of them is coming with me. here they all are, exactly as they appear, from the Kernel file ./fs/smb/server/smb2pdu.c:
smb2_get_ksmbd_tcon(9), smb2_set_err_rsp(9), is_smb2_neg_cmd(9), is_smb2_rsp(9), get_smb2_cmd_val(9), set_smb2_rsp_status(9), init_smb2_neg_rsp(9), smb2_set_rsp_credits(9), init_chained_smb2_rsp(9), is_chained_smb2_message(9), init_smb2_rsp_hdr(9), smb2_allocate_rsp_buf(9), smb2_check_user_session(9), smb2_get_name(9), smb2_get_dos_mode(9), build_rdma_ctx(9), smb3_encryption_negotiated(9), decode_rdma_ctx(9), smb2_handle_negotiate(9), smb2_tree_connect(9), smb2_create_open_flags(9), smb2_tree_disconnect(9), smb2_session_logoff(9), create_smb2_pipe(9), smb2_set_ea(9), smb2_open(9), smb2_populate_readdir_entry(9), buffer_check_err(9), smb2_get_ea(9), smb2_query_info(9), smb2_close_pipe(9), smb2_close(9), smb2_echo(9), smb2_set_info_file(9), smb2_set_info(9), smb2_read_pipe(9), smb2_set_rdma_key(9), smb2_prep_rdma_read(9), smb2_current_req_len(9), smb2_parse_rdma_write_transform(9), smb2_read_rdma(9), smb2_read(9), smb2_write_pipe(9), smb2_write_rdma(9), smb2_write(9), smb2_flush(9), smb2_cancel(9), smb2_lock(9), smb2_ioctl(9), smb20_oplock_break_ack(9), smb21_lease_break_ack(9), smb2_oplock_break(9), smb2_notify(9), smb2_is_sign_req(9), smb2_check_sign_req(9), smb2_get_sign_rsp_iov(9), smb2_set_sign_rsp(9), smb3_check_sign_req(9), smb3_set_sign_rsp(9), smb3_preauth_hash_rsp(9)
like, all of them. iykyk π
and that's the page, bestie. this one lives at ./fs/smb/server, dated October 2026 β mwah, she ate, no crumbs ππ
π¦ 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