You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
since we fully control the pointers we provide to that program, we could make sure that these pointers are paged in and are on the stack using the following change:
diff --git a/sdk/tracer.go b/sdk/tracer.go
index 131b3ac8..d147e412 100644
--- a/sdk/tracer.go+++ b/sdk/tracer.go@@ -23,14 +23,15 @@ type tracer struct {
var _ trace.Tracer = tracer{}
func (t tracer) Start(ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span) {
- var psc trace.SpanContext+ var psc, sc trace.SpanContext
sampled := true
span := new(span)
// Ask eBPF for sampling decision and span context info.
- t.start(ctx, span, &psc, &sampled, &span.spanContext)+ t.start(ctx, span, &psc, &sampled, &sc)
span.sampled.Store(sampled)
+ span.spanContext = sc
ctx = trace.ContextWithSpan(ctx, span)
Tested this and verifies it solves the issue. @MrAlias
The text was updated successfully, but these errors were encountered:
Doing some tests on my setup I consistently encountered an error
which means the memory we tried to write to was not paged in yet (see https://github.com/torvalds/linux/blob/00a7d39898c8010bfd5ff62af31ca5db34421b38/mm/maccess.c#L150).
since we fully control the pointers we provide to that program, we could make sure that these pointers are paged in and are on the stack using the following change:
Tested this and verifies it solves the issue.
@MrAlias
The text was updated successfully, but these errors were encountered: