lpfc_bsg_dma_page_list_free(9)
π lpfc_bsg_dma_page_list_free(9) π
okay so bestie, welcome to the Kernel API Manual page for lpfc_bsg_dma_page_list_free β yes that's a whole mouthful, iykyk, just roll with it π«Ά
β¨ NAME β¨
lpfc_bsg_dma_page_list_free β frees a list of bsg mbox page sized dma buffers. that's it, that's the whole job, and she does it flawlessly π
π¦ SYNOPSIS π¦
void lpfc_bsg_dma_page_list_free (struct lpfc_hba *phba , struct list_head *dmabuf_list );
π ARGUMENTS π
phbaβ a pointer to the HBA context object, aka the main character of this whole operation πdmabuf_listβ a pointer to a list of bsg mbox page sized dma buffer descs. literally a whole list of them π
πΈ DESCRIPTION πΈ
so this routine just simply frees all the dma buffers plus their associated buffer descriptors that are referred to by dmabuf_list. no drama, no extra steps, no notes β she frees the buffers, she frees the descriptors, she leaves. clean. periodt β¨
π SEE ALSO π
- Kernel file
./drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_send_mgmt_cmd_cmp(9)lpfc_bsg_send_mgmt_cmd(9)lpfc_bsg_rport_els_cmp(9)lpfc_bsg_rport_els(9)lpfc_bsg_event_free(9)lpfc_bsg_event_ref(9)lpfc_bsg_event_unref(9)lpfc_bsg_event_new(9)diag_cmd_data_free(9)lpfc_bsg_ct_unsol_abort(9)lpfc_bsg_hba_set_event(9)lpfc_bsg_hba_get_event(9)lpfc_issue_ct_rsp_cmp(9)lpfc_issue_ct_rsp(9)lpfc_bsg_send_mgmt_rsp(9)lpfc_bsg_diag_mode_enter(9)lpfc_bsg_diag_mode_exit(9)lpfc_sli3_bsg_diag_loopback_mode(9)lpfc_sli4_bsg_set_link_diag_state(9)lpfc_sli4_bsg_set_loopback_mode(9)lpfc_sli4_diag_fcport_reg_setup(9)lpfc_sli4_bsg_diag_loopback_mode(9)lpfc_bsg_diag_loopback_mode(9)lpfc_sli4_bsg_diag_mode_end(9)lpfc_sli4_bsg_link_diag_test(9)lpfcdiag_loop_self_reg(9)lpfcdiag_loop_self_unreg(9)lpfcdiag_loop_get_xri(9)lpfc_bsg_dma_page_alloc(9)lpfc_bsg_dma_page_free(9)diag_cmd_data_alloc(9)lpfcdiag_sli3_loop_post_rxbufs(9)lpfc_bsg_diag_loopback_run(9)lpfc_bsg_get_dfc_rev(9)lpfc_bsg_issue_mbox_cmpl(9)lpfc_bsg_check_cmd_access(9)lpfc_bsg_mbox_ext_session_reset(9)lpfc_rd_obj_emb0_handle_job(9)lpfc_bsg_issue_mbox_ext_handle_job(9)lpfc_bsg_issue_read_mbox_ext_cmpl(9)lpfc_bsg_issue_write_mbox_ext_cmpl(9)lpfc_bsg_sli_cfg_read_cmd_ext(9)lpfc_bsg_sli_cfg_write_cmd_ext(9)lpfc_bsg_handle_sli_cfg_mbox(9)lpfc_bsg_mbox_ext_abort(9)lpfc_bsg_read_ebuf_get(9)lpfc_bsg_write_ebuf_set(9)lpfc_bsg_handle_sli_cfg_ebuf(9)lpfc_bsg_handle_sli_cfg_ext(9)lpfc_bsg_issue_mbox(9)lpfc_bsg_mbox_cmd(9)lpfc_check_fwlog_support(9)lpfc_bsg_get_ras_config(9)lpfc_bsg_set_ras_config(9)lpfc_bsg_get_ras_lwpd(9)lpfc_bsg_get_ras_fwlog(9)lpfc_bsg_hst_vendor(9)lpfc_bsg_request(9)lpfc_bsg_timeout(9)
like, go read all of those too, she's got lore π
ngl bestie, the whole point is that this routine frees the dma buffers and their descriptors β don't call it and then go touching that dmabuf_list again, that's giving use-after-free energy and we do NOT stan π
and that's the page!! π ooh and the sign-off: this lives under ./drivers/scsi/lpfc, dated October 2026, and it's page lpfc_bsg_dma_page_list_free(9) β iconic, no cap, slay βπ₯π
π¦ 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