DynamoRIO / DynamoRIO/dynamorio

Check whether is_client can be replaced by is_top_level_client

Open
#6,982 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 18h
Merged PRs (30d)
30

Description

It is currently unclear whether `is_client` is or should be set for extension libraries as well as top-level clients. The code should be audited to see exactly how that flag is used, and perhaps `is_client` and `is_top_level_client` could be merged.

There is an attempt to set `is_client` in `privload_process_imports()` but the condition `impmod->base == get_dynamorio_dll_start()` is never true at that point because the check is inside `if (privload_lookup(name) == NULL)` and `libdynamorio.so` is already loaded.

See #6976.

Contributor guide

Open the contributing guide

Research direction

The issue names privload_process_imports() and privload_lookup() as entry points; trace how is_client and is_top_level_client are read and set, including extension-library paths. Compare the findings with #6976 and document whether the flags can be merged, accounting for the unreachable condition described in the issue. Done means an evidence-backed decision and identified behavior or test changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
devtools, operating-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.