BPF List
 help / color / mirror / Atom feed
* [PATCH bpf-next 1/2] libbpf: fix potential overflow in ring__consume_n()
@ 2024-04-30 20:19 Andrii Nakryiko
  2024-04-30 20:19 ` [PATCH bpf-next 2/2] libbpf: fix ring_buffer__consume_n() return result logic Andrii Nakryiko
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Andrii Nakryiko @ 2024-04-30 20:19 UTC (permalink / raw)
  To: bpf, ast, daniel, martin.lau; +Cc: andrii, kernel-team

ringbuf_process_ring() return int64_t, while ring__consume_n() assigns
it to int. It's highly unlikely, but possible for ringbuf_process_ring()
to return value larger than INT_MAX, so use int64_t. ring__consume_n()
does check INT_MAX before returning int result to the user.

Fixes: 4d22ea94ea33 ("libbpf: Add ring__consume_n / ring_buffer__consume_n")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
---
 tools/lib/bpf/ringbuf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/lib/bpf/ringbuf.c b/tools/lib/bpf/ringbuf.c
index 99e44cf02321..37c5a2d86a78 100644
--- a/tools/lib/bpf/ringbuf.c
+++ b/tools/lib/bpf/ringbuf.c
@@ -405,7 +405,7 @@ int ring__map_fd(const struct ring *r)
 
 int ring__consume_n(struct ring *r, size_t n)
 {
-	int res;
+	int64_t res;
 
 	res = ringbuf_process_ring(r, n);
 	if (res < 0)
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-05-03  0:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-30 20:19 [PATCH bpf-next 1/2] libbpf: fix potential overflow in ring__consume_n() Andrii Nakryiko
2024-04-30 20:19 ` [PATCH bpf-next 2/2] libbpf: fix ring_buffer__consume_n() return result logic Andrii Nakryiko
2024-04-30 21:19   ` Kumar Kartikeya Dwivedi
2024-04-30 21:16 ` [PATCH bpf-next 1/2] libbpf: fix potential overflow in ring__consume_n() Kumar Kartikeya Dwivedi
2024-05-03  0:00 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox