smb2_set_rdma_key(9)
π smb2_set_rdma_key(9) π
okay so bestie, welcome to the Kernel API Manual β yes we're reading kernel manpages now, we contain multitudes π. this one's called smb2_set_rdma_key and it is, and i say this with love, extremely niche. but we're gonna get through it together, hand in hand π«Ά
β¨ NAME β¨
smb2_set_rdma_key β validate descriptors and save invalidation state
like... that's the whole vibe. it checks your descriptors are valid, and it stashes the invalidation state. no cap π
πΈ SYNOPSIS πΈ
int smb2_set_rdma_key (struct ksmbd_work *work , struct
smbdirect_buffer_descriptor_v1 *desc , __le32 Channel , __le16
channel_info_len );
it returns an int, it takes four things, and yes the formatting is chaotic but we love her for it π
π¦ ARGUMENTS π¦
workβ the request work item. the main character of this whole operation, honestly πdescβ the first RDMA buffer descriptor. first one!! she's the opener, the rest follow her lead πChannelβ the nested RDMA channel type.__le32, so keep that endianness in mind bestie, we don't play with that πchannel_info_lenβ the descriptor array length. it's a__le16, she's small but she matters β¨
β RETURN β
0 on success β slay π β otherwise -EINVAL. yeah. if it's not vibing, it's -EINVAL. that's the whole menu π
π SEE ALSO π
okay this is the long part and i need you to stay with me. the kernel file in question is ./fs/smb/server/smb2pdu.c, and it's giving extended universe β here's the whole cast fr fr:
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_prep_rdma_read(9)smb2_current_req_len(9)check_rdma_desc(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 i said. extended universe. sixty whole entries, i counted, my fingers hurt, but anything for you bestie ππ
ngl if you actually read all sixty of those you have main character energy. go touch some grass, then come back and validate some descriptors π§
and that's the page!! π huge shoutout to ./fs/smb/server for housing all this chaos, dated October 2026, and to smb2_set_rdma_key(9) herself for being iconic in a deeply unhinged kernel way. 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