iovisor / iovisor/bcc

Copying variable-length data?

Open
#1,769 19 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
22.7k
Forks
4.1k
Avg merge
10d 4h
Merged PRs (30d)
3

Description

I'm trying to copy data from a struct iovec out from a kprobe back to python.

```c
struct iovec
{
void __user *iov_base; /* BSD uses caddr_t (1003.1g requires void *) */
__kernel_size_t iov_len; /* Must be size_t (1003.1g) */
};
```

What is the best way to go about doing this? It does not seem to be possible to chunk the data due to the prohibition of loops and it does not appear to be possible to create an output ring buffer of dynamic size.

Thanks

Contributor guide

No contributing guide indexed for this repository

Research direction

No repository file or test is named. Start by reviewing the BCC kprobe examples and the documented output ring-buffer and loop restrictions, then determine whether copying the variable-length data in struct iovec is supported. Done would be a documented, concrete approach or a clear statement of the limitation.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux, python
Domain
observability, operating-systems
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.