Skip to content

Patch vdso#1951

Merged
sporksmith merged 3 commits intoshadow:mainfrom
sporksmith:vdso
Mar 16, 2022
Merged

Patch vdso#1951
sporksmith merged 3 commits intoshadow:mainfrom
sporksmith:vdso

Conversation

@sporksmith
Copy link
Copy Markdown
Contributor

@sporksmith sporksmith commented Mar 4, 2022

Overwrite the VDSO functions at run-time to call the syscall function, which we already intercept via LD_PRELOAD. This directly fixes #1091, which in turn allows us to simulate time in golang programs (fixing #1948). It also appears to fix #1932 .

@github-actions github-actions bot added Component: Build Build/install tools and dependencies Component: Libraries Support functions like LD_PRELOAD and logging Component: Testing Unit and integration tests and frameworks labels Mar 4, 2022
@sporksmith sporksmith added this to the Support for golang milestone Mar 4, 2022
@sporksmith sporksmith force-pushed the vdso branch 2 times, most recently from e141ab3 to c54931a Compare March 15, 2022 19:13
@sporksmith sporksmith changed the title wip patch vdso Patch vdso Mar 15, 2022
@sporksmith sporksmith marked this pull request as ready for review March 15, 2022 19:36
@sporksmith sporksmith requested a review from stevenengler March 15, 2022 19:36
@sporksmith sporksmith merged commit 0de1144 into shadow:main Mar 16, 2022
@sporksmith sporksmith deleted the vdso branch March 16, 2022 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Component: Build Build/install tools and dependencies Component: Libraries Support functions like LD_PRELOAD and logging Component: Testing Unit and integration tests and frameworks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Failing to intercept time in golang golang programs crash with heavy goroutine scheduling Make functions in the Linux vdso file interposable

2 participants