iovisor / iovisor/bcc

Too many arguments using snprintf in BPF program

Open
#2,843 1 comment 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 included the linux kernel version of `snprintf` from `linux/kernel.h`.
This is the problematic code line:
```
char key[HASH_KEY_SIZE] = { 0 };
int size = snprintf(key, sizeof(key), "%08x%08x%04x%04x", s->src_ip, s->dst_ip, s->src_port, s->dst_port);
```

And this is the error I get:
```
error: :0:0: in function octarine_ids i32 (%struct.xdp_md*): too many args to 0x3ce1fd0: i64 = GlobalAddress 0
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the BPF program containing the shown snprintf call and review the linux/kernel.h declaration alongside the compiler diagnostic. Determine the supported argument and formatting constraints for this program; done means the BPF program compiles without the reported “too many args” error.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.