[PATCH bpf-next v1 2/3] selftests/bpf: Adjust veristat stack depth parsing
Kumar Kartikeya Dwivedi <[email protected]> Sun, 2 Aug 2026 01:03:57 +0200
| Newsgroups | org.kernel.vger.bpf |
|---|---|
| Message-ID | <[email protected]> |
The verifier changed the output format for stack depth verification statistics. Adjust the parsing code. Signed-off-by: Kumar Kartikeya Dwivedi <[email protected]> --- tools/testing/selftests/bpf/veristat.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/bpf/veristat.c b/tools/testing/selftests/bpf/veristat.c index c9c257784ee3..f470e63df440 100644 --- a/tools/testing/selftests/bpf/veristat.c +++ b/tools/testing/selftests/bpf/veristat.c @@ -997,9 +997,10 @@ static char verif_log_buf[64 * 1024]; static int parse_verif_log(char * const buf, size_t buf_sz, struct verif_stats *s) { - const char *cur; - int pos, lines, sub_stack, cnt = 0; - char *state = NULL, *token, stack[512]; + long stack_total, sub_stack; + const char *cur, *p; + int pos, lines; + char *end; buf[buf_sz - 1] = '\0'; @@ -1025,13 +1026,19 @@ static int parse_verif_log(char * const buf, size_t buf_sz, struct verif_stats * &s->stats[MARK_READ_MAX_LEN])) continue; - if (2 == sscanf(cur, "stack depth %511s max %ld", stack, &s->stats[MAX_STACK])) + if (strncmp(cur, "stack depth ", sizeof("stack depth ") - 1)) continue; - } - while ((token = strtok_r(cnt++ ? NULL : stack, "+", &state))) { - if (sscanf(token, "%d", &sub_stack) == 0) - break; - s->stats[STACK] += sub_stack; + + stack_total = 0; + for (p = cur + sizeof("stack depth ") - 1; (p = strchr(p, '=')); p = end) { + sub_stack = strtol(p + 1, &end, 10); + if (*end == '\n') { + s->stats[STACK] = stack_total; + s->stats[MAX_STACK] = sub_stack; + break; + } + stack_total += sub_stack; + } } return 0; } -- 2.53.0