diff options
| author | Joey Jiao <quic_jiangenj@quicinc.com> | 2024-07-01 10:45:10 +0800 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-07-03 08:00:41 +0000 |
| commit | d819d4df2ae41917fefc7f25a0bcb8a7d3573c25 (patch) | |
| tree | 4df3c1fc2dde1ff07af33272ca2d37d8b949290e /pkg/rpcserver | |
| parent | 9dde10367399d3f211ebc68b4b3c8fa8ba718917 (diff) | |
all: calc kaslr offset and remove kaslr_offset from module addr
Diffstat (limited to 'pkg/rpcserver')
| -rw-r--r-- | pkg/rpcserver/rpcserver.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/pkg/rpcserver/rpcserver.go b/pkg/rpcserver/rpcserver.go index 0cb1e05a9..b6b660e6a 100644 --- a/pkg/rpcserver/rpcserver.go +++ b/pkg/rpcserver/rpcserver.go @@ -17,6 +17,7 @@ import ( "time" "github.com/google/syzkaller/pkg/cover" + "github.com/google/syzkaller/pkg/cover/backend" "github.com/google/syzkaller/pkg/flatrpc" "github.com/google/syzkaller/pkg/fuzzer/queue" "github.com/google/syzkaller/pkg/log" @@ -41,7 +42,8 @@ type Config struct { PrintMachineCheck bool Procs int Slowdown int - PCBase uint64 + pcBase uint64 + localModules []*cover.KernelModule } type Manager interface { @@ -86,6 +88,10 @@ func New(cfg *mgrconfig.Config, mgr Manager, debug bool) (*Server, error) { 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 { return nil, err @@ -114,7 +120,8 @@ func New(cfg *mgrconfig.Config, mgr Manager, debug bool) (*Server, error) { PrintMachineCheck: true, Procs: cfg.Procs, Slowdown: cfg.Timeouts.Slowdown, - PCBase: pcBase, + pcBase: pcBase, + localModules: modules, }, mgr) } @@ -302,6 +309,7 @@ func (serv *Server) handshake(conn *flatrpc.Conn) (string, []byte, *cover.Canoni infoReq.Error = err.Error() } } + modules = backend.FixModules(serv.cfg.localModules, modules, serv.cfg.pcBase) if infoReq.Error != "" { log.Logf(0, "machine check failed: %v", infoReq.Error) serv.checkFailures++ |
