From 9fbd772e8b64ff0c8c90bdfb86237aefa530a06c Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Fri, 24 Jan 2025 17:08:36 +0100 Subject: pkg/vminfo: remove Context from the constructor The context is assumed to be passed into the function doing the actual processing. Refactor vminfo to follow this approach. This will help refactor pkg/rpcserver later. --- pkg/rpcserver/local.go | 2 +- pkg/rpcserver/rpcserver.go | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'pkg/rpcserver') diff --git a/pkg/rpcserver/local.go b/pkg/rpcserver/local.go index 5faa8334b..4ab8827ae 100644 --- a/pkg/rpcserver/local.go +++ b/pkg/rpcserver/local.go @@ -48,7 +48,7 @@ func RunLocal(cfg *LocalConfig) error { cfg: cfg, setupDone: make(chan bool), } - serv := newImpl(cfg.Context, &cfg.Config, ctx) + serv := newImpl(&cfg.Config, ctx) if err := serv.Listen(); err != nil { return err } diff --git a/pkg/rpcserver/rpcserver.go b/pkg/rpcserver/rpcserver.go index 9d259b733..003c5f4b9 100644 --- a/pkg/rpcserver/rpcserver.go +++ b/pkg/rpcserver/rpcserver.go @@ -153,7 +153,7 @@ func New(cfg *RemoteConfig) (Server, error) { if !cfg.Experimental.RemoteCover { features &= ^flatrpc.FeatureExtraCoverage } - return newImpl(context.Background(), &Config{ + return newImpl(&Config{ Config: vminfo.Config{ Target: cfg.Target, VMType: cfg.Type, @@ -180,11 +180,11 @@ func New(cfg *RemoteConfig) (Server, error) { }, cfg.Manager), nil } -func newImpl(ctx context.Context, cfg *Config, mgr Manager) *server { +func newImpl(cfg *Config, mgr Manager) *server { // Note that we use VMArch, rather than Arch. We need the kernel address ranges and bitness. sysTarget := targets.Get(cfg.Target.OS, cfg.VMArch) cfg.Procs = min(cfg.Procs, prog.MaxPids) - checker := vminfo.New(ctx, &cfg.Config) + checker := vminfo.New(&cfg.Config) baseSource := queue.DynamicSource(checker) return &server{ cfg: cfg, @@ -372,7 +372,9 @@ func checkRevisions(a *flatrpc.ConnectRequest, target *prog.Target) error { } func (serv *server) runCheck(info *flatrpc.InfoRequest) error { - enabledCalls, disabledCalls, features, checkErr := serv.checker.Run(info.Files, info.Features) + // TODO: take context as a parameter. + enabledCalls, disabledCalls, features, checkErr := serv.checker.Run(context.Background(), + info.Files, info.Features) enabledCalls, transitivelyDisabled := serv.target.TransitivelyEnabledCalls(enabledCalls) // Note: need to print disbled syscalls before failing due to an error. // This helps to debug "all system calls are disabled". -- cgit mrf-deployment