check_rdma_desc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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