MCPcopy Create free account
hub / github.com/F-Stack/f-stack / ktrgenio

Function ktrgenio

freebsd/kern/kern_ktrace.c:682–715  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

680}
681
682void
683ktrgenio(int fd, enum uio_rw rw, struct uio *uio, int error)
684{
685 struct ktr_request *req;
686 struct ktr_genio *ktg;
687 int datalen;
688 char *buf;
689
690 if (error) {
691 free(uio, M_IOV);
692 return;
693 }
694 uio->uio_offset = 0;
695 uio->uio_rw = UIO_WRITE;
696 datalen = MIN(uio->uio_resid, ktr_geniosize);
697 buf = malloc(datalen, M_KTRACE, M_WAITOK);
698 error = uiomove(buf, datalen, uio);
699 free(uio, M_IOV);
700 if (error) {
701 free(buf, M_KTRACE);
702 return;
703 }
704 req = ktr_getrequest(KTR_GENIO);
705 if (req == NULL) {
706 free(buf, M_KTRACE);
707 return;
708 }
709 ktg = &req->ktr_data.ktr_genio;
710 ktg->ktr_fd = fd;
711 ktg->ktr_rw = rw;
712 req->ktr_header.ktr_len = datalen;
713 req->ktr_buffer = buf;
714 ktr_submitrequest(curthread, req);
715}
716
717void
718ktrpsig(int sig, sig_t action, sigset_t *mask, int code)

Callers 7

sys_sctp_generic_sendmsgFunction · 0.85
sys_sctp_generic_recvmsgFunction · 0.85
kern_senditFunction · 0.85
kern_recvitFunction · 0.85
dofilereadFunction · 0.85
dofilewriteFunction · 0.85

Calls 5

mallocFunction · 0.85
ktr_getrequestFunction · 0.85
ktr_submitrequestFunction · 0.85
freeFunction · 0.70
uiomoveFunction · 0.70

Tested by

no test coverage detected