programs: disambiguate `fd` names

reviewable/pr1393/r5
Tamir Duberstein 5 days ago
parent 1791d497d3
commit 27c7f1c84f
No known key found for this signature in database

@ -83,7 +83,7 @@ id_as_key!(PerfLink, PerfLinkId);
pub(crate) fn perf_attach(
prog_fd: BorrowedFd<'_>,
fd: crate::MockableFd,
perf_fd: crate::MockableFd,
cookie: Option<u64>,
) -> Result<PerfLinkInner, ProgramError> {
if cookie.is_some() && (!is_bpf_cookie_supported() || !FEATURES.bpf_perf_link()) {
@ -92,7 +92,7 @@ pub(crate) fn perf_attach(
if FEATURES.bpf_perf_link() {
let link_fd = bpf_link_create(
prog_fd,
LinkTarget::Fd(fd.as_fd()),
LinkTarget::Fd(perf_fd.as_fd()),
BPF_PERF_EVENT,
0,
cookie.map(|bpf_cookie| BpfLinkCreateArgs::PerfEvent { bpf_cookie }),
@ -103,35 +103,35 @@ pub(crate) fn perf_attach(
})?;
Ok(PerfLinkInner::Fd(FdLink::new(link_fd)))
} else {
perf_attach_either(prog_fd, fd, None)
perf_attach_either(prog_fd, perf_fd, None)
}
}
pub(crate) fn perf_attach_debugfs(
prog_fd: BorrowedFd<'_>,
fd: crate::MockableFd,
perf_fd: crate::MockableFd,
event: ProbeEvent,
) -> Result<PerfLinkInner, ProgramError> {
perf_attach_either(prog_fd, fd, Some(event))
perf_attach_either(prog_fd, perf_fd, Some(event))
}
fn perf_attach_either(
prog_fd: BorrowedFd<'_>,
fd: crate::MockableFd,
perf_fd: crate::MockableFd,
event: Option<ProbeEvent>,
) -> Result<PerfLinkInner, ProgramError> {
perf_event_ioctl(fd.as_fd(), PerfEventIoctlRequest::SetBpf(prog_fd)).map_err(|io_error| {
SyscallError {
perf_event_ioctl(perf_fd.as_fd(), PerfEventIoctlRequest::SetBpf(prog_fd)).map_err(
|io_error| SyscallError {
call: "PERF_EVENT_IOC_SET_BPF",
io_error,
}
})?;
perf_event_ioctl(fd.as_fd(), PerfEventIoctlRequest::Enable).map_err(|io_error| {
},
)?;
perf_event_ioctl(perf_fd.as_fd(), PerfEventIoctlRequest::Enable).map_err(|io_error| {
SyscallError {
call: "PERF_EVENT_IOC_ENABLE",
io_error,
}
})?;
Ok(PerfLinkInner::PerfLink(PerfLink { perf_fd: fd, event }))
Ok(PerfLinkInner::PerfLink(PerfLink { perf_fd, event }))
}

@ -456,7 +456,7 @@ impl PerfEvent {
let prog_fd = self.fd()?;
let prog_fd = prog_fd.as_fd();
let fd = perf_event_open(
let perf_fd = perf_event_open(
config,
scope,
sample_policy,
@ -469,7 +469,7 @@ impl PerfEvent {
io_error,
})?;
let link = perf_attach(prog_fd, fd, None /* cookie */)?;
let link = perf_attach(prog_fd, perf_fd, None /* cookie */)?;
self.data.links.insert(PerfEventLink::new(link))
}
}

@ -122,11 +122,11 @@ pub(crate) fn attach<T: Link + From<PerfLinkInner>>(
if cookie.is_some() {
return Err(ProgramError::AttachCookieNotSupported);
}
let (fd, event_alias) = create_as_trace_point(kind, fn_name, offset, pid)?;
perf_attach_debugfs(prog_fd, fd, ProbeEvent { kind, event_alias })
let (perf_fd, event_alias) = create_as_trace_point(kind, fn_name, offset, pid)?;
perf_attach_debugfs(prog_fd, perf_fd, ProbeEvent { kind, event_alias })
} else {
let fd = create_as_probe(kind, fn_name, offset, pid)?;
perf_attach(prog_fd, fd, cookie)
let perf_fd = create_as_probe(kind, fn_name, offset, pid)?;
perf_attach(prog_fd, perf_fd, cookie)
}?;
program_data.links.insert(T::from(link))
}
@ -203,12 +203,12 @@ fn create_as_trace_point(
let category = format!("{}s", kind.pmu());
let tpid = read_sys_fs_trace_point_id(tracefs, &category, event_alias.as_ref())?;
let fd = perf_event_open_trace_point(tpid, pid).map_err(|io_error| SyscallError {
let perf_fd = perf_event_open_trace_point(tpid, pid).map_err(|io_error| SyscallError {
call: "perf_event_open",
io_error,
})?;
Ok((fd, event_alias))
Ok((perf_fd, event_alias))
}
fn create_probe_event(

@ -79,12 +79,12 @@ impl TracePoint {
let prog_fd = prog_fd.as_fd();
let tracefs = find_tracefs_path()?;
let id = read_sys_fs_trace_point_id(tracefs, category, name.as_ref())?;
let fd = perf_event_open_trace_point(id, None).map_err(|io_error| SyscallError {
let perf_fd = perf_event_open_trace_point(id, None).map_err(|io_error| SyscallError {
call: "perf_event_open_trace_point",
io_error,
})?;
let link = perf_attach(prog_fd, fd, None /* cookie */)?;
let link = perf_attach(prog_fd, perf_fd, None /* cookie */)?;
self.data.links.insert(TracePointLink::new(link))
}
}

Loading…
Cancel
Save