From 87735313feed904c37a0650a70ade96294f3b997 Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Thu, 4 Jul 2024 10:09:11 +0200 Subject: pkg/rpcserver: tolerate the kernel directory absence For fuzzing, we don't strictly need the kernel directory or the kernel object file. We just need a disk/kernel image. --- pkg/rpcserver/rpcserver.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'pkg') diff --git a/pkg/rpcserver/rpcserver.go b/pkg/rpcserver/rpcserver.go index d9efb9d0d..d6a94094b 100644 --- a/pkg/rpcserver/rpcserver.go +++ b/pkg/rpcserver/rpcserver.go @@ -84,13 +84,18 @@ type Server struct { } func New(cfg *mgrconfig.Config, mgr Manager, debug bool) (*Server, error) { - pcBase, err := cover.GetPCBase(cfg) - if err != nil { - return nil, err - } - modules, err := backend.DiscoverModules(cfg.SysTarget, cfg.KernelObj, cfg.ModuleObj) - if err != nil { - return nil, err + var modules []*cover.KernelModule + var pcBase uint64 + if cfg.KernelObj != "" { + var err error + pcBase, err = cover.GetPCBase(cfg) + if err != nil { + return nil, err + } + modules, err = backend.DiscoverModules(cfg.SysTarget, cfg.KernelObj, cfg.ModuleObj) + if err != nil { + return nil, err + } } sandbox, err := flatrpc.SandboxToFlags(cfg.Sandbox) if err != nil { -- cgit mrf-deployment