diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2024-07-04 10:09:11 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2024-07-04 14:15:28 +0000 |
| commit | 87735313feed904c37a0650a70ade96294f3b997 (patch) | |
| tree | 46450158e25eda5d6ab8d4841d56e51bb4e2206c /pkg | |
| parent | 5da12e0a343fb6aecdbba2831bbac00c61e54710 (diff) | |
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.
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/rpcserver/rpcserver.go | 19 |
1 files changed, 12 insertions, 7 deletions
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 { |
